NuOscillator
Loading...
Searching...
No Matches
OscProbCalcer_GLoBESLinear.h
Go to the documentation of this file.
1#ifndef __OSCILLATOR_GLOBESLINEAR_H__
2#define __OSCILLATOR_GLOBESLINEAR_H__
3
4#include "OscProbCalcerBase.h"
5
14 public:
15
21 OscProbCalcerGLoBESLinear(YAML::Node Config_);
22
28 OscProbCalcerGLoBESLinear(std::string ConfigName_) : OscProbCalcerGLoBESLinear(YAML::LoadFile(ConfigName_)) {}
29
34
35 // ========================================================================================================================================================================
36 // Functions which need implementation specific code
37
41 void SetupPropagator() final;
42
49 void CalculateProbabilities() final;
50
61 int ReturnWeightArrayIndex(int NuTypeIndex, int OscNuIndex, int EnergyIndex, int CosineZIndex=-1) final;
62
70 long DefineWeightArraySize() final;
71
72 // ========================================================================================================================================================================
73 // Functions which help setup implementation specific code
74
75 // ========================================================================================================================================================================
76 // Variables which are needed for implementation specific code
77
82
86 enum NuType{Nu=1,Nubar=-1};
87};
88
89#endif
Oscillation calculation engine (CUDAProb3, ProbGPU, Prob3++, etc.) implementation agnostic base class...
Definition OscProbCalcerBase.h:18
Oscillation calculation engine for linear propagation in GLoBES.
Definition OscProbCalcer_GLoBESLinear.h:13
int ReturnWeightArrayIndex(int NuTypeIndex, int OscNuIndex, int EnergyIndex, int CosineZIndex=-1) final
Return implementation specific index in the weight array for a specific combination of neutrino oscil...
Definition OscProbCalcer_GLoBESLinear.cpp:88
virtual ~OscProbCalcerGLoBESLinear()
Destructor.
Definition OscProbCalcer_GLoBESLinear.cpp:29
void CalculateProbabilities() final
Calculate some oscillation probabilities for a particular oscillation parameter set.
Definition OscProbCalcer_GLoBESLinear.cpp:38
void SetupPropagator() final
Setup GLoBES specific variables.
Definition OscProbCalcer_GLoBESLinear.cpp:33
OscProbCalcerGLoBESLinear(YAML::Node Config_)
Default constructor.
Definition OscProbCalcer_GLoBESLinear.cpp:13
long DefineWeightArraySize() final
Define the size of fWeightArray.
Definition OscProbCalcer_GLoBESLinear.cpp:93
OscParams
Definition of oscillation parameters which are expected in this ProbGPU implementation.
Definition OscProbCalcer_GLoBESLinear.h:81
@ kTH12
Definition OscProbCalcer_GLoBESLinear.h:81
@ kPATHL
Definition OscProbCalcer_GLoBESLinear.h:81
@ kNOscParams
Definition OscProbCalcer_GLoBESLinear.h:81
@ kDM12
Definition OscProbCalcer_GLoBESLinear.h:81
@ kTH13
Definition OscProbCalcer_GLoBESLinear.h:81
@ kTH23
Definition OscProbCalcer_GLoBESLinear.h:81
@ kDENS
Definition OscProbCalcer_GLoBESLinear.h:81
@ kDCP
Definition OscProbCalcer_GLoBESLinear.h:81
@ kDM23
Definition OscProbCalcer_GLoBESLinear.h:81
OscProbCalcerGLoBESLinear(std::string ConfigName_)
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
Definition OscProbCalcer_GLoBESLinear.h:28
NuType
Define the neutrino and antineutrino values expected by this implementation.
Definition OscProbCalcer_GLoBESLinear.h:86
@ Nubar
Definition OscProbCalcer_GLoBESLinear.h:86
@ Nu
Definition OscProbCalcer_GLoBESLinear.h:86