Public Member Functions | Protected Attributes | List of all members
osc::OscCalculatorPMNS Class Reference

#include <OscCalculatorPMNS.h>

Inheritance diagram for osc::OscCalculatorPMNS:
osc::IOscCalculatorAdjustable osc::IOscCalculator

Public Member Functions

 OscCalculatorPMNS ()
 
virtual ~OscCalculatorPMNS ()
 
virtual double P (int flavBefore, int flavAfter, double E)
 
virtual void SetL (double L)
 
virtual void SetRho (double rho)
 
virtual void SetDmsq21 (double dmsq21)
 
virtual void SetDmsq32 (double dmsq32)
 
virtual void SetTh12 (double th12)
 
virtual void SetTh13 (double th13)
 
virtual void SetTh23 (double th23)
 
virtual void SetdCP (double dCP)
 
- Public Member Functions inherited from osc::IOscCalculatorAdjustable
virtual double GetL () const
 
virtual double GetRho () const
 
virtual double GetDmsq21 () const
 
virtual double GetDmsq32 () const
 
virtual double GetTh12 () const
 
virtual double GetTh13 () const
 
virtual double GetTh23 () const
 
virtual double GetdCP () const
 
- Public Member Functions inherited from osc::IOscCalculator
virtual ~IOscCalculator ()
 
virtual TMD5 * GetParamsHash () const
 

Protected Attributes

PMNS fPMNS
 
bool fMixDirty
 
bool fDmDirty
 
bool fPropDirty
 
double fPrevE
 
int fPrevAnti
 
- Protected Attributes inherited from osc::IOscCalculatorAdjustable
double fRho
 
double fL
 
double fDmsq21
 
double fDmsq32
 
double fTh12
 
double fTh13
 
double fTh23
 
double fdCP
 

Additional Inherited Members

- Protected Member Functions inherited from osc::IOscCalculatorAdjustable
TMD5 * GetParamsHashDefault (const std::string &txt) const
 

Detailed Description

Definition at line 16 of file OscCalculatorPMNS.h.

Constructor & Destructor Documentation

osc::OscCalculatorPMNS::OscCalculatorPMNS ( )

Definition at line 13 of file OscCalculatorPMNS.cxx.

osc::OscCalculatorPMNS::~OscCalculatorPMNS ( )
virtual

Definition at line 18 of file OscCalculatorPMNS.cxx.

19  {
20  }

Member Function Documentation

double osc::OscCalculatorPMNS::P ( int  flavBefore,
int  flavAfter,
double  E 
)
virtual

Implements osc::IOscCalculator.

Definition at line 22 of file OscCalculatorPMNS.cxx.

23  {
24  const int anti = (flavBefore > 0) ? +1 : -1;
25  assert(flavAfter/anti > 0);
26  if(anti != fPrevAnti) fPropDirty = true;
27 
28  int i = -1, j = -1;
29  if(abs(flavBefore) == 12) i = 0;
30  if(abs(flavBefore) == 14) i = 1;
31  if(abs(flavBefore) == 16) i = 2;
32  if(abs(flavAfter) == 12) j = 0;
33  if(abs(flavAfter) == 14) j = 1;
34  if(abs(flavAfter) == 16) j = 2;
35  assert(i >= 0 && j >= 0);
36 
37  if(fMixDirty){
39  fMixDirty = false;
40  }
41  if(fDmDirty){
43  fDmDirty = false;
44  }
45 
46  if(fPropDirty || E != fPrevE){
47  fPMNS.Reset();
48  // Assume Z/A=0.5
49  const double Ne = fRho/2;
50  fPMNS.PropMatter(fL, E, Ne, anti);
51 
52  fPropDirty = false;
53  fPrevE = E;
54  fPrevAnti = anti;
55  }
56 
57  return fPMNS.P(i, j);
58  }
void PropMatter(double L, double E, double Ne, int anti)
Definition: PMNS.cxx:432
T abs(T value)
void SetDeltaMsqrs(double dm21, double dm32)
Definition: PMNS.cxx:159
void SetMix(double th12, double th23, double th13, double deltacp)
Definition: PMNS.cxx:86
E
Definition: 018_def.c:13
double P(int i, int j) const
Definition: PMNS.cxx:519
void Reset()
Definition: PMNS.cxx:507
virtual void osc::OscCalculatorPMNS::SetdCP ( double  dCP)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 31 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetDmsq21 ( double  dmsq21)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 26 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetDmsq32 ( double  dmsq32)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 27 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetL ( double  L)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 24 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetRho ( double  rho)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 25 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetTh12 ( double  th12)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 28 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetTh13 ( double  th13)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 29 of file OscCalculatorPMNS.h.

virtual void osc::OscCalculatorPMNS::SetTh23 ( double  th23)
inlinevirtual

Implements osc::IOscCalculatorAdjustable.

Definition at line 30 of file OscCalculatorPMNS.h.

Member Data Documentation

bool osc::OscCalculatorPMNS::fDmDirty
protected

Definition at line 41 of file OscCalculatorPMNS.h.

bool osc::OscCalculatorPMNS::fMixDirty
protected

Definition at line 40 of file OscCalculatorPMNS.h.

PMNS osc::OscCalculatorPMNS::fPMNS
protected

Definition at line 38 of file OscCalculatorPMNS.h.

int osc::OscCalculatorPMNS::fPrevAnti
protected

Definition at line 44 of file OscCalculatorPMNS.h.

double osc::OscCalculatorPMNS::fPrevE
protected

Definition at line 43 of file OscCalculatorPMNS.h.

bool osc::OscCalculatorPMNS::fPropDirty
protected

Definition at line 42 of file OscCalculatorPMNS.h.


The documentation for this class was generated from the following files: