1 #ifndef _PhotosHEPEVTParticle_h_included_
2 #define _PhotosHEPEVTParticle_h_included_
24 #include "PhotosParticle.h"
25 #include "PhotosHEPEVTEvent.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);
120 void setPx(
double px);
123 void setPy(
double py);
126 void setPz(
double pz);
186 vector<PhotosHEPEVTParticle*>
cache;
int m_first_mother
Indexes of mothers (-1 if do not have mothers)
void setDaughterRangeEnd(int i)
Set index of last daughter.
double getPx()
Returns the px component of the four vector.
void setMothers(std::vector< PhotosParticle * > mothers)
Set the mothers of this particle via a vector of PhotosParticle.
void setE(double e)
Set the energy component of the four vector.
void setDaughters(std::vector< PhotosParticle * > daughters)
Set the daughters of this particle via a vector of PhotosParticle.
bool checkMomentumConservation()
Check that the 4 momentum in conserved in the decay of this particle.
bool isMotherOf(PhotosHEPEVTParticle *p)
Check if particle 'p' is mother of this particle.
void setStatus(int statu)
Set the status of this particle.
int getDaughterRangeStart()
Get index of first daughter.
int getBarcode()
Get the barcode (position in list) of this particle.
PhotosHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
Default constructor.
double getPy()
Returns the py component of the four vector.
void print()
Print information on this particle into standard output.
int getFirstMotherIndex()
Get index of first mother.
std::vector< PhotosParticle * > getAllDecayProducts()
Returns all particles in the decay tree of this particle via a vector of PhotosParticle.
void setEvent(PhotosHEPEVTEvent *event)
Set event of this particle.
double getMass()
Get the mass stored (i.e.
void setPy(double py)
Set the px component of the four vector.
PhotosHEPEVTEvent * m_event
Event from which this particle is taken.
int m_daughter_start
Range of indexes of daughters (-1 if do not have daughters)
double getPz()
Returns the pz component of the four vector.
std::vector< PhotosParticle * > getDaughters()
Returns the daughters of this particle via a vector of PhotosParticle.
void createSelfDecayVertex(PhotosParticle *out)
Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex.
vector< PhotosHEPEVTParticle * > cache
List of created particles - if they are not in the event, they will be deleted when no longer needed.
void setDaughterRangeStart(int i)
Set index of first daughter.
void addDaughter(PhotosParticle *daughter)
Add a new daughter to this particle.
void setBarcode(int barcode)
Set barcode (position in list) of this particle.
int getSecondMotherIndex()
Get index of second mother.
double getE()
Returns the energy component of the four vector.
bool isDaughterOf(PhotosHEPEVTParticle *p)
Check if particle 'p' is daughter of this particle.
void setPx(double px)
Set the px component of the four vector.
int getDaughterRangeEnd()
Get index of last daughter.
int m_status
Status (stable, decayed)
void setMass(double mass)
Set the mass of this particle.
int m_barcode
Position in the event record.
void createHistoryEntry()
Creating history entries not implemented in HEPEVT.
int getPdgID()
Get the PDG ID code of this particle.
double m_generated_mass
Mass saved at generation step.
void setPz(double pz)
Set the pz component of the four vector.
PhotosHEPEVTParticle * createNewParticle(int pdg_id, int status, double mass, double px, double py, double pz, double e)
Creates a new particle of type PhotosHEPEVTParticle, with the given properties.
int getStatus()
Get the status of this particle.
~PhotosHEPEVTParticle()
Default destructor.
std::vector< PhotosParticle * > getMothers()
Returns the mothers of this particle via a vector of PhotosParticle.
void setPdgID(int pdg_id)
Set the PDG ID code of this particle.