PandaRoot
PhotosHEPEVTParticle.h
Go to the documentation of this file.
1 #ifndef _PhotosHEPEVTParticle_h_included_
2 #define _PhotosHEPEVTParticle_h_included_
3 
18 #include <iostream>
19 #include <vector>
20 #include <cmath>
21 #include <cstdio>
22 
23 #include "Photos.h"
24 #include "PhotosParticle.h"
25 #include "PhotosHEPEVTEvent.h"
26 
27 namespace Photospp {
28 
29 class PhotosHEPEVTEvent;
30 
32 
33  public:
36 
38  PhotosHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de);
39 
41  void addDaughter(PhotosParticle *daughter);
42 
44  void setMothers(std::vector<PhotosParticle *> mothers);
45 
47  void setDaughters(std::vector<PhotosParticle *> daughters);
48 
50  std::vector<PhotosParticle *> getMothers();
51 
53  std::vector<PhotosParticle *> getDaughters();
54 
57  std::vector<PhotosParticle *> getAllDecayProducts();
58 
61 
69  PhotosHEPEVTParticle *createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e);
70 
72  void createHistoryEntry();
73 
77 
80 
83 
85  void print();
86 
88  void setPdgID(int pdg_id);
89 
91  void setStatus(int statu);
92 
94  void setMass(double mass);
95 
97  int getPdgID();
98 
100  int getStatus();
101 
103  double getMass();
104 
106  double getPx();
107 
109  double getPy();
110 
112  double getPz();
113 
115  double getE();
116 
118  void setPx(double px);
119 
121  void setPy(double py);
122 
124  void setPz(double pz);
125 
127  void setE(double e);
128 
130  int getBarcode();
131 
133  void setBarcode(int barcode);
134 
136  void setEvent(PhotosHEPEVTEvent *event);
137 
139  int getFirstMotherIndex();
140 
142  int getSecondMotherIndex();
143 
145  int getDaughterRangeStart();
146 
148  int getDaughterRangeEnd();
149 
150  private:
152  void setDaughterRangeStart(int i) { m_daughter_start = i; }
153 
155  void setDaughterRangeEnd(int i) { m_daughter_end = i; }
156 
158  PhotosHEPEVTEvent *m_event;
159 
161  int m_barcode;
162 
164  int m_first_mother, m_second_mother;
165 
167  int m_daughter_start, m_daughter_end;
168 
170  int m_pdgid;
171 
173  int m_status;
174 
176  double m_px, m_py, m_pz, m_e;
177 
179  double m_generated_mass;
180 
183  vector<PhotosHEPEVTParticle *> cache;
184 };
185 
186 } // namespace Photospp
187 #endif
std::vector< PhotosParticle * > getAllDecayProducts()
PhotosHEPEVTParticle * createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e)
__m128 m
Definition: P4_F32vec4.h:26
static const double me
Definition: mzparameters.h:11
PhotosHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
void createSelfDecayVertex(PhotosParticle *out)
std::vector< PhotosParticle * > getDaughters()
unsigned int i
Definition: P4_F32vec4.h:21
bool isDaughterOf(PhotosHEPEVTParticle *p)
Definition: Log.h:30
void setEvent(PhotosHEPEVTEvent *event)
void setBarcode(int barcode)
bool isMotherOf(PhotosHEPEVTParticle *p)
std::vector< PhotosParticle * > getMothers()
void addDaughter(PhotosParticle *daughter)
void setDaughters(std::vector< PhotosParticle *> daughters)
void setMothers(std::vector< PhotosParticle *> mothers)
double pz[39]
Definition: pipisigmas.h:13
int status[10]
Definition: f_Init.h:24