![]() |
NuOscillator
|
Oscillation calculation engine for propagation in OscProb. More...
#include <OscProbCalcer_OscProb.h>
Public Types | |
| enum | OscParams { kTH12 , kTH23 , kTH13 , kDM12 , kDM23 , kDCP , kNOscParams } |
| Definition of oscillation parameters which are expected in this ProbGPU implementation. Base parameters for standard 3x3 oscillation matrix, works as is for PMNS_Fast class DetDepth is the detector depth and is expected in km. More... | |
| enum | OscParams_Sterile1 { kTH14 = kNOscParams , kTH24 , kTH34 , kDM14 , kDelta14 , kDelta24 , kNOscParams_Sterile1 } |
| Definition of extra oscillation parameters for PMNS_Sterile class with 1 additional neutrino kTHij -> mixing angle between states i and j kDeltaij -> CP violating phase between states i and j kDM1j -> mass squared difference between states 1 and j in eV^2. More... | |
| enum | OscParams_Sterile2 { kTH15 = kNOscParams_Sterile1 , kTH25 , kTH35 , kTH45 , kDM15 , kDelta15 , kDelta25 , kDelta35 , kNOscParams_Sterile2 } |
| Definition of extra oscillation parameters for PMNS_Sterile class with 2 additional neutrinos kTHij -> mixing angle between states i and j kDeltaij -> CP violating phase between states i and j kDM1j -> mass squared difference between states 1 and j in eV^2. More... | |
| enum | OscParams_Sterile3 { kTH16 = kNOscParams_Sterile2 , kTH26 , kTH36 , kTH46 , kTH56 , kDM16 , kDelta16 , kDelta26 , kDelta36 , kDelta46 , kNOscParams_Sterile3 } |
| Definition of extra oscillation parameters for PMNS_Sterile class with 3 additional neutrinos kTHij -> mixing angle between states i and j kDeltaij -> CP violating phase between states i and j kDM1j -> mass squared difference between states 1 and j in eV^2. More... | |
| enum | OscParams_Decay { kAlpha2 = kNOscParams , kAlpha3 , kNOscParams_Decay } |
| Definition of extra oscillation parameters for PMNS_Decay class kAlpha2 = m2/tau2, mass and lifetime of the 2nd state in the restframe, must be positive and units are eV^2 kAlpha3 = m3/tau3, mass and lifetime of the 3rd state in the restframe, must be positive and units are eV^2. More... | |
| enum | OscParams_Deco { kGamma21 = kNOscParams , kGamma31 , kDecoAngle , kPower , kNOscParams_Deco } |
| Definition of extra oscillation parameters for PMNS_Deco class kGamma21 decoherence parameter between mass states 1 and 2 kGamma31 decoherence parameter between mass states 3 and 1 kDecoAngle decoherence angle kPower power index of decoherence energy dependence. More... | |
| enum | OscParams_NSI { kEps_ee = kNOscParams , kEps_emu , kEps_etau , kEps_mumu , kEps_mutau , kEps_tautau , kDelta_emu , kDelta_etau , kDelta_mutau , kElecCoup , kUpCoup , kDownCoup , kNOscParams_NSI } |
| Definition of extra oscillation parameters for PMNS_NSI class kEps quantity reprensenting the intensity of NSI wrt standard matter effects between the different flavours kDelta complex phases between the different flavours (non diag elements kElecCoup electron coupling kUpCoup u-quark coupling kDownCoup d-quark coupling. More... | |
| enum | OscParams_SNSI { kLightMass = kNOscParams_NSI , kNOscParams_SNSI } |
| Definition of extra oscillation parameters for PMNS_SNSI class (scalar non standard interactions) Takes class PMNS_NSI as base with all parameters associated to it kLightMass mass of lightest neutrino WARNING : kEps expected in units of 1/mass^2 in MeV^-2 and not dimensionless like for PMNS_NSI. More... | |
| enum | OscParams_Iter { kPrec = kNOscParams , kNOscParams_Iter } |
| Definition of extra oscillation parameters for PMNS_Iter class kPrec defines precision of the iterative method. More... | |
| enum | OscParams_NUNM { kAlpha11 = kNOscParams , kAlpha21 , kAlpha31 , kAlpha22 , kAlpha32 , kAlpha33 , kPhi21 , kPhi31 , kPhi32 , kFracVnc , kNOscParams_NUNM } |
| Definition of extra oscillation parameters for PMNS_NUNM class (non unitary neutrino mixing) kAlphaij quantify deviation from unitary wrt standard mixing between states i and j kPhiij complex phases for non diagonal elements between states i and j kFracVnc fraction of matter potential affecting NC. More... | |
| enum | OscParams_LIV { kaT_ee_3 = kNOscParams , kaT_emu_3 , kaT_etau_3 , kaT_mumu_3 , kaT_mutau_3 , kaT_tautau_3 , kDelta_emu_3 , kDelta_etau_3 , kDelta_mutau_3 , kcT_ee_4 , kcT_emu_4 , kcT_etau_4 , kcT_mumu_4 , kcT_mutau_4 , kcT_tautau_4 , kDelta_emu_4 , kDelta_etau_4 , kDelta_mutau_4 , kaT_ee_5 , kaT_emu_5 , kaT_etau_5 , kaT_mumu_5 , kaT_mutau_5 , kaT_tautau_5 , kDelta_emu_5 , kDelta_etau_5 , kDelta_mutau_5 , kcT_ee_6 , kcT_emu_6 , kcT_etau_6 , kcT_mumu_6 , kcT_mutau_6 , kcT_tautau_6 , kDelta_emu_6 , kDelta_etau_6 , kDelta_mutau_6 , kaT_ee_7 , kaT_emu_7 , kaT_etau_7 , kaT_mumu_7 , kaT_mutau_7 , kaT_tautau_7 , kDelta_emu_7 , kDelta_etau_7 , kDelta_mutau_7 , kcT_ee_8 , kcT_emu_8 , kcT_etau_8 , kcT_mumu_8 , kcT_mutau_8 , kcT_tautau_8 , kDelta_emu_8 , kDelta_etau_8 , kDelta_mutau_8 , kNOscParams_LIV } |
| Definition of extra oscillation parameters for PMNS_LIV class (Lorentz Invariance Violation) kaT_j LIV coefficient of dimension j between 2 neutrino flavors with j = 3, 5 or 7 kcT_j LIV coefficient of dimension j between 2 neutrino flavors with j = 4, 6 or 8 kDelta_j complex phase between 2 neutrino flavors for non diag element with dimension j. More... | |
| enum | OscParams_SiderealLIV { aT_ee_X = kNOscParams , aT_ee_Y , aT_ee_Z , aT_emu_X , aT_emu_Y , aT_emu_Z , aT_etau_X , aT_etau_Y , aT_etau_Z , aT_mumu_X , aT_mumu_Y , aT_mumu_Z , aT_mutau_X , aT_mutau_Y , aT_mutau_Z , aT_tautau_X , aT_tautau_Y , aT_tautau_Z , cT_ee_XX , cT_ee_XY , cT_ee_XZ , cT_ee_YY , cT_ee_YZ , cT_ee_ZZ , cT_emu_XX , cT_emu_XY , cT_emu_XZ , cT_emu_YY , cT_emu_YZ , cT_emu_ZZ , cT_etau_XX , cT_etau_XY , cT_etau_XZ , cT_etau_YY , cT_etau_YZ , cT_etau_ZZ , cT_mumu_XX , cT_mumu_XY , cT_mumu_XZ , cT_mumu_YY , cT_mumu_YZ , cT_mumu_ZZ , cT_mutau_XX , cT_mutau_XY , cT_mutau_XZ , cT_mutau_YY , cT_mutau_YZ , cT_mutau_ZZ , cT_tautau_XX , cT_tautau_XY , cT_tautau_XZ , cT_tautau_YY , cT_tautau_YZ , cT_tautau_ZZ , kLatitude , kLongitude , kAltitude , kZenith , kAzimuth , kSiderealTime , kOscParams_SiderealLIV } |
| Extra oscillation parameters for PMNS_SiderealLIV class. More... | |
| enum | OscParams_OQS { kA1 = kNOscParams , kA2 , kA3 , kA4 , kA5 , kA6 , kA7 , kA8 , kTheta12 , kTheta13 , kTheta14 , kTheta15 , kTheta16 , kTheta17 , kTheta18 , kTheta23 , kTheta24 , kTheta25 , kTheta26 , kTheta27 , kTheta28 , kTheta34 , kTheta35 , kTheta36 , kTheta37 , kTheta38 , kTheta45 , kTheta46 , kTheta47 , kTheta48 , kTheta56 , kTheta57 , kTheta58 , kTheta67 , kTheta68 , kTheta78 , kPower_OQS , kNOscParams_OQS } |
| Definition of extra oscillation parameters for PMNS_OQS class (Open Quantum System decoherence model) kA_i Magnitude of decoherence vector component a_i in the Gell-Mann basis, with i = 1,...,8. These correspond to kTheta_ij Cosine of the angle between decoherence vectors a_i and a_j, kPower_OQS power index of decoherence energy dependence. More... | |
| enum | NuType { Nu =1 , Nubar =-1 } |
| Define the neutrino and antineutrino values expected by this implementation. More... | |
| enum | PMNSMatrix { kFast , kPMNSSterile1 , kPMNSSterile2 , kPMNSSterile3 , kDecay , kDeco , kNSI , kSNSI , kIter , kNUNM , kLIV , kOQS , kSiderealLIV } |
| Different types of PMNS matrices currently supported within the analysis LIV and SNSI still to be implemented at some point. More... | |
Public Member Functions | |
| OscProbCalcerOscProb (YAML::Node Config_) | |
| Default constructor. | |
| OscProbCalcerOscProb (std::string ConfigName_) | |
| Constructor which takes a file path, creates a YAML::Node and calls the default constructor. | |
| virtual | ~OscProbCalcerOscProb () |
| Destructor. | |
| void | SetupPropagator () final |
| Setup Earth model. | |
| void | CalculateProbabilities () final |
| Calculate some oscillation probabilities for a particular oscillation parameter set. | |
| void | CalcProbPMNS () |
| Calculate some oscillation probabilities for a particular oscillation parameter set. | |
| void | SetPath (int iCosineZ) |
| Set the neutrino path for a given cosine value. | |
| 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 oscillation channel, energy and cosine zenith. | |
| long | DefineWeightArraySize () final |
| Define the size of fWeightArray. | |
| int | PMNS_StrToInt (const std::string &PMNSType) |
| Return the PMNS Matrix type corresponding to a particular string. | |
| void | SetOscParams () |
| Return number of parameters needed for a particular type of PMNS matrix. | |
| OscProb::PMNS_Base * | GetPMNSObj () |
| Return a new instance of the appropriate PMNS object given OscType. | |
| void | SetPMNSParams () |
| Set parameters for PMNS_Base. | |
| void | SetSterileParams () |
| Set parameters for PMNS_Sterile. | |
| void | SetDecayParams () |
| Set parameters for PMNS_Decay. | |
| void | SetDecoParams () |
| Set parameters for PMNS_Deco. | |
| void | SetNSIParams () |
| Set parameters for PMNS_NSI and/or PMNS_SNSI. | |
| void | SetIterParams () |
| Set parameters for PMNS_Iter. | |
| void | SetNUNMParams () |
| Set parameters for PMNS_NUNM. | |
| void | SetLIVParams () |
| Set parameters for PMNS_LIV. | |
| void | SetSiderealLIVParams () |
| Set parameters for PMNS_SiderealLIV. | |
| void | SetOQSParams () |
| Set parameters for PMNS_OQS. | |
| int | GetNCosineZ () |
| Auxiliary function to handle ignored cosineZ cases. | |
Public Member Functions inherited from OscProbCalcerBase | |
| virtual | ~OscProbCalcerBase () |
| Destructor. | |
| void | SetEnergyArray (std::vector< FLOAT_T > EnergyArray) |
| Define the Energy which will be used when calculating the oscillation probabilities. | |
| void | SetCosineZArray (std::vector< FLOAT_T > CosineZArray) |
| Define the CosineZ which will be used when calculating the oscillation probabilities. | |
| const FLOAT_T * | ReturnPointerToWeight (int InitNuFlav, int FinalNuFlav, FLOAT_T Energy, FLOAT_T CosineZ=DUMMYVAL) |
| Return pointer to the weight array for a specific Energy and CosineZ. | |
| void | Reweight () |
| General function used to call the oscillation probability calculation. | |
| void | DefineParameter (const std::string &ParName, FLOAT_T *ParValue) |
| Function to register an oscillation parameter name and pointer to a value that will be used when calculating the oscillation probabilities. | |
| void | Reweight (const std::vector< FLOAT_T > &OscParams_) |
| Legacy implementation function of Reweight() | |
| void | Setup () |
| General function used to setup all variables used within the reweighting. | |
| bool | SanityCheck () |
| Ensures that the specific implementation has been correctly initialised. | |
| void | PrintWeights () |
| Print the calculated oscillation probabilities. | |
| void | PrintKnownOscillationChannels () |
| Print the oscillation channels which a particular instance has been configured with. | |
| bool | HasOscillationChannel (int GeneratedFlavour, int DetectedFlavour) |
| Check whether a particular oscillation channel has been configured in a particular instance of OscProbCalcerBase::OscProbCalcerBase() | |
| int | ReturnNOscParams () |
| Return the number of oscillation parameters the specific implementation expects. | |
| std::vector< NuOscillator::OscillationChannel > | ReturnOscChannels () |
| Return the oscillation channels the specific implementation expects. | |
| std::vector< int > | ReturnNeutrinoTypes () |
| Return the neutrino types the specific implementation expects. | |
| std::vector< FLOAT_T > | ReturnOscParamsCurr () |
| Return the oscillation parameters which were used for the last calculation. | |
| int | ReturnNEnergyPoints () |
| Return the number of Energy points which are being used by the specific instance of OscProbCalcerBase::OscProbCalcerBase() | |
| int | ReturnNCosineZPoints () |
| Return the number of CosineZ points which are being used by the specific instance of OscProbCalcerBase::OscProbCalcerBase() | |
| std::vector< FLOAT_T > | ReturnEnergyArray () |
| Return the vector of Energy points which are being used by the specific instance of OscProbCalcerBase::OscProbCalcerBase() | |
| std::vector< FLOAT_T > | ReturnCosineZArray () |
| Return the vector of CosineZ points which are being used by the specific instance of OscProbCalcerBase::OscProbCalcerBase() | |
| std::string | ReturnImplementationName () |
| Return the specific implementation name. | |
| bool | ReturnCosineZIgnored () |
| Return a boolean which describes whether the specific implementation cares about CosineZ. | |
| int | ReturnNWeights () |
| Return the number of oscillation probabilities that are being calculated. | |
| std::vector< FLOAT_T > | ReturnWeightArray () |
| Return the vector of oscillation probabilites which have been calculated. | |
| std::vector< NuOscillator::OscillationProbability > | ReturnProbabilities () |
| Return vector of oscillation probabilities with associated neutrin type, oscillation channel, Energy and CosineZ. | |
| bool | ReturnHasSetEnergyArray () |
| Return whether the instance of OscProbCalcerBase() has already been assigned the Energy binning. | |
| bool | ReturnHasSetCosineZArray () |
| Return whether the instance of OscProbCalcerBase() has already been assigned the CosineZ binning. | |
| int | ReturnNuTypeFromFlavour (int NuFlav) |
| Return the index in fNeutrinoTypes for a particular neutrino flavour (neutrino or antineutrino) | |
| void | PrintOscParamsCurr () |
| Print current oscillation parameters. | |
Public Attributes | |
| int | fOscType |
| Define the type for the PMNS matrix. | |
Private Attributes | |
| OscProb::PremModel | fPremModel |
| Object handling the Earth model and the estimation of neutrino paths through the Earth depending on their direction Paths used by PMNS objects for neutrino propagation Earth model implemented as succession of spherical shells with uniform density. | |
| std::string | fPremFile |
| String storing the path of the density table file used to setup the Earth model. | |
| double | fDetDepth |
| Double storing the detector depth in km. | |
| int | fMaxGenFlavour |
| Maximum generated flavour for ProbMatrix calculation. | |
| int | fMaxDetFlavour |
| Maximum detected flavour for ProbMatrix calculation. | |
| OscProb::PMNS_Base * | fPMNSObj |
| Pointer to generic PMNS object. | |
Additional Inherited Members | |
Protected Member Functions inherited from OscProbCalcerBase | |
| OscProbCalcerBase (YAML::Node InputConfig_) | |
| Default constructor. | |
| OscProbCalcerBase (std::string ConfigName_) | |
| Wrapper Construct. | |
| void | IgnoreCosineZBinning (bool Ignore) |
| Some implementations don't care about the CosineZ values, so this is a method to set fCosineZArraySet to true in those cases. | |
| bool | AreOscParamsChanged () |
| Check whether the oscillation parameters have changed since their previous value. | |
| void | SetCurrOscParams () |
| Save the oscillation parameters which have been requested. | |
| void | ResetCurrOscParams () |
| (Re-)Initialise the saved oscillation parameters in fOscParamsCurr | |
| void | InitialiseNeutrinoTypesArray (int Size) |
| Initialise the fNeutrinoTypes mapping array to a particular size with dummy values. | |
| void | InitialiseOscillationChannelMapping () |
| Read the [OscProbCalcerSetup][Implementation][OscChannelMapping] YAML node and configure fOscillationChannels. | |
| void | CheckNuFlavourMapping () |
| Check that the NuType/NuFlav mapping is set correctly based on the inputs from the particular implementation. | |
| void | IntialiseWeightArray () |
| Initialise the array in which the oscillation probabilities will be stored with dummy values. | |
| void | SanitiseProbabilities () |
| Ensure that the oscillation probabilities are within [0.,1.] range, if not throw error. | |
| int | ReturnCosineZIndexFromValue (FLOAT_T CosineZVal) |
| Return the index in fCosineZArray for a particular value of CosineZ. If it's not found, throws an error. | |
| int | ReturnEnergyIndexFromValue (FLOAT_T EnergyVal) |
| Return the index in fEnergyArray for a particular value of Energy. If it's not found, throws an error. | |
| int | ReturnOscChannelIndexFromFlavours (int InitNuFlav, int FinalNuFlav) |
| Loop through fOscillationChannels and determine which index corresponds to the requested flavours. | |
| void | SetExpectedParameterNames (const std::vector< std::string > &ExpectedOscParNames_) |
| Define the list of parameter names that a particular instance of OscProbCalcer expects. | |
| void | PrintExpectedParameterNames () |
| Print the expected parameter names. | |
| FLOAT_T | GetOscillationParameter (int Index) |
| Return the value of the oscillation parameter associated with the index. | |
| void | CheckOscillationParametersDefined () |
| Check that all the expected oscillation parameters have been assigned a value. | |
Protected Attributes inherited from OscProbCalcerBase | |
| int | fNNeutrinoTypes |
| The number of neutrino types (neutrino and antineutrino) | |
| std::vector< int > | fNeutrinoTypes |
| The mapping of neutrino types to uniquely defined integers (i.e. index) | |
| int | fNOscillationChannels |
| The number of oscillation channels which have been configured. | |
| std::vector< NuOscillator::OscillationChannel > | fOscillationChannels |
| The mapping of oscillation channels which have been requested from the YAML config. | |
| int | fNEnergyPoints |
| The number of Energy points which are being evaluated by the oscillation probability engine. | |
| int | fNCosineZPoints |
| The number of CosineZ points which are being evaluated by the oscillation probability engine. | |
| std::vector< FLOAT_T > | fEnergyArray |
| The vector of Energy values being evaluated by the oscillation probability engine. | |
| std::vector< FLOAT_T > | fCosineZArray |
| The vector of CosineZ values being evaluated by the oscillation probability engine. | |
| int | fNWeights |
| The number of oscillation probabilities being calculated. | |
| std::vector< FLOAT_T > | fWeightArray |
| Vector which stores the oscillation probabilities. | |
| int | fVerbose |
| Define the verbosity of the console output. | |
| std::string | fImplementationName |
| Define the implementation name - Can be used for recasting later (similar to TObject::InheritsFrom() etc.) | |
| bool | fCosineZIgnored |
| Flag to define whether the CosineZ binning has been ignored in the specific implementation. | |
| YAML::Node | Config |
| YAML Config object used to get runtime specific variables. | |
Oscillation calculation engine for propagation in OscProb.
Definition of extra oscillation parameters for PMNS_Decay class kAlpha2 = m2/tau2, mass and lifetime of the 2nd state in the restframe, must be positive and units are eV^2 kAlpha3 = m3/tau3, mass and lifetime of the 3rd state in the restframe, must be positive and units are eV^2.
| Enumerator | |
|---|---|
| kAlpha2 | |
| kAlpha3 | |
| kNOscParams_Decay | |
Definition of extra oscillation parameters for PMNS_Deco class kGamma21 decoherence parameter between mass states 1 and 2 kGamma31 decoherence parameter between mass states 3 and 1 kDecoAngle decoherence angle kPower power index of decoherence energy dependence.
| Enumerator | |
|---|---|
| kGamma21 | |
| kGamma31 | |
| kDecoAngle | |
| kPower | |
| kNOscParams_Deco | |
Definition of extra oscillation parameters for PMNS_LIV class (Lorentz Invariance Violation) kaT_j LIV coefficient of dimension j between 2 neutrino flavors with j = 3, 5 or 7 kcT_j LIV coefficient of dimension j between 2 neutrino flavors with j = 4, 6 or 8 kDelta_j complex phase between 2 neutrino flavors for non diag element with dimension j.
Definition of extra oscillation parameters for PMNS_NSI class kEps quantity reprensenting the intensity of NSI wrt standard matter effects between the different flavours kDelta complex phases between the different flavours (non diag elements kElecCoup electron coupling kUpCoup u-quark coupling kDownCoup d-quark coupling.
| Enumerator | |
|---|---|
| kEps_ee | |
| kEps_emu | |
| kEps_etau | |
| kEps_mumu | |
| kEps_mutau | |
| kEps_tautau | |
| kDelta_emu | |
| kDelta_etau | |
| kDelta_mutau | |
| kElecCoup | |
| kUpCoup | |
| kDownCoup | |
| kNOscParams_NSI | |
Definition of extra oscillation parameters for PMNS_NUNM class (non unitary neutrino mixing) kAlphaij quantify deviation from unitary wrt standard mixing between states i and j kPhiij complex phases for non diagonal elements between states i and j kFracVnc fraction of matter potential affecting NC.
| Enumerator | |
|---|---|
| kAlpha11 | |
| kAlpha21 | |
| kAlpha31 | |
| kAlpha22 | |
| kAlpha32 | |
| kAlpha33 | |
| kPhi21 | |
| kPhi31 | |
| kPhi32 | |
| kFracVnc | |
| kNOscParams_NUNM | |
Definition of extra oscillation parameters for PMNS_OQS class (Open Quantum System decoherence model) kA_i Magnitude of decoherence vector component a_i in the Gell-Mann basis, with i = 1,...,8. These correspond to kTheta_ij Cosine of the angle between decoherence vectors a_i and a_j, kPower_OQS power index of decoherence energy dependence.
Extra oscillation parameters for PMNS_SiderealLIV class.
The sidereal LIV coefficients are defined in the Sun-centered celestial frame. A-type coefficients have one spatial index:
A^{X,Y,Z}_{alpha beta}
C-type coefficients have two spatial indices:
C^{XY}_{alpha beta}
Flavour indices: e = 0 mu = 1 tau = 2
Additional parameters define detector location, neutrino direction, and sidereal time.
Definition of extra oscillation parameters for PMNS_SNSI class (scalar non standard interactions) Takes class PMNS_NSI as base with all parameters associated to it kLightMass mass of lightest neutrino WARNING : kEps expected in units of 1/mass^2 in MeV^-2 and not dimensionless like for PMNS_NSI.
| Enumerator | |
|---|---|
| kLightMass | |
| kNOscParams_SNSI | |
Definition of extra oscillation parameters for PMNS_Sterile class with 1 additional neutrino kTHij -> mixing angle between states i and j kDeltaij -> CP violating phase between states i and j kDM1j -> mass squared difference between states 1 and j in eV^2.
| Enumerator | |
|---|---|
| kTH14 | |
| kTH24 | |
| kTH34 | |
| kDM14 | |
| kDelta14 | |
| kDelta24 | |
| kNOscParams_Sterile1 | |
Definition of extra oscillation parameters for PMNS_Sterile class with 2 additional neutrinos kTHij -> mixing angle between states i and j kDeltaij -> CP violating phase between states i and j kDM1j -> mass squared difference between states 1 and j in eV^2.
| Enumerator | |
|---|---|
| kTH15 | |
| kTH25 | |
| kTH35 | |
| kTH45 | |
| kDM15 | |
| kDelta15 | |
| kDelta25 | |
| kDelta35 | |
| kNOscParams_Sterile2 | |
Definition of extra oscillation parameters for PMNS_Sterile class with 3 additional neutrinos kTHij -> mixing angle between states i and j kDeltaij -> CP violating phase between states i and j kDM1j -> mass squared difference between states 1 and j in eV^2.
| Enumerator | |
|---|---|
| kTH16 | |
| kTH26 | |
| kTH36 | |
| kTH46 | |
| kTH56 | |
| kDM16 | |
| kDelta16 | |
| kDelta26 | |
| kDelta36 | |
| kDelta46 | |
| kNOscParams_Sterile3 | |
| OscProbCalcerOscProb::OscProbCalcerOscProb | ( | YAML::Node | Config_ | ) |
Default constructor.
| Config_ | YAML::Node to setup the OscProbCalcerOscProb() instance |
|
inline |
Constructor which takes a file path, creates a YAML::Node and calls the default constructor.
| ConfigName_ | File path to config |
|
virtual |
Destructor.
| void OscProbCalcerOscProb::CalcProbPMNS | ( | ) |
Calculate some oscillation probabilities for a particular oscillation parameter set.
Calculator oscillation probabilities with any PMNS object. This function both calculates and stores the oscillation probabilities in fWeightArray.
|
finalvirtual |
Calculate some oscillation probabilities for a particular oscillation parameter set.
Calls particular version of CalcProbPMNS depending on PMNS type
Implements OscProbCalcerBase.
|
finalvirtual |
Define the size of fWeightArray.
This is implementation specific because because NuFAST is setup to calculate all oscillation channels together, whilst others calculate only a single oscillation channel.
Implements OscProbCalcerBase.
| int OscProbCalcerOscProb::GetNCosineZ | ( | ) |
Auxiliary function to handle ignored cosineZ cases.
| OscProb::PMNS_Base * OscProbCalcerOscProb::GetPMNSObj | ( | ) |
Return a new instance of the appropriate PMNS object given OscType.
| int OscProbCalcerOscProb::PMNS_StrToInt | ( | const std::string & | PMNSType | ) |
Return the PMNS Matrix type corresponding to a particular string.
| PMNSType | String to convert to enum value |
|
finalvirtual |
Return implementation specific index in the weight array for a specific combination of neutrino oscillation channel, energy and cosine zenith.
| NuTypeIndex | The index in fNeutrinoTypes (neutrino/antinuetrino) to return the pointer for |
| OscChanIndex | The index in fOscillationChannels to return the pointer for |
| EnergyIndex | The index in fEnergyArray to return the pointer for |
| CosineZIndex | The index in fCosineZArray to return the pointer for |
Implements OscProbCalcerBase.
| void OscProbCalcerOscProb::SetDecayParams | ( | ) |
Set parameters for PMNS_Decay.
| void OscProbCalcerOscProb::SetDecoParams | ( | ) |
Set parameters for PMNS_Deco.
| void OscProbCalcerOscProb::SetIterParams | ( | ) |
Set parameters for PMNS_Iter.
| void OscProbCalcerOscProb::SetLIVParams | ( | ) |
Set parameters for PMNS_LIV.
| void OscProbCalcerOscProb::SetNSIParams | ( | ) |
Set parameters for PMNS_NSI and/or PMNS_SNSI.
| void OscProbCalcerOscProb::SetNUNMParams | ( | ) |
Set parameters for PMNS_NUNM.
| void OscProbCalcerOscProb::SetOQSParams | ( | ) |
Set parameters for PMNS_OQS.
| void OscProbCalcerOscProb::SetOscParams | ( | ) |
Return number of parameters needed for a particular type of PMNS matrix.
| void OscProbCalcerOscProb::SetPath | ( | int | iCosineZ | ) |
Set the neutrino path for a given cosine value.
Uses PremModel unless Linear OscMode, in which case a fixed baseline is used
| iCosineZ | the index of the zenith bin (0 for Linear) |
| void OscProbCalcerOscProb::SetPMNSParams | ( | ) |
Set parameters for PMNS_Base.
Set parameters for classes which inherits from PMNS_Base
| void OscProbCalcerOscProb::SetSiderealLIVParams | ( | ) |
Set parameters for PMNS_SiderealLIV.
| void OscProbCalcerOscProb::SetSterileParams | ( | ) |
Set parameters for PMNS_Sterile.
|
finalvirtual |
Setup Earth model.
Implements OscProbCalcerBase.
|
private |
Double storing the detector depth in km.
|
private |
Maximum detected flavour for ProbMatrix calculation.
|
private |
Maximum generated flavour for ProbMatrix calculation.
| int OscProbCalcerOscProb::fOscType |
Define the type for the PMNS matrix.
|
private |
Pointer to generic PMNS object.
|
private |
String storing the path of the density table file used to setup the Earth model.
|
private |
Object handling the Earth model and the estimation of neutrino paths through the Earth depending on their direction Paths used by PMNS objects for neutrino propagation Earth model implemented as succession of spherical shells with uniform density.