Jpp  18.4.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Enumerations | Functions | Variables
JOSCPROB Namespace Reference

Classes

struct  JBaselineComputer
 Auxiliary data structure for storing and calculating baselines. More...
 
struct  JBaselineComputerInterface
 Low-level interface for oscillation baseline calculators. More...
 
struct  JComplexPhase
 Implementation of oscillation complex phase. More...
 
struct  JComplexPhase< JGrid< double > >
 Template specialization for parameter grid. More...
 
struct  JMassSquaredDifference
 Implementation of mass-squared difference. More...
 
struct  JMassSquaredDifference< JGrid< double > >
 Template specialization for parameter grid. More...
 
struct  JMixingAngle
 Implementation of oscillation mixing angle. More...
 
struct  JMixingAngle< JGrid< double > >
 Template specialization for parameter grid. More...
 
struct  JOscChannel
 Neutrino oscillation channel. More...
 
struct  JOscillogramAxis
 Auxiliary class for defining an oscillogram axis. More...
 
struct  JOscillogram
 Auxiliary class for creating oscillograms. More...
 
struct  JOscParameter
 Abstract base class for oscillation parameter. More...
 
class  JOscParameters
 Data structure for single set of oscillation parameters. More...
 
struct  JOscParametersHelper
 Helper class for oscillation parameters. More...
 
class  JOscParametersInterface
 Interface class for sets of oscillation parameters. More...
 
struct  JOscProbFunction
 Implementation of oscillation probability function interface. More...
 
struct  JOscProbHelper
 Helper class for oscillation probabilities. More...
 
class  JOscProbInterface
 Low-level interface for oscillation probability calculators. More...
 
class  JOscProbInterpolator
 Template definition of a multi-dimensional oscillation probability interpolation table. More...
 
struct  JOscVars
 Auxiliary data structure to hold oscillation variable names. More...
 

Enumerations

enum  JFlavour_t { JFlavour_t::ELECTRON = 12, JFlavour_t::MUON = 14, JFlavour_t::TAU = 16, JFlavour_t::FLAVOUR_UNDEFINED = 0 }
 Neutrino flavours. More...
 
enum  JChargeParity_t { JChargeParity_t::ANTIPARTICLE = -1, JChargeParity_t::PARTICLE = +1, JChargeParity_t::CPARITY_UNDEFINED = 0 }
 Charge parities. More...
 
enum  OscProbFlavour_t { OscProbFlavour_t::ELECTRON, OscProbFlavour_t::MUON, OscProbFlavour_t::TAU }
 OscProb neutrino flavour identifiers. More...
 

Functions

JFlavour_t getFlavour (const int pdgType)
 Auxiliary function for retrieving the flavour corresponding to a given PDG identifier. More...
 
JFlavour_t getFlavour (const Trk &track)
 Auxiliary function for retrieving the flavour of a given neutrino track. More...
 
JChargeParity_t getChargeParity (const int pdgType)
 Auxiliary function for retrieving the charge-parity of a given PDG type. More...
 
JChargeParity_t getChargeParity (const Trk &track)
 Auxiliary function for retrieving the charge-parity of a given neutrino track. More...
 
size_t getSize (const JOscParameter< JGrid< double > > &grid)
 Get size of given oscillation parameter grid. More...
 
static constexpr const char *const dM21sq ()
 
static constexpr const char *const dM31sq ()
 
static constexpr const char *const deltaCP ()
 
static constexpr const char *const theta12 ()
 
static constexpr const char *const theta13 ()
 
static constexpr const char *const theta23 ()
 
template<class T = double>
size_t getSize (const JOscParametersInterface< T > &parameters)
 Get size of given oscillation parameters set. More...
 
size_t getSize (const JOscParametersInterface< JGrid< double > > &parameters)
 Get size of given oscillation parameters grid. More...
 
