OscCalcSterileBeam.h
Go to the documentation of this file.
1 #ifndef OSC_OSCCALCULATORSTERILEBEAM_H
2 #define OSC_OSCCALCULATORSTERILEBEAM_H
3 
4 //////////////////////////////////////////////////////////////////////////
5 // //
6 // \file OscCalcSterileBeam.h //
7 // //
8 // Adapt the PMNS_Sterile calculator to standard interface //
9 // <aurisaam@ucmail.uc.edu> //
10 // <kasettisivaprasad@gmail.com> //
11 // //
12 //////////////////////////////////////////////////////////////////////////
13 
14 #include "OscLib/IOscCalc.h"
15 #include "OscLib/OscCalcSterile.h"
16 #include "OscLib/PMNS_Sterile.h"
17 
18 namespace osc
19 {
20  /// \brief Adapt the PMNS_Sterile calculator to standard interface
21  ///
22  /// Adapt the \ref PMNS_Sterile calculator (3+N with matter effects) to standard interface
23  class OscCalcSterileBeam: public OscCalcSterile //, public IOscCalcAdjustable
24  {
25  public:
26  using IOscCalc::P;
28  virtual ~OscCalcSterileBeam();
29 
31 
32  virtual IOscCalcAdjustable* Copy() const override;
33 
35 
36  virtual void SetKaonScale(double scale);
37  virtual void SetPionScale(double scale);
38  virtual void SetMuonScale(double scale);
39 
40  double GetKaonScale() const;
41  double GetPionScale() const;
42  double GetMuonScale() const;
43 
44  virtual TMD5* GetParamsHash() const override;
45 
46  protected:
47 
48  double fKaonscale;
49  double fPionscale;
50  double fMuonscale;
51 
52 /* PMNS_Sterile* fPMNS_Sterile;
53  int fNFlavors;
54  double fRho;
55  bool fDirty;
56  double fPrevE;
57  int fPrevAnti;
58  int fPrevFlavBefore;
59 */
60 
61  };
62 
65 
66 } // namespace
67 
68 #endif
virtual void SetPionScale(double scale)
virtual TMD5 * GetParamsHash() const override
Use to check two calculators are in the same state.
Adapt the PMNS_Sterile calculator to standard interface.
General interface to oscillation calculators.
Definition: StanTypedefs.h:22
virtual IOscCalcAdjustable * Copy() const override
Adapt the PMNS_Sterile calculator to standard interface.
virtual void SetMuonScale(double scale)
osc::OscCalcDumb calc
Double_t scale
Definition: plot.C:25
const OscCalcSterileBeam * DowncastToSterileBeam(const IOscCalc *calc)
Oscillation probability calculators.
Definition: Calcs.h:5
virtual void SetKaonScale(double scale)
virtual T P(int flavBefore, int flavAfter, double E)=0
E in GeV; flavors as PDG codes (so, neg==>antinu)
enum BeamMode string