8 #ifndef LAR_INTERACTION_TYPE_HELPER_H 9 #define LAR_INTERACTION_TYPE_HELPER_H 1 19 #define INTERACTION_TYPE_TABLE(d) \ 24 d(CCQEL_MU_P_P_P_P ) \ 25 d(CCQEL_MU_P_P_P_P_P ) \ 31 d(CCQEL_E_P_P_P_P_P ) \ 41 d(CCRES_MU_P_P_P_P ) \ 42 d(CCRES_MU_P_P_P_P_P ) \ 44 d(CCRES_MU_P_PIPLUS ) \ 45 d(CCRES_MU_P_P_PIPLUS ) \ 46 d(CCRES_MU_P_P_P_PIPLUS ) \ 47 d(CCRES_MU_P_P_P_P_PIPLUS ) \ 48 d(CCRES_MU_P_P_P_P_P_PIPLUS ) \ 50 d(CCRES_MU_P_PHOTON ) \ 51 d(CCRES_MU_P_P_PHOTON ) \ 52 d(CCRES_MU_P_P_P_PHOTON ) \ 53 d(CCRES_MU_P_P_P_P_PHOTON ) \ 54 d(CCRES_MU_P_P_P_P_P_PHOTON ) \ 56 d(CCRES_MU_P_PIZERO ) \ 57 d(CCRES_MU_P_P_PIZERO ) \ 58 d(CCRES_MU_P_P_P_PIZERO ) \ 59 d(CCRES_MU_P_P_P_P_PIZERO ) \ 60 d(CCRES_MU_P_P_P_P_P_PIZERO ) \ 66 d(CCRES_E_P_P_P_P_P ) \ 68 d(CCRES_E_P_PIPLUS ) \ 69 d(CCRES_E_P_P_PIPLUS ) \ 70 d(CCRES_E_P_P_P_PIPLUS ) \ 71 d(CCRES_E_P_P_P_P_PIPLUS ) \ 72 d(CCRES_E_P_P_P_P_P_PIPLUS ) \ 74 d(CCRES_E_P_PHOTON ) \ 75 d(CCRES_E_P_P_PHOTON ) \ 76 d(CCRES_E_P_P_P_PHOTON ) \ 77 d(CCRES_E_P_P_P_P_PHOTON ) \ 78 d(CCRES_E_P_P_P_P_P_PHOTON ) \ 80 d(CCRES_E_P_PIZERO ) \ 81 d(CCRES_E_P_P_PIZERO ) \ 82 d(CCRES_E_P_P_P_PIZERO ) \ 83 d(CCRES_E_P_P_P_P_PIZERO ) \ 84 d(CCRES_E_P_P_P_P_P_PIZERO ) \ 92 d(NCRES_P_P_PIPLUS ) \ 93 d(NCRES_P_P_P_PIPLUS ) \ 94 d(NCRES_P_P_P_P_PIPLUS ) \ 95 d(NCRES_P_P_P_P_P_PIPLUS ) \ 98 d(NCRES_P_P_PIMINUS ) \ 99 d(NCRES_P_P_P_PIMINUS ) \ 100 d(NCRES_P_P_P_P_PIMINUS ) \ 101 d(NCRES_P_P_P_P_P_PIMINUS ) \ 104 d(NCRES_P_P_PHOTON ) \ 105 d(NCRES_P_P_P_PHOTON ) \ 106 d(NCRES_P_P_P_P_PHOTON ) \ 107 d(NCRES_P_P_P_P_P_PHOTON ) \ 110 d(NCRES_P_P_PIZERO ) \ 111 d(NCRES_P_P_P_PIZERO ) \ 112 d(NCRES_P_P_P_P_PIZERO ) \ 113 d(NCRES_P_P_P_P_P_PIZERO ) \ 118 d(CCDIS_MU_P_P_P_P ) \ 119 d(CCDIS_MU_P_P_P_P_P ) \ 120 d(CCDIS_MU_PIPLUS ) \ 121 d(CCDIS_MU_P_PIPLUS ) \ 122 d(CCDIS_MU_P_P_PIPLUS ) \ 123 d(CCDIS_MU_P_P_P_PIPLUS ) \ 124 d(CCDIS_MU_P_P_P_P_PIPLUS ) \ 125 d(CCDIS_MU_P_P_P_P_P_PIPLUS ) \ 126 d(CCDIS_MU_PHOTON ) \ 127 d(CCDIS_MU_P_PHOTON ) \ 128 d(CCDIS_MU_P_P_PHOTON ) \ 129 d(CCDIS_MU_P_P_P_PHOTON ) \ 130 d(CCDIS_MU_P_P_P_P_PHOTON ) \ 131 d(CCDIS_MU_P_P_P_P_P_PHOTON ) \ 132 d(CCDIS_MU_PIZERO ) \ 133 d(CCDIS_MU_P_PIZERO ) \ 134 d(CCDIS_MU_P_P_PIZERO ) \ 135 d(CCDIS_MU_P_P_P_PIZERO ) \ 136 d(CCDIS_MU_P_P_P_P_PIZERO ) \ 137 d(CCDIS_MU_P_P_P_P_P_PIZERO ) \ 142 d(NCDIS_P_P_P_P_P ) \ 145 d(NCDIS_P_P_PIPLUS ) \ 146 d(NCDIS_P_P_P_PIPLUS ) \ 147 d(NCDIS_P_P_P_P_PIPLUS ) \ 148 d(NCDIS_P_P_P_P_P_PIPLUS ) \ 150 d(NCDIS_P_PIMINUS ) \ 151 d(NCDIS_P_P_PIMINUS ) \ 152 d(NCDIS_P_P_P_PIMINUS ) \ 153 d(NCDIS_P_P_P_P_PIMINUS ) \ 154 d(NCDIS_P_P_P_P_P_PIMINUS ) \ 157 d(NCDIS_P_P_PHOTON ) \ 158 d(NCDIS_P_P_P_PHOTON ) \ 159 d(NCDIS_P_P_P_P_PHOTON ) \ 160 d(NCDIS_P_P_P_P_P_PHOTON ) \ 163 d(NCDIS_P_P_PIZERO ) \ 164 d(NCDIS_P_P_P_PIZERO ) \ 165 d(NCDIS_P_P_P_P_PIZERO ) \ 166 d(NCDIS_P_P_P_P_P_PIZERO ) \ 172 d(COSMIC_RAY_PHOTON ) \ 173 d(COSMIC_RAY_OTHER ) \ 174 d(BEAM_PARTICLE_MU ) \ 175 d(BEAM_PARTICLE_P ) \ 176 d(BEAM_PARTICLE_E ) \ 177 d(BEAM_PARTICLE_PHOTON ) \ 178 d(BEAM_PARTICLE_PI_PLUS ) \ 179 d(BEAM_PARTICLE_PI_MINUS ) \ 180 d(BEAM_PARTICLE_KAON_PLUS ) \ 181 d(BEAM_PARTICLE_KAON_MINUS ) \ 182 d(BEAM_PARTICLE_OTHER ) \ 183 d(BEAM_PARTICLE_PI_PLUS_PI_PLUS ) \ 184 d(BEAM_PARTICLE_PI_PLUS_PI_PLUS_PHOTON ) \ 185 d(BEAM_PARTICLE_PI_PLUS_PI_PLUS_PIZERO ) \ 186 d(BEAM_PARTICLE_PI_PLUS_COMPLEX ) \ 187 d(BEAM_PARTICLE_PI_MINUS_PI_MINUS ) \ 188 d(BEAM_PARTICLE_PI_MINUS_PI_MINUS_PHOTON ) \ 189 d(BEAM_PARTICLE_PI_MINUS_PI_MINUS_PIZERO ) \ 190 d(BEAM_PARTICLE_PI_MINUS_COMPLEX ) \ 191 d(BEAM_PARTICLE_P_P ) \ 192 d(BEAM_PARTICLE_P_P_PHOTON ) \ 193 d(BEAM_PARTICLE_P_P_PHOTON_PHOTON ) \ 194 d(BEAM_PARTICLE_P_P_PHOTON_PHOTON_PHOTON ) \ 195 d(BEAM_PARTICLE_P_P_PHOTON_PHOTON_PHOTON_PHOTON ) \ 196 d(BEAM_PARTICLE_P_P_P ) \ 197 d(BEAM_PARTICLE_P_P_P_PHOTON ) \ 198 d(BEAM_PARTICLE_P_P_P_PHOTON_PHOTON ) \ 199 d(BEAM_PARTICLE_P_P_P_PHOTON_PHOTON_PHOTON ) \ 200 d(BEAM_PARTICLE_P_P_P_P ) \ 201 d(BEAM_PARTICLE_P_P_P_P_PHOTON ) \ 202 d(BEAM_PARTICLE_P_P_P_P_PHOTON_PHOTON ) \ 203 d(BEAM_PARTICLE_P_P_P_P_P ) \ 204 d(BEAM_PARTICLE_P_P_P_P_P_PHOTON ) \ 205 d(BEAM_PARTICLE_P_P_P_P_P_P ) \ 206 d(BEAM_PARTICLE_P_COMPLEX ) \ 207 d(BEAM_PARTICLE_MU_E ) \ 208 d(BEAM_PARTICLE_MU_COMPLEX ) \ 209 d(BEAM_PARTICLE_KAON_PLUS_MU ) \ 210 d(BEAM_PARTICLE_KAON_PLUS_KAON_PLUS_KAON0L_COMPLEX ) \ 211 d(BEAM_PARTICLE_KAON_PLUS_KAON_PLUS_COMPLEX ) \ 212 d(BEAM_PARTICLE_KAON_PLUS_COMPLEX ) \ 213 d(BEAM_PARTICLE_KAON_MINUS_MU ) \ 214 d(BEAM_PARTICLE_KAON_MINUS_KAON_MINUS_KAON0L_COMPLEX) \ 215 d(BEAM_PARTICLE_KAON_MINUS_KAON_MINUS_COMPLEX ) \ 216 d(BEAM_PARTICLE_KAON_MINUS_COMPLEX ) \ 217 d(BEAM_PARTICLE_E_COMPLEX ) \ 218 d(BEAM_PARTICLE_COMPLEX_HIERARCHY ) \ 219 d(BEAM_PARTICLE_UNKNOWN_HIERARCHY ) \ 220 d(OTHER_INTERACTION ) \ 226 #define GET_INTERACTION_TYPE_ENTRY(a) \ 232 #define GET_INTERACTION_TYPE_NAME_SWITCH(a) \ 233 case a : return std::string(#a); 259 InteractionParameters();
322 #endif // #ifndef LAR_INTERACTION_TYPE_HELPER_H
static void SetInteractionParameters(const pandora::MCParticleList &mcPrimaryList, InteractionParameters ¶meters)
Set parameters describing the number and species of primary interaction products. ...
static InteractionType GetInteractionType(const pandora::MCParticleList &mcPrimaryList)
Get the interaction type of an event.
#define GET_INTERACTION_TYPE_ENTRY(a)
The particle type enum macro.
LArInteractionTypeHelper class.
unsigned int m_nNonNeutrons
Header file for the lar monte carlo particle helper helper class.
static std::string ToString(const InteractionType interactionType)
Get a string representation of an interaction type.
Header file for the lar mc particle class.
InteractionType
InteractionType enum.
unsigned int m_nElectrons
static InteractionType GetTestBeamHierarchyInteractionType(const pandora::MCParticleList &mcPrimaryList)
Get the test beam hierarchy interaction type of an event.
static InteractionType CosmicRayHypothesis(const pandora::MCParticleList &mcPrimaryList, const InteractionParameters ¶meters)
Get the interaction type of an event under a cosmic ray hypothesis.
unsigned int m_nKaonMinus