hpstr
The Heavy Photon Search Toolkit for Reconstruction (hpstr) provides an interface to physics data from the HPS experiment saved in the LCIO format and converts it into an ROOT based format.
Loading...
Searching...
No Matches
MCParticle.h
Go to the documentation of this file.
1
7#ifndef _MCPARTICLE_H_
8#define _MCPARTICLE_H_
9
10//----------//
11// ROOT //
12//----------//
13#include <TClonesArray.h>
14#include <TObject.h>
15#include <TRef.h>
16#include <TRefArray.h>
17
18
19class MCParticle : public TObject {
20
21 public:
22
25
28
30 void Clear(Option_t *option="");
31
38 void addDaughter(MCParticle* particle);
39
46 TRefArray* getDaughters() const { return daughters_; };
47
53 void setCharge(const int charge) { charge_ = charge; };
54
60 void setPDG(const int pdg) { pdg_ = pdg; };
61
67 void setID(const int id) { id_ = id; };
68
74 void setMomPDG(const int momPDG) { momPDG_ = momPDG; };
75
81 void setOriginPDG(const int originPDG) {originPDG_ = originPDG; };
82
88 void setGenStatus(const int gen) { gen_ = gen; };
89
95 void setSimStatus(const int sim) { sim_ = sim; };
96
102 void setEnergy(const double energy) { energy_ = energy; };
103
109 void setMass(const double mass) { mass_ = mass; };
110
116 void setTime(const double time) { time_ = time; };
117
124 void setMomentum(const double* momentum);
125
132 void setEndpointMomentum(const double* momentum_ep);
133
140 void setVertexPosition(const double* vtx_pos);
141
148 void setEndPoint(const double* ep_pos);
149
151 int getCharge() const { return charge_; };
152
154 int getPDG() const { return pdg_; };
155
157 int getID() const { return id_; };
158
160 int getMomPDG() const { return momPDG_; };
161
163 int getOriginPDG() const { return originPDG_; };
164
166 int getGenStatus() const { return gen_; };
167
169 int getSimStatus() const { return sim_; };
170
172 double getEnergy() const { return energy_; };
173
175 double getMass() const { return mass_; };
176
178 double getTime() const { return time_; };
179
181 std::vector<double> getMomentum() const;
182
184 std::vector<double> getEndpointMomentum() const;
185
187 std::vector<double> getVertexPosition() const;
188
190 std::vector<double> getEndPoint() const;
191
193
194 private:
195
200 TRefArray* daughters_{new TRefArray{}};
201
203 int id_{-9999};
204
207
209 int charge_{-9999};
210
212 int pdg_{-9999};
213
215 int momPDG_{-9999};
216
218 int originPDG_{-9999};
219
221 int gen_{-9999};
222
224 int sim_{-9999};
225
227 double px_{-9999};
228
230 double py_{-9999};
231
233 double pz_{-9999};
234
236 double px_ep{-9999};
237
239 double py_ep{-9999};
240
242 double pz_ep{-9999};
243
245 double vtx_x_{-9999};
246
248 double vtx_y_{-9999};
249
251 double vtx_z_{-9999};
252
254 double ep_x_{-9999};
255
257 double ep_y_{-9999};
258
260 double ep_z_{-9999};
261
263 double energy_{-9999};
264
266 double mass_{-9999};
267
269 double time_{-9999};
270
271}; // MCParticle
272
273#endif // _MCPARTICLE_H_
double energy_
Definition MCParticle.h:263
double py_ep
Definition MCParticle.h:239
std::vector< double > getMomentum() const
double mass_
Definition MCParticle.h:266
double px_
Definition MCParticle.h:227
void setVertexPosition(const double *vtx_pos)
void setEndpointMomentum(const double *momentum_ep)
double pz_ep
Definition MCParticle.h:242
TRefArray * getDaughters() const
Definition MCParticle.h:46
double time_
Definition MCParticle.h:269
void setPDG(const int pdg)
Definition MCParticle.h:60
void setMass(const double mass)
Definition MCParticle.h:109
TRefArray * daughters_
Definition MCParticle.h:200
std::vector< double > getVertexPosition() const
void addDaughter(MCParticle *particle)
double vtx_y_
Definition MCParticle.h:248
double getEnergy() const
Definition MCParticle.h:172
std::vector< double > getEndPoint() const
void setID(const int id)
Definition MCParticle.h:67
double px_ep
Definition MCParticle.h:236
double py_
Definition MCParticle.h:230
void setGenStatus(const int gen)
Definition MCParticle.h:88
int n_daughters_
Definition MCParticle.h:206
double ep_x_
Definition MCParticle.h:254
double vtx_z_
Definition MCParticle.h:251
void setMomPDG(const int momPDG)
Definition MCParticle.h:74
double vtx_x_
Definition MCParticle.h:245
void setCharge(const int charge)
Definition MCParticle.h:53
int getMomPDG() const
Definition MCParticle.h:160
int getCharge() const
Definition MCParticle.h:151
void Clear(Option_t *option="")
void setMomentum(const double *momentum)
int getID() const
Definition MCParticle.h:157
std::vector< double > getEndpointMomentum() const
ClassDef(MCParticle, 1)
void setEnergy(const double energy)
Definition MCParticle.h:102
int getPDG() const
Definition MCParticle.h:154
int getOriginPDG() const
Definition MCParticle.h:163
void setOriginPDG(const int originPDG)
Definition MCParticle.h:81
double pz_
Definition MCParticle.h:233
void setTime(const double time)
Definition MCParticle.h:116
void setEndPoint(const double *ep_pos)
void setSimStatus(const int sim)
Definition MCParticle.h:95
int getSimStatus() const
Definition MCParticle.h:169
double ep_z_
Definition MCParticle.h:260
double getMass() const
Definition MCParticle.h:175
double getTime() const
Definition MCParticle.h:178
double ep_y_
Definition MCParticle.h:257
int getGenStatus() const
Definition MCParticle.h:166