NuOscillator
Loading...
Searching...
No Matches
OscillatorUnbinned Class Reference

Unbinned Oscillation calculation implementation class. More...

#include <OscillatorUnbinned.h>

Inheritance diagram for OscillatorUnbinned:
[legend]
Collaboration diagram for OscillatorUnbinned:
[legend]

Public Member Functions

 OscillatorUnbinned (std::string ConfigName_)
 Default constructor.
 
 OscillatorUnbinned (YAML::Node Config_)
 
virtual ~OscillatorUnbinned ()
 Destructor.
 
const FLOAT_T * ReturnWeightPointer (int InitNuFlav, int FinalNuFlav, FLOAT_T EnergyVal, FLOAT_T CosineZVal=DUMMYVAL) final
 Return a pointer to the oscillation probability for the requested event attributes.
 
std::vector< FLOAT_T > ReturnBinEdgesForPlotting (bool ReturnEnergy) final
 Return a vector of bin edges used for oscillation probability plotting.
 
- Public Member Functions inherited from OscillatorBase
virtual ~OscillatorBase ()
 Destructor.
 
void SanityCheck ()
 Perform a sanity check which ensures that #fOscProbCalcers have been set correctly.
 
void CalculateProbabilities (const std::vector< FLOAT_T > &OscParams)
 Calculate the oscillation probabilities for the providied oscillation probabilities.
 
void CalculateProbabilities ()
 Calculate the oscillation probabilities for the providied oscillation probabilities.
 
void DefineParameter (const std::string &ParName_, FLOAT_T *ParValue_)
 Define the oscillation parameters with a given name and pointer to a value.
 
int ReturnNOscParams ()
 Return number of expected oscillation parameters for a particular OscProbCalcerBase::OscProbCalcerBase() instance in #fOscProbCalcers.
 
void PrintWeights ()
 Print the oscillation probabilities for a particular OscProbCalcerBase::OscProbCalcerBase() instance in fOscProbCalcer.
 
void Setup ()
 Setup each instance of OscProbCalcerBase::OscProbCalcerBase() instance in fOscProbCalcer.
 
std::string ReturnImplementationName ()
 Return a string which encapsulates the calculation type along with the calculation engine.
 
int ReturnNEnergyPoints ()
 Return the number of Energy points which are being evaluated in the OscProbCalcerBase::OscProbCalcerBase() object.
 
std::vector< FLOAT_T > ReturnEnergyArray ()
 Return the vector of Energy points which are being used by the specific instance of OscProbCalcerBase::OscProbCalcerBase() contained in this instance of OscillatorBase::OscillatorBase()
 
int ReturnNCosineZPoints ()
 Return the number of CosineZ points which are being evaluated in the OscProbCalcerBase::OscProbCalcerBase() object.
 
std::vector< FLOAT_T > ReturnCosineZArray ()
 Return the vector of CosineZ points which are being used by the specific instance of OscProbCalcerBase::OscProbCalcerBase() contained in this instance of OscillatorBase::OscillatorBase()
 
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.
 
bool HasOscProbCalcerGotOscillationChannel (int GeneratedFlavour, int DetectedFlavour)
 Check whether a particular OscProbCalcerBase::OscProbCalcerBase() instance has a particular oscillation channel.
 
void SetEnergyArrayInCalcer (std::vector< FLOAT_T > Array)
 Set the energy array which will be used by the OscProbCalcerBase::OscProbCalcerBase() instance stored in a particular index in #fOscProbCalcers.
 
void SetCosineZArrayInCalcer (std::vector< FLOAT_T > Array)
 Set the energy array which will be used by the OscProbCalcerBase::OscProbCalcerBase() instance stored in fOscProbCalcer.
 
bool EvalPointsSetInConstructor ()
 Return flag which describes whether the OscProbCalcerBase::OscProbCalcerBase() has had it's Energy and CosineZ evaluation points set in the constructor of the derived OscillatorBase::OscillatorBase() object.
 
bool ReturnCosineZIgnored ()
 Return flag which describes whether CosineZ binning is considered in the object.
 
