NuOscillator
Loading...
Searching...
No Matches
OscillatorBinned.h
Go to the documentation of this file.
1#ifndef __OSCILLATOR_BINNED_BASE_H__
2#define __OSCILLATOR_BINNED_BASE_H__
3
4#include "OscillatorBase.h"
5
17 public:
18
26 OscillatorBinned(std::string ConfigName_);
27
28 OscillatorBinned(YAML::Node Config_);
29
33 virtual ~OscillatorBinned();
34
35 // ========================================================================================================================================================================
36 // Public functions which are calculation implementation agnostic
37
51 const FLOAT_T* ReturnWeightPointer(int InitNuFlav, int FinalNuFlav, FLOAT_T EnergyVal, FLOAT_T CosineZVal=DUMMYVAL) final;
52
63 std::vector<FLOAT_T> ReturnBinEdgesForPlotting(bool ReturnEnergy) final;
64
65 // ========================================================================================================================================================================
66 // Public virtual functions which need calculater specific implementations
67
68 protected:
69
70 // ========================================================================================================================================================================
71 // Protected functions which are calculation implementation agnostic
72
73 // ========================================================================================================================================================================
74 // Protected virtual functions which are calculation implementation agnostic
75
76 // ========================================================================================================================================================================
77 // Basic protected variables required for oscillation probability calculation
78
79 private:
80
81 void Initialise();
82
83 // ========================================================================================================================================================================
84 // Basic private variables required for oscillation probability calculation
85
89 std::string FileName;
90
94 std::string EnergyAxisHistName;
95
100
104 std::vector<FLOAT_T> EnergyAxisBinEdges;
108 std::vector<FLOAT_T> CosineZAxisBinEdges;
112 std::vector<FLOAT_T> EnergyAxisBinCenters;
116 std::vector<FLOAT_T> CosineZAxisBinCenters;
117};
118
119#endif
float FLOAT_T
Definition OscillatorConstants.h:16
#define DUMMYVAL
Definition OscillatorConstants.h:4
Oscillation calculation (binned, unbinned, etc.) implementation agnostic base class.
Definition OscillatorBase.h:20
Binned Oscillation calculation implementation class.
Definition OscillatorBinned.h:16
const FLOAT_T * ReturnWeightPointer(int InitNuFlav, int FinalNuFlav, FLOAT_T EnergyVal, FLOAT_T CosineZVal=DUMMYVAL) final
Return a pointer to the oscillation probability for the requested event attributes.
Definition OscillatorBinned.cpp:51
std::vector< FLOAT_T > EnergyAxisBinEdges
A vector of Energy axis bin edges.
Definition OscillatorBinned.h:104
std::vector< FLOAT_T > CosineZAxisBinEdges
A vector of CosineZ axis bin edges.
Definition OscillatorBinned.h:108
std::vector< FLOAT_T > ReturnBinEdgesForPlotting(bool ReturnEnergy) final
Return a vector of bin edges used for oscillation probability plotting.
Definition OscillatorBinned.cpp:102
std::string CosineZAxisHistName
The name of the histogram which contains the CosineZ axis binning.
Definition OscillatorBinned.h:99
std::vector< FLOAT_T > CosineZAxisBinCenters
A vector of CosineZ axis bin centers.
Definition OscillatorBinned.h:116
std::string FileName
The FileName which the binning is read from.
Definition OscillatorBinned.h:89
OscillatorBinned(std::string ConfigName_)
Default constructor.
Definition OscillatorBinned.cpp:8
void Initialise()
Definition OscillatorBinned.cpp:16
virtual ~OscillatorBinned()
Destructor.
Definition OscillatorBinned.cpp:48
std::string EnergyAxisHistName
The name of the histogram which contains the Energy axis binning.
Definition OscillatorBinned.h:94
std::vector< FLOAT_T > EnergyAxisBinCenters
A vector of Energy axis bin centers.
Definition OscillatorBinned.h:112