1#ifndef __OSCILLATOR_CHIC_H__
2#define __OSCILLATOR_CHIC_H__
92 template <typename Propagator>
Oscillation calculation engine (CUDAProb3, ProbGPU, Prob3++, etc.) implementation agnostic base class...
Definition OscProbCalcerBase.h:18
Oscillation calculation engine for linear propagation in CHIC.
Definition OscProbCalcer_CHIC.h:15
std::unique_ptr< CHIC > chic_nu
CHIC propagator for neutrinos.
Definition OscProbCalcer_CHIC.h:114
void CalculateProbabilities() final
Calculate some oscillation probabilities for a particular oscillation parameter set.
Definition OscProbCalcer_CHIC.cpp:134
int GetNCosineZ()
Auxiliary function to handle ignored cosineZ cases.
Definition OscProbCalcer_CHIC.cpp:150
OscProbCalcerCHIC(std::string ConfigName_)
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
Definition OscProbCalcer_CHIC.h:30
OscProbCalcerCHIC(YAML::Node Config_)
Default constructor.
Definition OscProbCalcer_CHIC.cpp:7
std::unique_ptr< CHIC > chic_nubar
CHIC propagator for antineutrinos.
Definition OscProbCalcer_CHIC.h:119
long DefineWeightArraySize() final
Define the size of fWeightArray.
Definition OscProbCalcer_CHIC.cpp:159
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_CHIC.cpp:154
OscParams
Definition of oscillation parameters which are expected in this CHIC implementation.
Definition OscProbCalcer_CHIC.h:104
@ kDM23
Definition OscProbCalcer_CHIC.h:104
@ kNOscParams
Definition OscProbCalcer_CHIC.h:104
@ kDCP
Definition OscProbCalcer_CHIC.h:104
@ kTH13
Definition OscProbCalcer_CHIC.h:104
@ kDM12
Definition OscProbCalcer_CHIC.h:104
@ kTH23
Definition OscProbCalcer_CHIC.h:104
@ kTH12
Definition OscProbCalcer_CHIC.h:104
virtual ~OscProbCalcerCHIC()
Destructor.
Definition OscProbCalcer_CHIC.cpp:41
std::unique_ptr< CHICEARTH > chicearth_nubar
CHICEARTH propagator for antineutrinos (atmospheric)
Definition OscProbCalcer_CHIC.h:129
double fDetDepth
Double storing the detector depth in km.
Definition OscProbCalcer_CHIC.h:140
void CalculateProbabilitiesBeam()
Calculate oscillation probabilities using Beam.
Definition OscProbCalcer_CHIC.cpp:77
void SetupPropagator() final
Setup CHIC specific variables.
Definition OscProbCalcer_CHIC.cpp:45
void CalculateProbabilitiesAtm()
Calculate oscillation probabilities using ATM.
Definition OscProbCalcer_CHIC.cpp:110
void SetPMNSParameters(Propagator *p)
CHIC doesn't have cool inheritance so we need to use template to avoid copy pasting.
Definition OscProbCalcer_CHIC.cpp:65
std::unique_ptr< CHICEARTH > chicearth_nu
CHICEARTH propagator for neutrinos (atmospheric)
Definition OscProbCalcer_CHIC.h:124
NuType
Define the neutrino and antineutrino values expected by this implementation.
Definition OscProbCalcer_CHIC.h:109
@ Nu
Definition OscProbCalcer_CHIC.h:109
@ Nubar
Definition OscProbCalcer_CHIC.h:109
std::string fPremName
Name of earth model implemented in CHIC.
Definition OscProbCalcer_CHIC.h:135