40 int flvi,
int flvf,
double E,
45 int flvi,
int flvf,
double LoE,
50 int flvi,
int flvf,
double E,
double cosT,
54 virtual double AvgProb(
int flvi,
int flvf,
double E,
double dE,
61 int flvi,
int flvf,
double LoE,
double dLoE,
double cosT,
68 int flvi,
int flvf,
double E,
73 int flvi,
int flvf,
double LoE,
78 int flvi,
int flvf,
double cosT,
90 virtual void SetCosT(
double cosT);
98 double E,
double cosT,
137 int flvi,
int flvf,
double dbin,
vectorD flambda,
142 int flvi,
int flvf,
double LoE,
double dLoE,
147 int flvi,
int flvf,
double E,
double cosT,
152 int flvi,
int flvf,
double InvE,
double dInvE,
double cosT,
168 int flvi,
int flvf,
double dbin,
vectorD flambda,
Implementation of oscillations of neutrinos in matter in a three-neutrino framework with a first orde...
double fdInvE
Bin's width for the inverse of energy in GeV-1.
vectorD flambdaCosT
Eigenvectors of K_cosTheta.
virtual double AvgProbLoE(int flvi, int flvf, double LoE, double dLoE)
matrixC fKflavor
K matrix in flavor basis for one layer.
virtual double ExtrapolationProbLoE(int flvi, int flvf, double LoE, double dLoE)
virtual double AvgAlgoCosT(int flvi, int flvf, double E, double cosT, double dcosT)
matrixC fVcosT
Eigenvalues of K_cosTheta.
virtual void SetwidthBin(double dE, double dcosT)
virtual void PropagateTaylor()
Propagate neutrino through full path.
virtual void PropagatePathTaylor(NuPath p)
Propagate neutrino through a single path.
virtual void rotateS()
Rotate the S matrix.
matrixC fevolutionMatrixS
matrixC fdensityMatrix
The neutrino density matrix state.
matrixC fVInvE
Eigenvalues of K_invE.
double fcosT
Cosine of neutrino angle.
double fdcosT
Bin's width for angle.
virtual void BuildKE(double L)
build K matrix for the inverse of energy in mass basis
virtual void rotateK()
Rotate one K matrix.
virtual void InitializeTaylorsVectors()
virtual double ExtrapolationProb(int flvi, int flvf, double E, double dE)
virtual void MultiplicationRuleK(complexD K[3][3])
Product between two K matrices.
virtual void SolveK(complexD K[3][3], vectorD &lambda, matrixC &V)
Solve the K matrix.
virtual void RotateDensityM(bool to_basis, matrixC V)
Apply rotation to the density matrix.
virtual void HadamardProduct(vectorD lambda, double dbin)
to the density matrix
virtual void MultiplicationRuleS()
Product between two S matrices.
virtual double AvgAlgo(int flvi, int flvf, double LoE, double dLoE, double L)
matrixC fSflavor
S matrix for one layer.
virtual vectorD GetSamplePoints(double LoE, double dLoE)
matrixC fKmass
K matrix in mass basis for one layer.
virtual double LnDerivative()
virtual double AvgFormulaExtrapolation(int flvi, int flvf, double dbin, vectorD flambda, matrixC fV)
Formula for the extrapolation of probability.
virtual void SetCosT(double cosT)
Set neutrino angle.
virtual double AvgFormula(int flvi, int flvf, double dbin, vectorD flambda, matrixC fV)
virtual void BuildKcosT(double L)
build K matrix for angle in flavor basis
virtual ~PMNS_Avg()
Destructor.
complexD fKcosT[3][3]
K matrix for neutrino angle for the entire path.
virtual double AlgorithmDensityMatrix(int flvi, int flvf)
virtual double ExtrapolationProbCosT(int flvi, int flvf, double cosT, double dcosT)
virtual void SetPremModel(OscProb::PremModel &prem)
virtual double AvgProb(int flvi, int flvf, double E, double dE)
vectorD flambdaInvE
Eigenvectors of K_invE.
Implementation of oscillations of neutrinos in matter in a three-neutrino framework.
Implements an earth model with spherical shells.
Some useful general definitions.
std::complex< double > complexD
std::vector< double > vectorD
std::vector< vectorC > matrixC
A struct representing a neutrino path segment.