1#ifndef __OSCILLATOR_NUSQUIDSLINEAR_H__
2#define __OSCILLATOR_NUSQUIDSLINEAR_H__
6#pragma GCC diagnostic push
7#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
8#include "nuSQuIDS/nuSQuIDS.h"
9#pragma GCC diagnostic pop
10#include "examples/Decoherence/nuSQUIDSDecoh.h"
11#include "examples/NSI/NSI.h"
12#include "examples/LV/LV.h"
88 void CalculateNuSQUIDS(nusquids::nuSQUIDS* base, nusquids::marray<
double,2>& inistate,
int& index_counter);
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 NuSQUIDS.
Definition OscProbCalcer_NuSQUIDSLinear.h:21
OscParams_PMNS
Definition of Standard Model oscillation parameters (same as BSM Non-Standard Interactions parameters...
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kNOscParams_PMNS
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kTH13
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kDCP
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kDENS
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kDM12
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kTH23
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kDM23
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kPATHL
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kTH12
Definition OscProbCalcer_NuSQUIDSLinear.h:99
@ kELECDENS
Definition OscProbCalcer_NuSQUIDSLinear.h:99
double rel_error
Declaration of the relative error.
Definition OscProbCalcer_NuSQUIDSLinear.h:184
double integration_step
Declaration of the integration step.
Definition OscProbCalcer_NuSQUIDSLinear.h:179
int nNeutrinoFlavours
Number of neutrino flavours considered in the analysis.
Definition OscProbCalcer_NuSQUIDSLinear.h:194
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_NuSQUIDSLinear.cpp:291
squids::Const units
Define a Const object for handling the units.
Definition OscProbCalcer_NuSQUIDSLinear.h:149
void SetupPropagator() final
Setup NuSQUIDS specific variables.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:85
OscProbCalcerNuSQUIDSLinear(YAML::Node Config_)
Default constructor.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:5
long DefineWeightArraySize() final
Define the size of fWeightArray.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:296
OscModels
Set enums corresponding to BSM model.
Definition OscProbCalcer_NuSQUIDSLinear.h:134
@ kNSI
Definition OscProbCalcer_NuSQUIDSLinear.h:134
@ kSM
Definition OscProbCalcer_NuSQUIDSLinear.h:134
@ kLIV
Definition OscProbCalcer_NuSQUIDSLinear.h:134
@ kDecoherence
Definition OscProbCalcer_NuSQUIDSLinear.h:134
std::string decoherence_model
Declaration of the string to choose the decoherence model.
Definition OscProbCalcer_NuSQUIDSLinear.h:164
FLOAT_T nsi_mutau_coupling
Declaration of the muon-neutrino to tau-neutrino coupling for the NSI computation.
Definition OscProbCalcer_NuSQUIDSLinear.h:174
void CalculateProbabilities() final
Calculate some oscillation probabilities for a particular oscillation parameter set.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:232
nusquids::nuSQUIDS * nus_base
Declaration of the NuSQUIDS base class object for neutrinos.
Definition OscProbCalcer_NuSQUIDSLinear.h:154
double abs_error
Declaration of the absolute error.
Definition OscProbCalcer_NuSQUIDSLinear.h:189
OscParams_Decoh
Definition of Standard Model oscillation parameters and additional parameters characterising the Beyo...
Definition OscProbCalcer_NuSQUIDSLinear.h:104
@ kNOscParams_Decoh
Definition OscProbCalcer_NuSQUIDSLinear.h:104
@ kEnergyDep
Definition OscProbCalcer_NuSQUIDSLinear.h:104
@ kEnergyStrength
Definition OscProbCalcer_NuSQUIDSLinear.h:104
@ kEnergyScale
Definition OscProbCalcer_NuSQUIDSLinear.h:104
nusquids::nuSQUIDSDecoh::DecoherenceModel nusquids_decoherence_model
Declaration of the NuSQUIDS BSM (Decoherence) model object.
Definition OscProbCalcer_NuSQUIDSLinear.h:169
void CalculateNuSQUIDS(nusquids::nuSQUIDS *base, nusquids::marray< double, 2 > &inistate, int &index_counter)
Extract oscillation probabilities form NuSQUIDS object.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:194
virtual ~OscProbCalcerNuSQUIDSLinear()
Destructor.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:80
OscParams_LIV
Definition of Standard Model oscillation parameters and additional parameters characterising the Beyo...
Definition OscProbCalcer_NuSQUIDSLinear.h:109
@ kEMuReal
Definition OscProbCalcer_NuSQUIDSLinear.h:109
@ kMuTauReal
Definition OscProbCalcer_NuSQUIDSLinear.h:109
@ kEnergyPower
Definition OscProbCalcer_NuSQUIDSLinear.h:109
@ kEMuImg
Definition OscProbCalcer_NuSQUIDSLinear.h:109
@ kMuTauImg
Definition OscProbCalcer_NuSQUIDSLinear.h:109
@ kNOscParams_LIV
Definition OscProbCalcer_NuSQUIDSLinear.h:109
int PMNS_StrToInt(const std::string &OscModel)
Return the PMNS Matrix type corresponding to a particular string.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:249
int fOscModel
Define the type for the PMNS matrix.
Definition OscProbCalcer_NuSQUIDSLinear.h:139
OscProbCalcerNuSQUIDSLinear(std::string ConfigName_)
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
Definition OscProbCalcer_NuSQUIDSLinear.h:36
NuType
Define the neutrino and antineutrino values expected by this implementation.
Definition OscProbCalcer_NuSQUIDSLinear.h:144
@ Nu
Definition OscProbCalcer_NuSQUIDSLinear.h:144
@ Nubar
Definition OscProbCalcer_NuSQUIDSLinear.h:144
nusquids::nuSQUIDS * nubars_base
Declaration of the NuSQUIDS base class object for anti-neutrinos.
Definition OscProbCalcer_NuSQUIDSLinear.h:159
void SetOscParams(nusquids::nuSQUIDS *base)
Set values of Osc parameters into NuSQUIDS object.
Definition OscProbCalcer_NuSQUIDSLinear.cpp:152