template<class JFunction_t >
JOscProbFunction< JFunction_t > make_oscProbFunction (const JFunction_t &function)
 Auxiliary method for creating an interface to an oscillation probability function. More...
 
OscProbFlavour_t getOscProbFlavour (const JFlavour_t flavour)
 Auxiliary function for retrieving the OscProb flavour identifier corresponding to a JOscProb flavour identifier. More...
 
OscProbFlavour_t getOscProbFlavour (const int pdgType)
 Auxiliary function for retrieving the OscProb flavour identifier corresponding to a JOscProb flavour identifier. More...
 

Variables

static const JOscChannel getOscChannel []
 Declare group of neutrino oscillation channels. More...
 
static const unsigned int NUMBER_OF_OSCCHANNELS = sizeof(getOscChannel) / sizeof(JOscChannel)
 Number of neutrino oscillation channels. More...
 

Detailed Description

Author
bjung Auxiliary data structure for storing and computing oscillation baselines.
bjung, mdejong
bjung
bjung Auxiliary methods for oscillation probabilities.

Enumeration Type Documentation

enum JOSCPROB::JFlavour_t
strong

Neutrino flavours.

Enumerator
ELECTRON 
MUON 
TAU 
FLAVOUR_UNDEFINED 

Definition at line 31 of file JOscChannel.hh.

Charge parities.

Enumerator
ANTIPARTICLE 
PARTICLE 
CPARITY_UNDEFINED 

Definition at line 40 of file JOscChannel.hh.

OscProb neutrino flavour identifiers.

Enumerator
ELECTRON 
MUON 
TAU 

Definition at line 27 of file JOscProbToolkit.hh.

Function Documentation

JFlavour_t JOSCPROB::getFlavour ( const int  pdgType)
inline

Auxiliary function for retrieving the flavour corresponding to a given PDG identifier.

Parameters
pdgTypePDG particle identifier

Definition at line 50 of file JOscChannel.hh.

51  {
52  const int type = abs(pdgType);
53 
54  switch (type) {
55 
56  case (int) JFlavour_t::ELECTRON:
57  case (int) JFlavour_t::MUON:
58  case (int) JFlavour_t::TAU:
59  return static_cast<JFlavour_t>(type);
60  default:
61  return JFlavour_t::FLAVOUR_UNDEFINED;
62  }
63  }
JFlavour_t
Neutrino flavours.
Definition: JOscChannel.hh:31
JFlavour_t JOSCPROB::getFlavour ( const Trk track)
inline

Auxiliary function for retrieving the flavour of a given neutrino track.

Parameters
trackneutrino track

Definition at line 71 of file JOscChannel.hh.

72  {
73  return getFlavour(track.type);
74  }
int type
MC: particle type in PDG encoding.
Definition: Trk.hh:24
JFlavour_t getFlavour(const int pdgType)
Auxiliary function for retrieving the flavour corresponding to a given PDG identifier.
Definition: JOscChannel.hh:50
JChargeParity_t JOSCPROB::getChargeParity ( const int  pdgType)
inline

Auxiliary function for retrieving the charge-parity of a given PDG type.

Parameters
pdgTypePDG particle identifier
Returns
charge-parity (1 for neutrinos; -1 for anti-neutrinos)

Definition at line 83 of file JOscChannel.hh.

84  {
85  if (pdgType < 0) {
86  return JChargeParity_t::ANTIPARTICLE;
87  } else if (pdgType > 0) {
88  return JChargeParity_t::PARTICLE;
89  } else {
90  return JChargeParity_t::CPARITY_UNDEFINED;
91  }
92  }
JChargeParity_t JOSCPROB::getChargeParity ( const Trk track)
inline

Auxiliary function for retrieving the charge-parity of a given neutrino track.

Parameters
trackneutrino track
Returns
charge-parity (1 for neutrinos; -1 for anti-neutrinos)

Definition at line 101 of file JOscChannel.hh.

