NuOscillator
Loading...
Searching...
No Matches
OscProbCalcer_NuFASTEarth.h
Go to the documentation of this file.
1#ifndef __OSCILLATOR_NUFASTEARTH_H__
2#define __OSCILLATOR_NUFASTEARTH_H__
3
4#include "OscProbCalcerBase.h"
5
6#include "NuFastEarth.h"
7
16 public:
17
23 OscProbCalcerNuFASTEarth(YAML::Node Config_);
24
30 OscProbCalcerNuFASTEarth(std::string ConfigName_) : OscProbCalcerNuFASTEarth(YAML::LoadFile(ConfigName_)) {}
31
36
37 // ========================================================================================================================================================================
38 // Functions which need implementation specific code
39
43 void SetupPropagator() override;
44
51 void CalculateProbabilities() override;
52
63 int ReturnWeightArrayIndex(int NuTypeIndex, int OscNuIndex, int EnergyIndex, int CosineZIndex=-1) override;
64
72 long DefineWeightArraySize() override;
73
74 // ========================================================================================================================================================================
75 // Functions which help setup implementation specific code
76
77 // ========================================================================================================================================================================
78 // Variables which are needed for implementation specific code
79
84
88 enum NuType{Nu=1,Nubar=-1};
89
93 NuFast::Earth_Density* EarthDensity;
94
98 NuFast::Probability_Engine* ProbEngine;
99
104
109
113 std::string EarthModel;
114
119};
120
121#endif
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 propagation in NuFAST.
Definition OscProbCalcer_NuFASTEarth.h:15
int ReturnWeightArrayIndex(int NuTypeIndex, int OscNuIndex, int EnergyIndex, int CosineZIndex=-1) override
Return implementation specific index in the weight array for a specific combination of neutrino oscil...
Definition OscProbCalcer_NuFASTEarth.cpp:97
OscProbCalcerNuFASTEarth(YAML::Node Config_)
Default constructor.
Definition OscProbCalcer_NuFASTEarth.cpp:5
OscProbCalcerNuFASTEarth(std::string ConfigName_)
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
Definition OscProbCalcer_NuFASTEarth.h:30
NuType
Define the neutrino and antineutrino values expected by this implementation.
Definition OscProbCalcer_NuFASTEarth.h:88
@ Nu
Definition OscProbCalcer_NuFASTEarth.h:88
@ Nubar
Definition OscProbCalcer_NuFASTEarth.h:88
std::string EarthModel
Config option used to determine what object to initialise OscProbCalcer_NuFASTEarth::EarthDensity to ...
Definition OscProbCalcer_NuFASTEarth.h:113
int NUniformLayers
If Uniform Earth model option requested, this config option defines the number of discrete Earth laye...
Definition OscProbCalcer_NuFASTEarth.h:118
virtual ~OscProbCalcerNuFASTEarth()
Destructor.
Definition OscProbCalcer_NuFASTEarth.cpp:37
OscParams
Definition of oscillation parameters which are expected in this ProbGPU implementation.
Definition OscProbCalcer_NuFASTEarth.h:83
@ kTH13
Definition OscProbCalcer_NuFASTEarth.h:83
@ kTH12
Definition OscProbCalcer_NuFASTEarth.h:83
@ kDCP
Definition OscProbCalcer_NuFASTEarth.h:83
@ kNOscParams
Definition OscProbCalcer_NuFASTEarth.h:83
@ kPROD
Definition OscProbCalcer_NuFASTEarth.h:83
@ kDM23
Definition OscProbCalcer_NuFASTEarth.h:83
@ kTH23
Definition OscProbCalcer_NuFASTEarth.h:83
@ kDM12
Definition OscProbCalcer_NuFASTEarth.h:83
NuFast::Probability_Engine * ProbEngine
NuFAST Object which does the calculation.
Definition OscProbCalcer_NuFASTEarth.h:98
FLOAT_T DetectorDepth
Config option that defines depth of detector in km.
Definition OscProbCalcer_NuFASTEarth.h:103
NuFast::Earth_Density * EarthDensity
NuFAST Object that defines the Earth Model.
Definition OscProbCalcer_NuFASTEarth.h:93
long DefineWeightArraySize() override
Define the size of fWeightArray.
Definition OscProbCalcer_NuFASTEarth.cpp:102
int EigenValuePrecision
Config option that defines precision of calculation in number of Newton-Rapherson iterations (-1 for ...
Definition OscProbCalcer_NuFASTEarth.h:108
void CalculateProbabilities() override
Calculate some oscillation probabilities for a particular oscillation parameter set.
Definition OscProbCalcer_NuFASTEarth.cpp:64
void SetupPropagator() override
Setup NuFAST specific variables.
Definition OscProbCalcer_NuFASTEarth.cpp:42