1 #ifndef _PhotosHEPEVTParticle_h_included_ 2 #define _PhotosHEPEVTParticle_h_included_ 24 #include "PhotosParticle.h" 29 class PhotosHEPEVTEvent;
38 PhotosHEPEVTParticle(
int pdgid,
int status,
double px,
double py,
double pz,
double e,
double m,
int ms,
int me,
int ds,
int de);
44 void setMothers(std::vector<PhotosParticle *> mothers);
47 void setDaughters(std::vector<PhotosParticle *> daughters);
118 void setPx(
double px);
121 void setPy(
double py);
136 void setEvent(PhotosHEPEVTEvent *event);
152 void setDaughterRangeStart(
int i) { m_daughter_start =
i; }
155 void setDaughterRangeEnd(
int i) { m_daughter_end =
i; }
158 PhotosHEPEVTEvent *m_event;
164 int m_first_mother, m_second_mother;
167 int m_daughter_start, m_daughter_end;
176 double m_px, m_py, m_pz, m_e;
179 double m_generated_mass;
183 vector<PhotosHEPEVTParticle *> cache;
std::vector< PhotosParticle * > getAllDecayProducts()
PhotosHEPEVTParticle * createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e)
int getDaughterRangeEnd()
void setPdgID(int pdg_id)
PhotosHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
int getFirstMotherIndex()
void createSelfDecayVertex(PhotosParticle *out)
std::vector< PhotosParticle * > getDaughters()
int getDaughterRangeStart()
bool isDaughterOf(PhotosHEPEVTParticle *p)
void setEvent(PhotosHEPEVTEvent *event)
void setStatus(int statu)
void setBarcode(int barcode)
bool isMotherOf(PhotosHEPEVTParticle *p)
std::vector< PhotosParticle * > getMothers()
Abstract base class for particle in the event. This class also handles boosting.
int getSecondMotherIndex()
bool checkMomentumConservation()
void addDaughter(PhotosParticle *daughter)
void setDaughters(std::vector< PhotosParticle *> daughters)
void setMothers(std::vector< PhotosParticle *> mothers)
void createHistoryEntry()
void setMass(double mass)
Single particle of HEPEVT event record.