OscCalculatorGeneral.h
Go to the documentation of this file.
1 #ifndef OSCCALCULATORGENERAL_H
2 #define OSCCALCULATORGENERAL_H
3 
4 #include "OscLib/func/IOscCalculator.h"
5 
6 namespace osc
7 {
8 
10  {
11  public:
13  virtual ~OscCalculatorGeneral();
14 
15  // Baseline in km
16  virtual void SetL(double L) {fL = L;}
17  // Density in g/cm^3
18  virtual void SetRho(double rho) {fRho = rho;}
19  // in eV^2
20  virtual void SetDmsq21(double dmsq21) {fDmsq21 = dmsq21;}
21  // This is a signed quantity, use a negative value for inverted hierarchy
22  virtual void SetDmsq32(double dmsq32) {fDmsq32 = dmsq32;}
23  // In radians
24  virtual void SetTh12(double th12);
25  virtual void SetTh13(double th13);
26  virtual void SetTh23(double th23);
27  virtual void SetdCP(double dCP);
28 
29  void SetNSIEpsilonMuTau(double emutau) {fEMuTau = emutau;}
30  double GetNSIEpsilonMuTau() const {return fEMuTau;}
31 
32  virtual double P(int from, int to, double E);
33 
34  virtual TMD5* GetParamsHash() const override
35  {
36  // Default isn't good enough if we need to consider NSI
37  if(fEMuTau) return 0;
39  }
40 
41  struct Priv;
42  protected:
43  Priv* const d;
44 
45  double fEMuTau;
46 
47  private:
50  };
51 
52 } // end namespace
53 
54 #endif
virtual void SetDmsq32(double dmsq32)
virtual void SetRho(double rho)
TMD5 * GetParamsHashDefault(const std::string &txt) const
virtual void SetTh13(double th13)
OscCalculatorGeneral & operator=(const OscCalculatorGeneral &)
virtual double P(int from, int to, double E)
virtual void SetTh23(double th23)
virtual void SetdCP(double dCP)
virtual void SetDmsq21(double dmsq21)
virtual void SetL(double L)
Definition: EarthModel.h:12
virtual TMD5 * GetParamsHash() const override
void SetNSIEpsilonMuTau(double emutau)
virtual void SetTh12(double th12)