FLOAT_T ReturnOscillationProbability (int InitNuFlav, int FinalNuFlav, FLOAT_T EnergyVal, FLOAT_T CosineZVal=DUMMYVAL)
 Return oscillation probability for a given initial and final flavour, for a given energy and cosineZ.
 

Private Member Functions

void Initialise ()
 

Additional Inherited Members

- Protected Member Functions inherited from OscillatorBase
 OscillatorBase (std::string ConfigName_)
 Default constructor.
 
 OscillatorBase (YAML::Node Config_)
 Default constructor.
 
const FLOAT_T * ReturnPointerToWeightinCalcer (int InitNuFlav, int FinalNuFlav, FLOAT_T EnergyVal, FLOAT_T CosineZVal=DUMMYVAL)
 Return a pointer to the oscillation probability memory address in a particular index of #fOscProbCalcers for a particular event.
 
virtual void PostCalculateProbabilities ()
 Do follow-up calculations with the oscillation probabilities. E.g.: averages in the SubSampling CalculationType.
 
virtual void SetupOscillatorImplementation ()
 Setup specific oscillator implementation.
 
- Protected Attributes inherited from OscillatorBase
bool fCosineZIgnored
 A boolean used for declaring whether the OscillatorBase() object expects to care about the CosineZ dimension.
 
bool fEvalPointsSetInConstructor
 Flad which describes whether the Energy and CosineZ evaluation points where set in the constructor of the OscillatorBase() derived object.
 
OscProbCalcerBase * fOscProbCalcer
 The instance of OscProbCalcerBase()
 
std::string fCalculationTypeName
 A string describing the calculation implementation, e.g. Binned.
 
int fVerbose
 The verbosity level of console output.
 
YAML::Node Config
 YAML Config manager.
 

Detailed Description

Unbinned Oscillation calculation implementation class.

Implementation of OscillatorBase::OscillatorBase() object which uses unbinned energy and cosineZ dimensions. It is expected that the specific Energy and CosineZ values to be used by the OscProbCalcerBase::OscProbCalcerBase() object are passed via SetEnergyArray() and SetCosineZArray()

Constructor & Destructor Documentation

◆ OscillatorUnbinned() [1/2]

OscillatorUnbinned::OscillatorUnbinned ( std::string ConfigName_)

Default constructor.

Default constructor

Parameters
ConfigName_YAML config file used to set runtime constants

◆ OscillatorUnbinned() [2/2]

OscillatorUnbinned::OscillatorUnbinned ( YAML::Node Config_)

◆ ~OscillatorUnbinned()

OscillatorUnbinned::~OscillatorUnbinned ( )
virtual

Destructor.

Member Function Documentation

◆ Initialise()

void OscillatorUnbinned::Initialise ( )
private

◆ ReturnBinEdgesForPlotting()

std::vector< FLOAT_T > OscillatorUnbinned::ReturnBinEdgesForPlotting ( bool ReturnEnergy)
finalvirtual

Return a vector of bin edges used for oscillation probability plotting.

Return a binning which ensures exactly one single evaluation point in each bin

Parameters
ReturnEnergyFlag used to identify whether to return Energy or CosineZ binning
Returns
Vector of bin edges which are used for plotting purposes

Implements OscillatorBase.

◆ ReturnWeightPointer()

const FLOAT_T * OscillatorUnbinned::ReturnWeightPointer ( int InitNuFlav,
int FinalNuFlav,
FLOAT_T EnergyVal,
FLOAT_T CosineZVal = DUMMYVAL )
finalvirtual

Return a pointer to the oscillation probability for the requested event attributes.

Determine the memory address address where the calculated oscillation probability for events of the specific requested type will be stored. This will be different depending on the calculation implementation. For the unbinned approach, the particular bin in which the requested energy and cosine falls will be passed directly to the OscProbCalcerBase::OscProbCalcerBase() object

Parameters
InitNuFlavInitial neutrino flavour of the neutrino
FinalNuFlavFinal neutrino flavour of the neutrino
EnergyValTrue energy of the neutrino
CosineZValTrue direction of the neutrino in CosineZ
Returns
Pointer to the memory address where the calculated oscillation probability for events of the specific requested type will be stored

Implements OscillatorBase.


The documentation for this class was generated from the following files: