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.
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.
#define GET_INTERACTION_TYPE_ENTRY(a)
The particle type enum macro.
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