40 assert(flavBefore*flavAfter > 0);
41 return ( (flavBefore > 0) ?
fCalc->
P(flavBefore, flavAfter, E)
42 :
fBarCalc->
P(flavBefore, flavAfter, E) );
207 if ( !(hash && barhash) )
214 TMD5*
ret =
new TMD5;
217 ret->Update( (
unsigned char*)hash->AsString(), 16);
218 ret->Update( (
unsigned char*)barhash->AsString(), 16);
224 ret->Update( (
unsigned char*)
"OscCalcCPT", 16);
235 assert( cpt &&
"Must use OscCalcCPT with CPT FitVars." );
242 assert( cpt &&
"Must use OscCalcCPT with CPT FitVars." );
void SetDmsq21(const double &dmsq21) override
virtual void SetL(double L)=0
virtual _IOscCalcAdjustable< T > * Copy() const =0
_OscCalcPMNSOpt< double > OscCalcPMNSOpt
const OscCalcCPT * DowncastToCPT(const IOscCalcAdjustable *osc)
void SetDmsq32(const double &dmsq32) override
double GetTh13() const override
virtual void SetDmsq21(const T &dmsq21)=0
double GetRho() const override
TMD5 * GetParamsHash() const override
Use to check two calculators are in the same state.
virtual double GetL() const
virtual void SetTh13(const T &th13)=0
virtual T GetTh23() const
virtual void SetDmsq32(const T &dmsq32)=0
IOscCalcAdjustable * Copy() const override
double GetL() const override
void SetTh12(const double &th12) override
IOscCalcAdjustable * fCalc
OscCalcCPT()
default, uses OscCalcPMNSOpt for sub-calculators
double GetTh23() const override
void SetTh13(const double &th13) override
void SetRho(double rho) override
double GetdCP() const override
static constexpr double L
std::map< const ana::SigmaDelta *, std::pair< double, double > > SDMap
double GetDmsq32() const override
void SetdCP(const double &dCP) override
virtual T GetDmsq32() const
virtual T GetTh12() const
ENuSign
Simple neutrino/anti-neutrino enum.
Oscillation probability calculators.
virtual TMD5 * GetParamsHash() const
Use to check two calculators are in the same state.
void SetTh23(const double &th23) override
virtual T GetTh13() const
virtual T P(int flavBefore, int flavAfter, double E)=0
E in GeV; flavors as PDG codes (so, neg==>antinu)
double GetDmsq21() const override
virtual T GetDmsq21() const
virtual void SetRho(double rho)=0
virtual void SetTh23(const T &th23)=0
void SetL(double L) override
assert(nhit_max >=nhit_nbins)
double P(int flavBefore, int flavAfter, double E) override
E in GeV; flavors as PDG codes (so, neg==>antinu)
double GetTh12() const override
virtual double GetRho() const
IOscCalcAdjustable * fBarCalc
virtual void SetTh12(const T &th12)=0
virtual void SetdCP(const T &dCP)=0