1 #ifndef OSCCALCULATOR_H 2 #define OSCCALCULATOR_H 30 double P(
int flavBefore,
int flavAfter,
double E)
override;
32 double P_me(
double E,
bool antinu=
false);
33 double P_mm(
double E,
bool antinu=
false);
34 double P_mt(
double E,
bool antinu=
false);
35 double P_ee(
double E,
bool antinu=
false);
36 double P_em(
double E,
bool antinu=
false);
37 double P_et(
double E,
bool antinu=
false);
38 double P_te(
double E,
bool antinu=
false);
39 double P_tm(
double E,
bool antinu=
false);
40 double P_tt(
double E,
bool antinu=
false);
42 double P_null(
double,
bool) {
return 0; }
61 TF1 *
GetTF1(
int flavBefore,
int flavAfter);
75 void UpdateEDep(
double E,
bool antinu,
bool fliptime);
double P_mt(double E, bool antinu=false)
double P_tm(double E, bool antinu=false)
double P_ee(double E, bool antinu=false)
double P_internal_te(double E, bool antinu, bool fliptime)
void SetdCP(const double &dCP) override
void SetTh23(const double &th23) override
double P_te(double E, bool antinu=false)
double P_internal_me(double E, bool antinu, bool fliptime)
double P_tt(double E, bool antinu=false)
void SetL(double L) override
TMD5 * GetParamsHashDefault(const std::string &txt) const
This is only a safe implementation if your calculator only depends on these eight parameters...
double P_me(double E, bool antinu=false)
static constexpr double L
void SetTh13(const double &th13) override
double P_et(double E, bool antinu=false)
void UpdateEDep(double E, bool antinu, bool fliptime)
double P_null(double, bool)
void SetRho(double rho) override
TF1 * GetTF1(int flavBefore, int flavAfter)
void SetTh12(const double &th12) override
Oscillation probability calculators.
virtual T P(int flavBefore, int flavAfter, double E)=0
E in GeV; flavors as PDG codes (so, neg==>antinu)
double P_internal_ee(double E, bool antinu, bool fliptime)
void SetDmsq21(const double &dmsq21) override
void SetDmsq32(const double &dmsq32) override
double P_em(double E, bool antinu=false)
virtual IOscCalcAdjustable * Copy() const override
double P_wrapper(double *x, double *p)
double P(int flavBefore, int flavAfter, double E) override
E in GeV; flavors as PDG codes (so, neg==>antinu)
double P_internal_mt(double E, bool antinu, bool fliptime)
virtual TMD5 * GetParamsHash() const override
Use to check two calculators are in the same state.
double P_mm(double E, bool antinu=false)