1 #ifndef __JOSCPROB__JOSCCHANNEL__
2 #define __JOSCPROB__JOSCCHANNEL__
19 namespace JPP {
using namespace JOSCPROB; }
85 if (this->
in == channel.
in) {
87 return this->
out < channel.
out;
91 return this->
in < channel.
in;
110 return out <<
object.getProperties();
128 object.setProperties(properties);
207 switch (channel.
in) {
228 switch (channel.
out) {
319 template<
class JOscChannel_t>
325 Cparity (object.Cparity)
JOscChannel(const JFlavour_t in, const JFlavour_t out, const JChargeParity_t Cparity)
Constructor.
static JEquationParameters & getEquationParameters()
Get equation parameters.
JFlavour_t
Neutrino flavours.
JOscChannel()
Default constructor.
JChargeParity_t
Charge parities.
static JChargeParity_t getChargeParity(const int Cparity)
Get charge-parity of given neutrino.
Neutrino oscillation channel.
static void setEquationParameters(const JEquationParameters &equation)
Set equation parameters.
JOscChannelHelper(JOscChannel_t &object, const JEquationParameters &equation)
Constructor.
#define gmake_property(A)
macro 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.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
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.
JProperties getProperties(const JEquationParameters &equation=JOscChannel::getEquationParameters())
Get properties of this class.
const T & getValue(const std::string &key) const
Get value.
static int getIncomingNeutrinoType(const JOscChannel &channel)
Auxiliary function to retrieve incoming neutrino PDG type.
static const JOscChannel getOscChannel[]
Declare group of neutrino oscillation channels.
JChargeParity_t Cparity
Charge-parity.
static JFlavour_t getFlavour(const int pdgID)
Get flavour of neutrino.
static JFlavour_t getFlavour(const Trk &neutrino)
Get flavour of neutrino.
Template definition of auxiliary base class for comparison of data structures.
int type
MC: particle type in PDG encoding.
static JChargeParity_t getChargeParity(const Trk &neutrino)
Get charge-parity of given neutrino.
Auxiliary class for I/O of oscillation channel.
static int getOutgoingNeutrinoType(const JOscChannel &channel)
Auxiliary function to retrieve outgoing neutrino PDG type.
Exception for accessing a value in a collection that is outside of its range.
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.
static const int NUMBER_OF_OSCCHANNELS
Number of neutrino oscillation channels.
bool less(const JOscChannel &channel) const
Less-than method.