Jpp  master_rocky
the software that should make you happy
JGENIETypes.hh
Go to the documentation of this file.
1 #ifndef __JAANET__JGENIETYPES__
2 #define __JAANET__JGENIETYPES__
3 
4 
5 /**
6  * \file
7  *
8  * Definition of GENIE neutrino interaction types.
9  * \author mdejong
10  */
11 namespace JAANET {}
12 namespace JPP { using namespace JAANET; }
13 
14 namespace JAANET {
15 
16 
17  /**
18  * Enumeration of GENIE interaction types.
19  */
21  INTERACTION_TYPES_START = -1, //!< Start of interaction types
22  UNDEFINED, //!< Unknown interaction type
23  ELECTROMAGNETIC, //!< Electromagnetic interaction
24  WEAK_CHARGED_CURRENT, //!< Weak charged current interaction
25  WEAK_NEUTRAL_CURRENT, //!< Weak neutral current interaction
26  WEAK_MIX, //!< CC + NC + interference
27  DARK_MATTER, //!< Dark matter interaction
28  NUCLEON_DECAY, //!< Nucleon decay
29  NEUTRON_OSCILLATION, //!< Neutron oscillation
30  NEUTRAL_HEAVY_LEPTON, //!< Heavy neutral lepton
31  DARK_NEUTRAL_CURRENT, //!< Dark neutral current
32  INTERACTION_TYPES_END //!< End of interaction types
33  };
34 
35 
36  /**
37  * Enumeration of GENIE scattering types.
38  */
40  UNKNOWN = -100, //!< Unknown scattering type
41  NEUTRINO_SCATTERING_TYPES_START = -1, //!< Start of standard scattering types
42  UNDEFINED = 0, //!< Undefined scattering type
43  QUASI_ELASTIC, //!< Quasi-elastic scattering
44  SINGLE_KAON, //!< Single kaon scattering
45  DEEP_INELASTIC, //!< Deep Inelastic Scattering
46  RESONANT, //!< Resonant scattering
47  COHERENT_PRODUCTION, //!< Coherent production
48  DIFFRACTIVE, //!< Diffractive scattering
49  ELECTRON_NEUTRINO_ELASTIC, //!< Electron-neutrino elastic scattering
50  INVERSE_MUON_DECAY, //!< Inverse muon decay
51  ANOMALY_MEDIATED_NEUTRINO_GAMMA, //!< Anomaly mediated neutrino-gamma scattering
52  MESON_EXCHANGE_CURRENT, //!< Meson exchange current
53  COHERENT_ELASTIC, //!< Coherent elastic scattering
54  INVERSE_BETA_DECAY, //!< Inverse beta-decay
55  GLASHOW_RESONANCE, //!< Glashow-resonance
56  INVERSE_MUON_DECAY_ANNIHILATION, //!< Inverse muon decay annihilation
57  NEUTRINO_SCATTERING_TYPES_END, //!< End of standard scattering types
58  DARK_MATTER_SCATTERING_TYPES_START = 100, //!< Start of dark matter scattering types
59  DARK_MATTER_ELASTIC, //!< Dark matter elastic scattering
60  DARK_MATTER_DEEP_INELASTIC, //!< Dark matter deep inelastic scattering
61  DARK_MATTER_ELECTRON, //!< Dark matter electron scattering
62  DARK_MATTER_SCATTERING_TYPES_END //!< End of dark matter scattering types
63  };
64 
65 
66  /**
67  * Auxiliary function to convert interaction types.
68  *
69  * \param intType GENIE interaction type
70  * \return GENIE interaction type
71  */
72  inline JInteractionTypeGENIE_t getInteractionType(const int intType)
73  {
74  if (intType > (int) JInteractionTypeGENIE_t::INTERACTION_TYPES_START &&
75  intType < (int) JInteractionTypeGENIE_t::INTERACTION_TYPES_END) {
76  return static_cast<JInteractionTypeGENIE_t>(intType);
77  } else {
79  }
80  }
81 
82 
83  /**
84  * Auxiliary function to convert scattering types.
85  *
86  * \param scatType GENIE scattering type
87  * \return GENIE scattering type
88  */
89  inline JScatteringTypeGENIE_t getScatteringType(const int scatType)
90  {
91  if ((scatType > (int) JScatteringTypeGENIE_t::NEUTRINO_SCATTERING_TYPES_START &&
92  scatType < (int) JScatteringTypeGENIE_t::NEUTRINO_SCATTERING_TYPES_END) ||
93  (scatType > (int) JScatteringTypeGENIE_t::DARK_MATTER_SCATTERING_TYPES_START &&
94  scatType > (int) JScatteringTypeGENIE_t::DARK_MATTER_SCATTERING_TYPES_END) ||
95  (scatType == (int) JScatteringTypeGENIE_t::UNKNOWN)) {
96  return static_cast<JScatteringTypeGENIE_t>(scatType);
97  } else {
99  }
100  }
101 }
102 
103 #endif
Extensions to Evt data format.
JScatteringTypeGENIE_t
Enumeration of GENIE scattering types.
Definition: JGENIETypes.hh:39
@ UNDEFINED
Undefined scattering type.
@ DARK_MATTER_SCATTERING_TYPES_END
End of dark matter scattering types.
@ SINGLE_KAON
Single kaon scattering.
@ DARK_MATTER_ELASTIC
Dark matter elastic scattering.
@ INVERSE_BETA_DECAY
Inverse beta-decay.
@ ELECTRON_NEUTRINO_ELASTIC
Electron-neutrino elastic scattering.
@ DIFFRACTIVE
Diffractive scattering.
@ QUASI_ELASTIC
Quasi-elastic scattering.
@ GLASHOW_RESONANCE
Glashow-resonance.
@ NEUTRINO_SCATTERING_TYPES_END
End of standard scattering types.
@ INVERSE_MUON_DECAY_ANNIHILATION
Inverse muon decay annihilation.
@ RESONANT
Resonant scattering.
@ UNKNOWN
Unknown scattering type.
@ DARK_MATTER_DEEP_INELASTIC
Dark matter deep inelastic scattering.
@ MESON_EXCHANGE_CURRENT
Meson exchange current.
@ DARK_MATTER_ELECTRON
Dark matter electron scattering.
@ DEEP_INELASTIC
Deep Inelastic Scattering.
@ ANOMALY_MEDIATED_NEUTRINO_GAMMA
Anomaly mediated neutrino-gamma scattering.
@ COHERENT_PRODUCTION
Coherent production.
@ INVERSE_MUON_DECAY
Inverse muon decay.
@ DARK_MATTER_SCATTERING_TYPES_START
Start of dark matter scattering types.
@ NEUTRINO_SCATTERING_TYPES_START
Start of standard scattering types.
@ COHERENT_ELASTIC
Coherent elastic scattering.
JInteractionTypeGENIE_t getInteractionType(const int intType)
Auxiliary function to convert interaction types.
Definition: JGENIETypes.hh:72
JInteractionTypeGENIE_t
Enumeration of GENIE interaction types.
Definition: JGENIETypes.hh:20
@ UNDEFINED
Unknown interaction type.
@ ELECTROMAGNETIC
Electromagnetic interaction.
@ DARK_NEUTRAL_CURRENT
Dark neutral current.
@ DARK_MATTER
Dark matter interaction.
@ INTERACTION_TYPES_END
End of interaction types.
@ NEUTRAL_HEAVY_LEPTON
Heavy neutral lepton.
@ NEUTRON_OSCILLATION
Neutron oscillation.
@ WEAK_MIX
CC + NC + interference.
@ WEAK_NEUTRAL_CURRENT
Weak neutral current interaction.
@ WEAK_CHARGED_CURRENT
Weak charged current interaction.
@ INTERACTION_TYPES_START
Start of interaction types.
JScatteringTypeGENIE_t getScatteringType(const int scatType)
Auxiliary function to convert scattering types.
Definition: JGENIETypes.hh:89
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).