102  {
103  return getChargeParity(track.type);
104  }
JChargeParity_t getChargeParity(const int pdgType)
Auxiliary function for retrieving the charge-parity of a given PDG type.
Definition: JOscChannel.hh:83
int type
MC: particle type in PDG encoding.
Definition: Trk.hh:24
size_t JOSCPROB::getSize ( const JOscParameter< JGrid< double > > &  grid)
inline

Get size of given oscillation parameter grid.

Parameters
gridoscillation parameteter grid
Returns
size of oscillation parameter

Definition at line 134 of file JOscParameter.hh.

135  {
136  return (grid.isDefined() ? grid.getValue().getSize() : 0);
137  }
const bool isDefined() const
Get status of parameter.
Definition: JParameter.hh:137
const T & getValue() const
Get value of parameter.
Definition: JParameter.hh:81
static constexpr const char* const JOSCPROB::dM21sq ( )
static

Definition at line 38 of file JOscParameters.hh.

38 { return "dM21sq"; }
static constexpr const char* const JOSCPROB::dM31sq ( )
static

Definition at line 39 of file JOscParameters.hh.

39 { return "dM31sq"; }
static constexpr const char* const JOSCPROB::deltaCP ( )
static

Definition at line 40 of file JOscParameters.hh.

40 { return "deltaCP"; }
static constexpr const char* const JOSCPROB::theta12 ( )
static

Definition at line 41 of file JOscParameters.hh.

41 { return "theta12"; }
static constexpr const char* const JOSCPROB::theta13 ( )
static

Definition at line 42 of file JOscParameters.hh.

42 { return "theta13"; }
static constexpr const char* const JOSCPROB::theta23 ( )
static

Definition at line 43 of file JOscParameters.hh.

43 { return "theta23"; }
template<class T = double>
size_t JOSCPROB::getSize ( const JOscParametersInterface< T > &  parameters)
inline

Get size of given oscillation parameters set.

Parameters
parametersoscillation parameters set
Returns
size (= number of defined parameters)

Definition at line 301 of file JOscParametersInterface.hh.

302  {
303  size_t n = 0;
304 
305  const JProperties properties = parameters.getProperties();
306 
307  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
308  const JOscParameter<T>& parameter = i->second.getValue<const JOscParameter<T> >();
309 
310  n += (size_t) parameter.isDefined();
311  }
312 
313  return n;
314  }
Abstract base class for oscillation parameter.
Utility class to parse parameter values.
Definition: JProperties.hh:497
const bool isDefined() const
Get status of parameter.
Definition: JParameter.hh:137
const int n
Definition: JPolint.hh:786
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
size_t JOSCPROB::getSize ( const JOscParametersInterface< JGrid< double > > &  parameters)
inline

Get size of given oscillation parameters grid.

Parameters
parametersoscillation parameters grid
Returns
size (= number of defined parameters)

Definition at line 323 of file JOscParametersInterface.hh.

324  {
325  size_t n = 1;
326 
327  const JProperties properties = parameters.getProperties();
328 
329  for (JProperties::const_iterator i = properties.cbegin(); i != properties.cend(); ++i) {
330  const JOscParameter<JGrid<double> >& parameter = i->second.getValue<const JOscParameter<JGrid<double> > >();
331 
332  if (parameter.isDefined()) {
333  n *= getSize(parameter);
334  }
335  }
336 
337  return n;
338  }
Abstract base class for oscillation parameter.
Utility class to parse parameter values.
Definition: JProperties.hh:497
size_t getSize(T(&array)[N])
Get size of c-array.
Definition: JLangToolkit.hh:32
const bool isDefined() const
Get status of parameter.
Definition: JParameter.hh:137
const int n
Definition: JPolint.hh:786
virtual JProperties getProperties(const JEquationParameters &equation=JOscParametersInterface_t::getEquationParameters())=0
Get properties of this class.
template<class JFunction_t >
JOscProbFunction<JFunction_t> JOSCPROB::make_oscProbFunction ( const JFunction_t &  function)
inline

