1#ifndef __OSCILLATOR_CUDAPROB3_H__
2#define __OSCILLATOR_CUDAPROB3_H__
124 std::unique_ptr< cudaprob3::Propagator< FLOAT_T > >
propagator;
float FLOAT_T
Definition OscillatorConstants.h:16
Oscillation calculation engine (CUDAProb3, ProbGPU, Prob3++, etc.) implementation agnostic base class...
Definition OscProbCalcerBase.h:18
Oscillation calculation engine for linear and atmospheric propagation in CUDAProb3.
Definition OscProbCalcer_CUDAProb3.h:25
void CalculateProbabilities() final
Calculate some oscillation probabilities for a particular oscillation parameter set.
Definition OscProbCalcer_CUDAProb3.cpp:126
int CopyArrSize
Size of the array to be copied.
Definition OscProbCalcer_CUDAProb3.h:163
std::vector< int > OscChannels
The mapping of the oscillation channels defined in fOscillationChannels to the CUDAProb3 constants.
Definition OscProbCalcer_CUDAProb3.h:114
std::string ProductionHeightsFile
The name of the Production Heights file being used in a particular instance of OscProbCalcerCUDAProb3...
Definition OscProbCalcer_CUDAProb3.h:143
int nLayers
Number of Earth layers.
Definition OscProbCalcer_CUDAProb3.h:158
long DefineWeightArraySize() final
Define the size of fWeightArray.
Definition OscProbCalcer_CUDAProb3.cpp:185
bool UseEarthModelSystematics
Option to apply density model systematics in OscProbCalcerCUDAProb3()
Definition OscProbCalcer_CUDAProb3.h:153
std::vector< std::string > ProductionHeightsHistFlavourSuffixes
The flavour suffixes strings of the TH3Ds in ProductionHeightsFile, read from the configuration file ...
Definition OscProbCalcer_CUDAProb3.h:148
bool UseProductionHeightsAve
Option to use Production Heights averaging in a particular instance of OscProbCalcerCUDAProb3()
Definition OscProbCalcer_CUDAProb3.h:134
void ApplyEarthModelSystematics()
Apply a new set of parameters to set the density model of the Earth in CUDAProb3.
Definition OscProbCalcer_CUDAProb3.cpp:304
OscParams
Definition of oscillation parameters which are expected in this CUDAProb3 implementation.
Definition OscProbCalcer_CUDAProb3.h:104
@ kDM23
Definition OscProbCalcer_CUDAProb3.h:104
@ kPRODH
Definition OscProbCalcer_CUDAProb3.h:104
@ kTH13
Definition OscProbCalcer_CUDAProb3.h:104
@ kDM12
Definition OscProbCalcer_CUDAProb3.h:104
@ kTH12
Definition OscProbCalcer_CUDAProb3.h:104
@ kDCP
Definition OscProbCalcer_CUDAProb3.h:104
@ kTH23
Definition OscProbCalcer_CUDAProb3.h:104
@ kNOscParams
Definition OscProbCalcer_CUDAProb3.h:104
void SetupPropagator() final
Setup CUDAProb3 specific variables.
Definition OscProbCalcer_CUDAProb3.cpp:92
std::unique_ptr< cudaprob3::Propagator< FLOAT_T > > propagator
The instance of the CUDAProb3 Propagator being used in a particular instance of OscProbCalcerCUDAProb...
Definition OscProbCalcer_CUDAProb3.h:124
virtual ~OscProbCalcerCUDAProb3()
Destructor.
Definition OscProbCalcer_CUDAProb3.cpp:88
int ReturnWeightArrayIndex(int NuTypeIndex, int OscChanIndex, int EnergyIndex, int CosineZIndex=-1) final
Return implementation specific index in the weight array for a specific combination of neutrino oscil...
Definition OscProbCalcer_CUDAProb3.cpp:180
NuType
Define the neutrino and antineutrino values expected by this implementation.
Definition OscProbCalcer_CUDAProb3.h:109
@ Nu
Definition OscProbCalcer_CUDAProb3.h:109
@ Nubar
Definition OscProbCalcer_CUDAProb3.h:109
void SetProductionHeightsAveraging()
Set the variables needed to use the production heights averaging.
Definition OscProbCalcer_CUDAProb3.cpp:190
int nThreads
The number of threads being used to perform the calculation.
Definition OscProbCalcer_CUDAProb3.h:119
OscProbCalcerCUDAProb3(YAML::Node Config_)
Default constructor.
Definition OscProbCalcer_CUDAProb3.cpp:16
FLOAT_T * CopyArr
Pointer to the array used for copying oscillation probabilities.
Definition OscProbCalcer_CUDAProb3.h:168
std::string EarthDensityFile
The name of the Earth Density file being used in a particular instance of OscProbCalcerCUDAProb3()
Definition OscProbCalcer_CUDAProb3.h:129
OscProbCalcerCUDAProb3(std::string ConfigName_)
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
Definition OscProbCalcer_CUDAProb3.h:39
Definition OscProbCalcer_CUDAProb3.h:15
Includes specific to CUDAProb3 implementation.
Definition OscProbCalcer_CUDAProb3.h:15