OscProb
PMNS_Deco.h
Go to the documentation of this file.
1
19
20#ifndef PMNS_Deco_H
21#define PMNS_Deco_H
22
23#include "PMNS_Fast.h"
24
25namespace OscProb {
26
27 class PMNS_Deco : public PMNS_Fast {
28 public:
29 PMNS_Deco();
30 virtual ~PMNS_Deco();
31
33 virtual void SetGamma(int j, double val);
34
36 virtual void SetGamma32(double val);
37
39 virtual void SetDecoAngle(double th);
40
42 virtual void SetPower(double n);
43
45 virtual double GetGamma(int i, int j);
46
48 virtual double GetDecoAngle();
49
51 virtual double GetPower();
52
55 virtual matrixD ProbMatrix(int nflvi, int nflvf);
56
57 protected:
58 // Resetting and propagating
59 virtual void ResetToFlavour(
60 int flv);
61 virtual void SetPureState(
62 vectorC nu_in);
63
64 virtual void PropagatePath(
65 NuPath p);
66
67 virtual double P(
68 int flv);
69
70 virtual void RotateState(bool to_mass);
71
72 double fGamma[3];
73 double fPower;
74
76
78 };
79
80} // namespace OscProb
81
82#endif
83
virtual matrixD ProbMatrix(int nflvi, int nflvf)
Compute the probability matrix.
Definition: PMNS_Base.cxx:1387
Implementation of oscillations of neutrinos in matter in a three-neutrino framework with decoherence.
Definition: PMNS_Deco.h:27
virtual void PropagatePath(NuPath p)
Propagate neutrino through a single path.
Definition: PMNS_Deco.cxx:300
double fPower
Stores the power index parameter.
Definition: PMNS_Deco.h:73
virtual void SetGamma32(double val)
Set the parameter.
Definition: PMNS_Deco.cxx:84
matrixC fMBuffer
Some memory buffer for matrix operations.
Definition: PMNS_Deco.h:77
virtual void SetDecoAngle(double th)
Set the decoherence angle.
Definition: PMNS_Deco.cxx:148
virtual void ResetToFlavour(int flv)
Reset neutrino state to pure flavour flv.
Definition: PMNS_Deco.cxx:356
virtual ~PMNS_Deco()
Destructor.
Definition: PMNS_Deco.cxx:40
virtual double GetDecoAngle()
Get the decoherence angle.
Definition: PMNS_Deco.cxx:167
virtual double GetGamma(int i, int j)
Get any given decoherence parameter.
Definition: PMNS_Deco.cxx:185
virtual matrixD ProbMatrix(int nflvi, int nflvf)
Definition: PMNS_Deco.cxx:421
PMNS_Deco()
Constructor.
Definition: PMNS_Deco.cxx:26
virtual void SetPureState(vectorC nu_in)
Set the density matrix from a pure state.
Definition: PMNS_Deco.cxx:396
virtual double GetPower()
Get the power index.
Definition: PMNS_Deco.cxx:173
virtual double P(int flv)
Return the probability of final state in flavour flv.
Definition: PMNS_Deco.cxx:384
virtual void RotateState(bool to_mass)
Rotate rho to/from mass basis.
Definition: PMNS_Deco.cxx:220
matrixC fRho
The neutrino density matrix state.
Definition: PMNS_Deco.h:75
virtual void SetGamma(int j, double val)
Set any given decoherence parameter.
Definition: PMNS_Deco.cxx:51
double fGamma[3]
Stores each decoherence parameter.
Definition: PMNS_Deco.h:72
virtual void SetPower(double n)
Set the power index.
Definition: PMNS_Deco.cxx:161
Implementation of oscillations of neutrinos in matter in a three-neutrino framework.
Definition: PMNS_Fast.h:40
Some useful general definitions.
Definition: Absorption.h:6
std::vector< complexD > vectorC
Definition: Definitions.h:22
std::vector< vectorD > matrixD
Definition: Definitions.h:19
std::vector< vectorC > matrixC
Definition: Definitions.h:23
A struct representing a neutrino path segment.
Definition: NuPath.h:34