Auxiliary method for creating an interface to an oscillation probability function.

Parameters
functionoscillation probability function object
Returns
oscillation probability function interface

Definition at line 109 of file JOscProbFunction.hh.

109  {
110  return JOscProbFunction<JFunction_t>(function);
111  }
Implementation of oscillation probability function interface.
OscProbFlavour_t JOSCPROB::getOscProbFlavour ( const JFlavour_t  flavour)
inline

Auxiliary function for retrieving the OscProb flavour identifier corresponding to a JOscProb flavour identifier.

Parameters
flavourflavour identifier
Returns
OscProb flavour identifier

Definition at line 38 of file JOscProbToolkit.hh.

39  {
40  switch(flavour) {
41  case JFlavour_t::ELECTRON:
42  return OscProbFlavour_t::ELECTRON;
43  case JFlavour_t::MUON:
44  return OscProbFlavour_t::MUON;
45  case JFlavour_t::TAU:
46  return OscProbFlavour_t::TAU;
47  default:
48  THROW(JLANG::JValueOutOfRange, "getOscProbFlavour(...): Invalid flavour " << (int) flavour);
49  }
50  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
Exception for accessing a value in a collection that is outside of its range.
Definition: JException.hh:178
OscProbFlavour_t JOSCPROB::getOscProbFlavour ( const int  pdgType)
inline

Auxiliary function for retrieving the OscProb flavour identifier corresponding to a JOscProb flavour identifier.

Parameters
pdgTypePDG particle type
Returns
OscProb flavour identifier

Definition at line 59 of file JOscProbToolkit.hh.

60  {
61  JFlavour_t flavour = getFlavour(pdgType);
62 
63  return getOscProbFlavour(flavour);
64  }
OscProbFlavour_t getOscProbFlavour(const JFlavour_t flavour)
Auxiliary function for retrieving the OscProb flavour identifier corresponding to a JOscProb flavour ...
JFlavour_t
Neutrino flavours.
Definition: JOscChannel.hh:31
JFlavour_t getFlavour(const int pdgType)
Auxiliary function for retrieving the flavour corresponding to a given PDG identifier.
Definition: JOscChannel.hh:50

Variable Documentation

const JOscChannel JOSCPROB::getOscChannel[]
static
Initial value:
= {
JOscChannel(JFlavour_t::ELECTRON, JFlavour_t::ELECTRON, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::ELECTRON, JFlavour_t::MUON, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::ELECTRON, JFlavour_t::TAU, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::MUON, JFlavour_t::ELECTRON, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::MUON, JFlavour_t::MUON, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::MUON, JFlavour_t::TAU, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::TAU, JFlavour_t::ELECTRON, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::TAU, JFlavour_t::MUON, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::TAU, JFlavour_t::TAU, JChargeParity_t::PARTICLE),
JOscChannel(JFlavour_t::ELECTRON, JFlavour_t::ELECTRON, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::ELECTRON, JFlavour_t::MUON, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::ELECTRON, JFlavour_t::TAU, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::MUON, JFlavour_t::ELECTRON, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::MUON, JFlavour_t::MUON, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::MUON, JFlavour_t::TAU, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::TAU, JFlavour_t::ELECTRON, JChargeParity_t::ANTIPARTICLE),
JOscChannel(JFlavour_t::TAU, JFlavour_t::MUON, JChargeParity_t::ANTIPARTICLE),
}
Neutrino oscillation channel.
Definition: JOscChannel.hh:110

Declare group of neutrino oscillation channels.

Definition at line 326 of file JOscChannel.hh.

const unsigned int JOSCPROB::NUMBER_OF_OSCCHANNELS = sizeof(getOscChannel) / sizeof(JOscChannel)
static

Number of neutrino oscillation channels.

Definition at line 351 of file JOscChannel.hh.