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.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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 setGenStatus(const int gen) { gen_ = gen; };
82
88 void setSimStatus(const int sim) { sim_ = sim; };
89
95 void setEnergy(const double energy) { energy_ = energy; };
96
102 void setMass(const double mass) { mass_ = mass; };
103
109 void setTime(const double time) { time_ = time; };
110
117 void setMomentum(const double* momentum);
118
125 void setEndpointMomentum(const double* momentum_ep);
126
133 void setVertexPosition(const double* vtx_pos);
134
141 void setEndPoint(const double* ep_pos);
142
144 int getCharge() const { return charge_; };
145
147 int getPDG() const { return pdg_; };
148
150 int getID() const { return id_; };
151
153 int getMomPDG() const { return momPDG_; };
154
156 int getGenStatus() const { return gen_; };
157
159 int getSimStatus() const { return sim_; };
160
162 double getEnergy() const { return energy_; };
163
165 double getMass() const { return mass_; };
166
168 double getTime() const { return time_; };
169
171 std::vector<double> getMomentum() const;
172
174 std::vector<double> getEndpointMomentum() const;
175
177 std::vector<double> getVertexPosition() const;
178
180 std::vector<double> getEndPoint() const;
181
183
184 private:
185
190 TRefArray* daughters_{new TRefArray{}};
191
193 int id_{-9999};
194
197
199 int charge_{-9999};
200
202 int pdg_{-9999};
203
205 int momPDG_{-9999};
206
208 int gen_{-9999};
209
211 int sim_{-9999};
212
214 double px_{-9999};
215
217 double py_{-9999};
218
220 double pz_{-9999};
221
223 double px_ep{-9999};
224
226 double py_ep{-9999};
227
229 double pz_ep{-9999};
230
232 double vtx_x_{-9999};
233
235 double vtx_y_{-9999};
236
238 double vtx_z_{-9999};
239
241 double ep_x_{-9999};
242
244 double ep_y_{-9999};
245
247 double ep_z_{-9999};
248
250 double energy_{-9999};
251
253 double mass_{-9999};
254
256 double time_{-9999};
257
258}; // MCParticle
259
260#endif // _MCPARTICLE_H_
double energy_
Definition MCParticle.h:250
double py_ep
Definition MCParticle.h:226
std::vector< double > getMomentum() const
double mass_
Definition MCParticle.h:253
double px_
Definition MCParticle.h:214
void setVertexPosition(const double *vtx_pos)
void setEndpointMomentum(const double *momentum_ep)
double pz_ep
Definition MCParticle.h:229
TRefArray * getDaughters() const
Definition MCParticle.h:46
double time_
Definition MCParticle.h:256
void setPDG(const int pdg)
Definition MCParticle.h:60
void setMass(const double mass)
Definition MCParticle.h:102
TRefArray * daughters_
Definition MCParticle.h:190
std::vector< double > getVertexPosition() const
void addDaughter(MCParticle *particle)
double vtx_y_
Definition MCParticle.h:235
double getEnergy() const
Definition MCParticle.h:162
std::vector< double > getEndPoint() const
void setID(const int id)
Definition MCParticle.h:67
double px_ep
Definition MCParticle.h:223
double py_
Definition MCParticle.h:217
void setGenStatus(const int gen)
Definition MCParticle.h:81
int n_daughters_
Definition MCParticle.h:196
double ep_x_
Definition MCParticle.h:241
double vtx_z_
Definition MCParticle.h:238
void setMomPDG(const int momPDG)
Definition MCParticle.h:74
double vtx_x_
Definition MCParticle.h:232
void setCharge(const int charge)
Definition MCParticle.h:53
int getMomPDG() const
Definition MCParticle.h:153
int getCharge() const
Definition MCParticle.h:144
void Clear(Option_t *option="")
void setMomentum(const double *momentum)
int getID() const
Definition MCParticle.h:150
std::vector< double > getEndpointMomentum() const
ClassDef(MCParticle, 1)
void setEnergy(const double energy)
Definition MCParticle.h:95
int getPDG() const
Definition MCParticle.h:147
double pz_
Definition MCParticle.h:220
void setTime(const double time)
Definition MCParticle.h:109
void setEndPoint(const double *ep_pos)
void setSimStatus(const int sim)
Definition MCParticle.h:88
int getSimStatus() const
Definition MCParticle.h:159
double ep_z_
Definition MCParticle.h:247
double getMass() const
Definition MCParticle.h:165
double getTime() const
Definition MCParticle.h:168
double ep_y_
Definition MCParticle.h:244
int getGenStatus() const
Definition MCParticle.h:156