1 #ifndef __JOSCPROB__JOSCCHANNEL__ 
    2 #define __JOSCPROB__JOSCCHANNEL__ 
   21 namespace JPP { 
using namespace JOSCPROB; }
 
   52     const int type = abs(pdgType);
 
   56     case (
int) JFlavour_t::ELECTRON:
 
   57     case (
int) JFlavour_t::MUON:
 
   58     case (
int) JFlavour_t::TAU:
 
   61       return JFlavour_t::FLAVOUR_UNDEFINED;
 
   86       return JChargeParity_t::ANTIPARTICLE;
 
   87     } 
else if (pdgType > 0) {
 
   88       return JChargeParity_t::PARTICLE;
 
   90       return JChargeParity_t::CPARITY_UNDEFINED;
 
  162       return (
in      != JFlavour_t::FLAVOUR_UNDEFINED &&
 
  163               out     != JFlavour_t::FLAVOUR_UNDEFINED &&
 
  164               Cparity != JChargeParity_t::CPARITY_UNDEFINED);
 
  178         if (this->
in == channel.
in) {
 
  180           return this->
out < channel.
out;
 
  184           return this->
in < channel.
in;
 
  203       return out << 
object.getProperties();
 
  220       object.setProperties(properties);
 
  303       template<
class JOscChannel_t>
 
  307         in         ((int) object.
in),
 
  327     JOscChannel(JFlavour_t::ELECTRON,  JFlavour_t::ELECTRON,  JChargeParity_t::PARTICLE),
 
  328     JOscChannel(JFlavour_t::ELECTRON,  JFlavour_t::MUON,      JChargeParity_t::PARTICLE),
 
  329     JOscChannel(JFlavour_t::ELECTRON,  JFlavour_t::TAU,       JChargeParity_t::PARTICLE),
 
  330     JOscChannel(JFlavour_t::MUON,      JFlavour_t::ELECTRON,  JChargeParity_t::PARTICLE),
 
  331     JOscChannel(JFlavour_t::MUON,      JFlavour_t::MUON,      JChargeParity_t::PARTICLE),
 
  332     JOscChannel(JFlavour_t::MUON,      JFlavour_t::TAU,       JChargeParity_t::PARTICLE),
 
  333     JOscChannel(JFlavour_t::TAU,       JFlavour_t::ELECTRON,  JChargeParity_t::PARTICLE),
 
  334     JOscChannel(JFlavour_t::TAU,       JFlavour_t::MUON,      JChargeParity_t::PARTICLE),
 
  335     JOscChannel(JFlavour_t::TAU,       JFlavour_t::TAU,       JChargeParity_t::PARTICLE),
 
  336     JOscChannel(JFlavour_t::ELECTRON,  JFlavour_t::ELECTRON,  JChargeParity_t::ANTIPARTICLE),
 
  337     JOscChannel(JFlavour_t::ELECTRON,  JFlavour_t::MUON,      JChargeParity_t::ANTIPARTICLE),
 
  338     JOscChannel(JFlavour_t::ELECTRON,  JFlavour_t::TAU,       JChargeParity_t::ANTIPARTICLE),
 
  339     JOscChannel(JFlavour_t::MUON,      JFlavour_t::ELECTRON,  JChargeParity_t::ANTIPARTICLE),
 
  340     JOscChannel(JFlavour_t::MUON,      JFlavour_t::MUON,      JChargeParity_t::ANTIPARTICLE),
 
  341     JOscChannel(JFlavour_t::MUON,      JFlavour_t::TAU,       JChargeParity_t::ANTIPARTICLE),
 
  342     JOscChannel(JFlavour_t::TAU,       JFlavour_t::ELECTRON,  JChargeParity_t::ANTIPARTICLE),
 
  343     JOscChannel(JFlavour_t::TAU,       JFlavour_t::MUON,      JChargeParity_t::ANTIPARTICLE),
 
  344     JOscChannel(JFlavour_t::TAU,       JFlavour_t::TAU,       JChargeParity_t::ANTIPARTICLE)
 
JOscChannel(const JFlavour_t in, const JFlavour_t out, const JChargeParity_t Cparity)
Constructor. 
 
static JEquationParameters & getEquationParameters()
Get equation parameters. 
 
JOscChannel()
Default constructor. 
 
Neutrino oscillation channel. 
 
static void setEquationParameters(const JEquationParameters &equation)
Set equation parameters. 
 
JOscChannelHelper(JOscChannel_t &object, const JEquationParameters &equation)
Constructor. 
 
static const unsigned int NUMBER_OF_OSCCHANNELS
Number of neutrino oscillation channels. 
 
#define gmake_property(A)
macros to convert (template) parameter to JPropertiesElement object 
 
friend std::ostream & operator<<(std::ostream &out, const JOscChannel &object)
Write channel to output. 
 
JFlavour_t in
Incoming flavour. 
 
JOscChannel(const int in, const int out, const int Cparity)
Constructor. 
 
Utility class to parse parameter values. 
 
Simple data structure to support I/O of equations (see class JLANG::JEquation). 
 
friend std::istream & operator>>(std::istream &in, JOscChannel &object)
Read channel from input. 
 
Utility class to parse parameter values. 
 
void setProperties(const JProperties &properties)
Set properties of this class. 
 
JChargeParity_t
Charge parities. 
 
JProperties getProperties(const JEquationParameters &equation=JOscChannel::getEquationParameters())
Get properties of this class. 
 
JChargeParity_t getChargeParity(const int pdgType)
Auxiliary function for retrieving the charge-parity of a given PDG type. 
 
const T & getValue(const std::string &key) const 
Get value. 
 
static const JOscChannel getOscChannel[]
Declare group of neutrino oscillation channels. 
 
JFlavour_t
Neutrino flavours. 
 
JChargeParity_t Cparity
Charge-parity. 
 
Template definition of auxiliary base class for comparison of data structures. 
 
int type
MC: particle type in PDG encoding. 
 
Auxiliary class for I/O of oscillation channel. 
 
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower. 
 
JProperties getProperties(const JEquationParameters &equation=JOscChannel::getEquationParameters()) const 
Get properties of this class. 
 
JFlavour_t out
Outcoming flavour. 
 
JFlavour_t getFlavour(const int pdgType)
Auxiliary function for retrieving the flavour corresponding to a given PDG identifier. 
 
bool less(const JOscChannel &channel) const 
Less-than method. 
 
bool is_valid() const 
Check validity of this oscillation channel.