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

Classes

struct  JBaselineCalculator
 Auxiliary data structure for storing and calculating baselines. 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  JOscParameters
 Data structure for single set of oscillation parameters. More...
 
struct  JOscParametersGrid
 Data structure for oscillation parameter grids. More...
 
struct  JOscParametersInterface
 Abstract base class for sets of oscillation parameters. More...
 
struct  JOscProb
 Low-level interface for retrieving the oscillation probability
corresponding to a given oscillation channel, neutrino energy and zenith angle. More...
 
struct  JOscProbFunction
 Implementation of oscillation probability function interface. More...
 
struct  JOscProbFunction< pOscProb >
 Implementation of C-style oscillation probability function. More...
 
struct  JOscProbHelper
 Helper class for oscillation probabilities. More...
 
class  JOscProbInterpolator
 Template definition of a multi-dimensional oscillation probability interpolation table. More...
 
class  JOscProbInterpolatorInterface
 Low-level interface for oscillation probability tables. More...
 
struct  JOscVars
 Auxiliary data structure to hold oscillation variable names. More...
 

Typedefs

typedef double(* pOscProb )(const JOscChannel &, const double, const double)
 

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...
 
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...
 
JOscProbFunction< pOscProbmake_oscProbFunction (pOscProb 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.

Typedef Documentation

typedef double(* JOSCPROB::pOscProb)(const JOscChannel &, const double, const double)

Definition at line 60 of file JOscProbFunction.hh.

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
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 108 of file JOscProbFunction.hh.

108  {
109  return JOscProbFunction<JFunction_t>(function);
110  }
JOscProbFunction<pOscProb> JOSCPROB::make_oscProbFunction ( pOscProb  function)
inline

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

Parameters
functionoscillation probability function pointer
Returns
oscillation probability function interface

Definition at line 119 of file JOscProbFunction.hh.

119  {
120  return JOscProbFunction<pOscProb>(function);
121  }
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:696
Exception for accessing a value in a collection that is outside of its range.
Definition: JException.hh:162
OscProbFlavour_t JOSCPROB::getOscProbFlavour ( const int  pdgType)
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 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 310 of file JOscChannel.hh.

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

Number of neutrino oscillation channels.

Definition at line 335 of file JOscChannel.hh.