NuOscillator
Loading...
Searching...
No Matches
OscProbCalcer_NuFASTLinear.h
Go to the documentation of this file.
1#ifndef __OSCILLATOR_NUFASTLINEAR_H__
2#define __OSCILLATOR_NUFASTLINEAR_H__
3
4#include "OscProbCalcerBase.h"
5
14 public:
15
21 OscProbCalcerNuFASTLinear(YAML::Node Config_);
22
28 OscProbCalcerNuFASTLinear(std::string ConfigName_) : OscProbCalcerNuFASTLinear(YAML::LoadFile(ConfigName_)) {}
29
34
35 // ========================================================================================================================================================================
36 // Functions which need implementation specific code
37
41 void SetupPropagator() override;
42
49 void CalculateProbabilities() override;
50
61 int ReturnWeightArrayIndex(int NuTypeIndex, int OscNuIndex, int EnergyIndex, int CosineZIndex=-1) override;
62
70 long DefineWeightArraySize() override;
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
92
93};
94
95#endif
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_NuFASTLinear.h:13
OscParams
Definition of oscillation parameters which are expected in this ProbGPU implementation.
Definition OscProbCalcer_NuFASTLinear.h:81
@ kDM12
Definition OscProbCalcer_NuFASTLinear.h:81
@ kTH23
Definition OscProbCalcer_NuFASTLinear.h:81
@ kDM23
Definition OscProbCalcer_NuFASTLinear.h:81
@ kELECDENS
Definition OscProbCalcer_NuFASTLinear.h:81
@ kPATHL
Definition OscProbCalcer_NuFASTLinear.h:81
@ kDCP
Definition OscProbCalcer_NuFASTLinear.h:81
@ kNOscParams
Definition OscProbCalcer_NuFASTLinear.h:81
@ kTH12
Definition OscProbCalcer_NuFASTLinear.h:81
@ kDENS
Definition OscProbCalcer_NuFASTLinear.h:81
@ kTH13
Definition OscProbCalcer_NuFASTLinear.h:81
long DefineWeightArraySize() override
Define the size of fWeightArray.
Definition OscProbCalcer_NuFASTLinear.cpp:107
NuType
Define the neutrino and antineutrino values expected by this implementation.
Definition OscProbCalcer_NuFASTLinear.h:86
@ Nubar
Definition OscProbCalcer_NuFASTLinear.h:86
@ Nu
Definition OscProbCalcer_NuFASTLinear.h:86
int N_Newton
Define the number of newton iterations used within calculation.
Definition OscProbCalcer_NuFASTLinear.h:91
void CalculateProbabilities() override
Calculate some oscillation probabilities for a particular oscillation parameter set.
Definition OscProbCalcer_NuFASTLinear.cpp:53
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_NuFASTLinear.cpp:102
OscProbCalcerNuFASTLinear(std::string ConfigName_)
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
Definition OscProbCalcer_NuFASTLinear.h:28
OscProbCalcerNuFASTLinear(YAML::Node Config_)
Default constructor.
Definition OscProbCalcer_NuFASTLinear.cpp:11
virtual ~OscProbCalcerNuFASTLinear()
Destructor.
Definition OscProbCalcer_NuFASTLinear.cpp:46
void SetupPropagator() override
Setup NuFAST specific variables.
Definition OscProbCalcer_NuFASTLinear.cpp:50