52 virtual double GetHGM(
int i,
int j);
Base class for methods based on density matrices.
Implements neutrino oscillations using an open quantum system approach.
int fPower
Power-law index (n).
matrixD fHGM
Effective Hamiltonian in GMB (9x9).
vectorD fa
Dissipator parameters |a_i|.
vectorD fR
Initial state of density matrix in Gell-Mann basis.
virtual int GetPower()
Get the currently set power-law index for decoherence parameters.
virtual void SetDecoAngle(int i, int j, double th)
Set mixing angle between two decoherence parameters a_i, a_j.
virtual void SetDecoElement(int i, double val)
Set value of the a_i decoherence element in Gell-Mann basis.
bool fBuiltDissipator
Flag to rebuild dissipator.
virtual matrixD ProbMatrix(int nflvi, int nflvf)
Reimplemented from PMNS_DensityMatrix.
virtual void BuildR()
Build Gell-Mann representation of density matrix.
virtual void BuildM(NuPath p)
Build the matrix M used in evolution equations.
virtual void BuildHVMB(NuPath p)
Build effective Hamiltonian in Vacuum Mass Basis (VMB).
matrixD fD
Off-diagonal, 9x9 dissipator.
matrixC fHVMB
Effective Hamiltonian in VMB (3x3).
static constexpr int SU3_DIM
Dimension of the SU(3) Gell-Mann basis.
vectorD fRt
Time evolution of density matrix in Gell-Mann basis.
virtual void PropagatePath(NuPath p)
Reimplemented from PMNS_Base.
virtual void SetPower(int n)
virtual void SetIsNuBar(bool isNuBar)
Reimplemented from PMNS_Base.
virtual double GetDissipatorElement(int i, int j)
Get dissipator element in Gell-Mann basis.
virtual double GetHGM(int i, int j)
Get element i,j of the dissipator matrix in Gell-Mann basis.
virtual void UpdateRho()
Update density matrix from Gell-Mann representation.
virtual void BuildDissipator()
Build the dissipator in Gell-Mann representation.
virtual void Propagate()
Reimplemented from PMNS_Base.
virtual ~PMNS_OQS()
Destructor.
virtual void BuildHGM(NuPath p)
Build effective Hamiltonian in Gell-Mann representation (GM).
virtual void RotateState(bool to_mass)
Rotate rho to/from mass basis.
virtual void BuildHms()
Reimplemented from PMNS_Base.
matrixD fcos
cosines ai . aj
Eigen::MatrixXd fM
Buffer matrix for exponential.
virtual double GetDecoAngle(int i, int j)
Get mixing angle between two decoherence parameters a_i, a_j.
virtual double GetDecoElement(int i)
Get the value of the a_i decoherence parameter in Gell-Mann basis.
Some useful general definitions.
std::vector< double > vectorD
std::vector< vectorD > matrixD
std::vector< vectorC > matrixC
A struct representing a neutrino path segment.