PandaRoot
3.52/src/eventRecordInterfaces/PhotosHepMCParticle.h
Go to the documentation of this file.
1 #ifndef _PhotosHepMCParticle_h_included_
2 #define _PhotosHepMCParticle_h_included_
3 
21 #include <vector>
22 
23 #include "HepMC/GenParticle.h"
24 #include "PhotosParticle.h"
25 
26 using namespace std;
27 
28 namespace Photospp {
29 
30 class PhotosHepMCParticle : public PhotosParticle {
31 
32  public:
35 
37  PhotosHepMCParticle(HepMC::GenParticle *particle);
38 
41  PhotosHepMCParticle(int pdg_id, int status, double mass);
42 
45 
47  HepMC::GenParticle *getHepMC();
48 
50  void setMothers(std::vector<PhotosParticle *> mothers);
51 
53  void setDaughters(std::vector<PhotosParticle *> daughters);
54 
56  void addDaughter(PhotosParticle *daughter);
57 
59  std::vector<PhotosParticle *> getMothers();
60 
64  std::vector<PhotosParticle *> getDaughters();
65 
68  std::vector<PhotosParticle *> getAllDecayProducts();
69 
71  void setPdgID(int pdg_id);
72 
74  void setStatus(int statu);
75 
77  void setMass(double mass);
78 
80  int getPdgID();
81 
83  int getStatus();
84 
86  int getBarcode();
87 
90  bool checkMomentumConservation();
91 
99  PhotosHepMCParticle *createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e);
100 
103  void createHistoryEntry();
104 
107  void createSelfDecayVertex(PhotosParticle *out);
108 
110  void print();
111 
113  double getPx();
114 
116  double getPy();
117 
119  double getPz();
120 
122  double getE();
123 
125  double getMass();
126 
128  void setPx(double px);
129 
131  void setPy(double py);
132 
134  void setPz(double pz);
135 
137  void setE(double e);
138 
139  private:
141  void clear(std::vector<PhotosParticle *> v);
142 
144  HepMC::GenParticle *m_particle;
145 
147  std::vector<PhotosParticle *> m_mothers;
148 
150  std::vector<PhotosParticle *> m_daughters;
151 
153  std::vector<PhotosParticle *> m_decay_products;
154 
157  std::vector<PhotosParticle *> m_created_particles;
158 };
159 
160 } // namespace Photospp
161 #endif
STL namespace.
__m128 v
Definition: P4_F32vec4.h:3
Definition: Log.h:30
Abstract base class for particle in the event. This class also handles boosting.
Interface to HepMC::GenParticle objects.
void print(std::vector< ClassifierOutPuts > const &OutPutList)
double pz[39]
Definition: pipisigmas.h:13
int status[10]
Definition: f_Init.h:24