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

#include <OscCalculatorPMNSOpt.h>

Inheritance diagram for osc::OscCalculatorPMNSOpt:
osc::IOscCalculatorAdjustable osc::IOscCalculator

Public Member Functions

 OscCalculatorPMNSOpt ()
 
virtual ~OscCalculatorPMNSOpt ()
 
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)
 
virtual TMD5 * GetParamsHash () const override
 
- 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 ()
 

Protected Attributes

PMNSOpt fPMNSOpt
 
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 OscCalculatorPMNSOpt.h.

Constructor & Destructor Documentation

osc::OscCalculatorPMNSOpt::OscCalculatorPMNSOpt ( )
osc::OscCalculatorPMNSOpt::~OscCalculatorPMNSOpt ( )
virtual

Definition at line 13 of file OscCalculatorPMNSOpt.cxx.

14  {
15  }

Member Function Documentation

virtual TMD5* osc::OscCalculatorPMNSOpt::GetParamsHash ( ) const
inlineoverridevirtual

Reimplemented from osc::IOscCalculator.

Definition at line 33 of file OscCalculatorPMNSOpt.h.

34  {
36  }
TMD5 * GetParamsHashDefault(const std::string &txt) const
double osc::OscCalculatorPMNSOpt::P ( int  flavBefore,
int  flavAfter,
double  E 
)
virtual

Implements osc::IOscCalculator.

Definition at line 17 of file OscCalculatorPMNSOpt.cxx.

18  {
19  const int anti = (flavBefore > 0) ? +1 : -1;
20  assert(flavAfter/anti > 0);
21  if(anti != fPrevAnti) fPropDirty = true;
22 
23  int i = -1, j = -1;
24  if(abs(flavBefore) == 12) i = 0;
25  if(abs(flavBefore) == 14) i = 1;
26  if(abs(flavBefore) == 16) i = 2;
27  if(abs(flavAfter) == 12) j = 0;
28  if(abs(flavAfter) == 14) j = 1;
29  if(abs(flavAfter) == 16) j = 2;
30  assert(i >= 0 && j >= 0);
31 
32  if(fMixDirty){
34  fMixDirty = false;
35  }
36  if(fDmDirty){
38  fDmDirty = false;
39  }
40 
41 
43  // Assume Z/A=0.5
44  const double Ne = fRho/2;
45  fPMNSOpt.PropMatter(fL, E, Ne, anti);
46  return fPMNSOpt.P(j);
47  }
virtual void PropMatter(double L, double E, double Ne, int anti=1)
virtual double P(int flv) const
virtual void ResetToFlavour(int flv=1)
T abs(T value)
virtual void SetMix(double th12, double th23, double th13, double deltacp)
virtual void SetDeltaMsqrs(double dm21, double dm32)
virtual void osc::OscCalculatorPMNSOpt::SetdCP ( double  dCP)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetDmsq21 ( double  dmsq21)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetDmsq32 ( double  dmsq32)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetL ( double  L)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetRho ( double  rho)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetTh12 ( double  th12)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetTh13 ( double  th13)
inlinevirtual
virtual void osc::OscCalculatorPMNSOpt::SetTh23 ( double  th23)
inlinevirtual

Member Data Documentation

bool osc::OscCalculatorPMNSOpt::fDmDirty
protected

Definition at line 41 of file OscCalculatorPMNSOpt.h.

bool osc::OscCalculatorPMNSOpt::fMixDirty
protected

Definition at line 40 of file OscCalculatorPMNSOpt.h.

PMNSOpt osc::OscCalculatorPMNSOpt::fPMNSOpt
protected

Definition at line 38 of file OscCalculatorPMNSOpt.h.

int osc::OscCalculatorPMNSOpt::fPrevAnti
protected

Definition at line 44 of file OscCalculatorPMNSOpt.h.

double osc::OscCalculatorPMNSOpt::fPrevE
protected

Definition at line 43 of file OscCalculatorPMNSOpt.h.

bool osc::OscCalculatorPMNSOpt::fPropDirty
protected

Definition at line 42 of file OscCalculatorPMNSOpt.h.


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