Public Member Functions | |
PhotosHepMCParticle () | |
PhotosHepMCParticle (HepMC::GenParticle *particle) | |
PhotosHepMCParticle (int pdg_id, int status, double mass) | |
~PhotosHepMCParticle () | |
HepMC::GenParticle * | getHepMC () |
void | setMothers (std::vector< PhotosParticle * > mothers) |
void | setDaughters (std::vector< PhotosParticle * > daughters) |
void | addDaughter (PhotosParticle *daughter) |
std::vector< PhotosParticle * > | getMothers () |
std::vector< PhotosParticle * > | getDaughters () |
std::vector< PhotosParticle * > | getAllDecayProducts () |
void | setPdgID (int pdg_id) |
void | setStatus (int statu) |
void | setMass (double mass) |
int | getPdgID () |
int | getStatus () |
int | getBarcode () |
bool | checkMomentumConservation () |
PhotosHepMCParticle * | createNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e) |
void | createHistoryEntry () |
void | createSelfDecayVertex (PhotosParticle *out) |
void | print () |
double | getPx () |
double | getPy () |
double | getPz () |
double | getE () |
double | getMass () |
void | setPx (double px) |
void | setPy (double py) |
void | setPz (double pz) |
void | setE (double e) |
PhotosHepMCParticle () | |
PhotosHepMCParticle (HepMC::GenParticle *particle) | |
PhotosHepMCParticle (int pdg_id, int status, double mass) | |
~PhotosHepMCParticle () | |
HepMC::GenParticle * | getHepMC () |
void | setMothers (std::vector< PhotosParticle * > mothers) |
void | setDaughters (std::vector< PhotosParticle * > daughters) |
void | addDaughter (PhotosParticle *daughter) |
std::vector< PhotosParticle * > | getMothers () |
std::vector< PhotosParticle * > | getDaughters () |
std::vector< PhotosParticle * > | getAllDecayProducts () |
void | setPdgID (int pdg_id) |
void | setStatus (int statu) |
void | setMass (double mass) |
int | getPdgID () |
int | getStatus () |
int | getBarcode () |
bool | checkMomentumConservation () |
PhotosHepMCParticle * | createNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e) |
void | createHistoryEntry () |
void | createSelfDecayVertex (PhotosParticle *out) |
void | print () |
double | getPx () |
double | getPy () |
double | getPz () |
double | getE () |
double | getMass () |
void | setPx (double px) |
void | setPy (double py) |
void | setPz (double pz) |
void | setE (double e) |
bool | hasDaughters () |
bool | hasDaughters () |
PhotosParticle * | findLastSelf () |
PhotosParticle * | findLastSelf () |
std::vector< PhotosParticle * > | findProductionMothers () |
std::vector< PhotosParticle * > | findProductionMothers () |
std::vector< PhotosParticle * > | getDecayTree () |
std::vector< PhotosParticle * > | getDecayTree () |
void | boostToRestFrame (PhotosParticle *boost) |
void | boostToRestFrame (PhotosParticle *boost) |
void | boostDaughtersToRestFrame (PhotosParticle *boost) |
void | boostDaughtersToRestFrame (PhotosParticle *boost) |
void | boostFromRestFrame (PhotosParticle *boost) |
void | boostFromRestFrame (PhotosParticle *boost) |
void | boostDaughtersFromRestFrame (PhotosParticle *boost) |
void | boostDaughtersFromRestFrame (PhotosParticle *boost) |
void | boostAlongZ (double pz, double e) |
void | boostAlongZ (double pz, double e) |
void | rotate (int axis, double phi, int second_axis=Z_AXIS) |
void | rotate (int axis, double phi, int second_axis=Z_AXIS) |
void | rotateDaughters (int axis, double phi, int second_axis=Z_AXIS) |
void | rotateDaughters (int axis, double phi, int second_axis=Z_AXIS) |
double | getRotationAngle (int axis, int second_axis=Z_AXIS) |
double | getRotationAngle (int axis, int second_axis=Z_AXIS) |
double | getP () |
double | getP (int axis) |
double | getP () |
double | getP (int axis) |
void | setP (int axis, double p_component) |
void | setP (int axis, double p_component) |
virtual double | getVirtuality () |
virtual double | getVirtuality () |
Static Public Attributes | |
static const int | STABLE =1 |
static const int | DECAYED =2 |
static const int | HISTORY =3 |
static const int | X_AXIS =1 |
static const int | Y_AXIS =2 |
static const int | Z_AXIS =3 |
static const int | Z0 = 23 |
static const int | HIGGS = 25 |
static const int | HIGGS_H = 35 |
static const int | HIGGS_A = 36 |
static const int | HIGGS_PLUS = 37 |
static const int | HIGGS_MINUS = -37 |
static const int | W_PLUS = 24 |
static const int | W_MINUS = -24 |
static const int | GAMMA = 22 |
static const int | TAU_PLUS = -15 |
static const int | TAU_MINUS = 15 |
static const int | TAU_NEUTRINO = 16 |
static const int | TAU_ANTINEUTRINO = -16 |
static const int | MUON_PLUS = -13 |
static const int | MUON_MINUS = 13 |
static const int | MUON_NEUTRINO = 14 |
static const int | MUON_ANTINEUTRINO = -14 |
static const int | POSITRON = -11 |
static const int | ELECTRON = 11 |
static const int | ELECTRON_NEUTRINO = 12 |
static const int | ELECTRON_ANTINEUTRINO = -12 |
static const int | UP = 2 |
static const int | ANTIUP = -2 |
static const int | DOWN = 1 |
static const int | ANTIDOWN = -1 |
static const int | OTHER = 0 |
Private Member Functions | |
void | clear (std::vector< PhotosParticle * > v) |
void | clear (std::vector< PhotosParticle * > v) |
Private Attributes | |
HepMC::GenParticle * | m_particle |
std::vector< PhotosParticle * > | m_mothers |
std::vector< PhotosParticle * > | m_daughters |
std::vector< PhotosParticle * > | m_decay_products |
std::vector< PhotosParticle * > | m_created_particles |
Definition at line 31 of file src/eventRecordInterfaces/PhotosHepMCParticle.h.
PhotosHepMCParticle | ( | HepMC::GenParticle * | particle | ) |
Constructor which keeps a pointer to the HepMC::GenParticle
Definition at line 20 of file PhotosHepMCParticle.cxx.
References m_particle.
PhotosHepMCParticle | ( | int | pdg_id, |
int | status, | ||
double | mass ) |
Constructor which creates a new HepMC::GenParticle and sets the properties pdg_id, statu and mass.
Definition at line 13 of file PhotosHepMCParticle.cxx.
References m_particle.
~PhotosHepMCParticle | ( | ) |
Destructor
Definition at line 24 of file PhotosHepMCParticle.cxx.
References clear(), m_daughters, and m_mothers.
General constructor
PhotosHepMCParticle | ( | HepMC::GenParticle * | particle | ) |
Constructor which keeps a pointer to the HepMC::GenParticle
PhotosHepMCParticle | ( | int | pdg_id, |
int | status, | ||
double | mass ) |
Constructor which creates a new HepMC::GenParticle and sets the properties pdg_id, statu and mass.
~PhotosHepMCParticle | ( | ) |
Destructor
|
virtual |
Add a new daughter to the end vertex of this particle
Implements PhotosParticle.
Definition at line 88 of file PhotosHepMCParticle.cxx.
References Log::Fatal(), getHepMC(), m_daughters, m_particle, and PhotosHepMCParticle().
|
virtual |
Add a new daughter to the end vertex of this particle
Implements PhotosParticle.
|
inherited |
|
inherited |
Do a Lorenz transformation along the Z axis.
|
inherited |
Transform this particles four momentum from the lab frame to the rest frame of the parameter PhotosParticle.
Definition at line 63 of file PhotosParticle.cxx.
References getAllDecayProducts(), and hasDaughters().
|
inherited |
Transform this particles four momentum from the lab frame to the rest frame of the parameter PhotosParticle.
|
inherited |
Transform the four momentum of all the daughters recursively into the frame of the "particle" PhotosParticle.
Definition at line 80 of file PhotosParticle.cxx.
References getAllDecayProducts(), and hasDaughters().
|
inherited |
Transform the four momentum of all the daughters recursively into the frame of the "particle" PhotosParticle.
|
inherited |
Transform this particles four momentum from the rest frame of the paramter PhotosParticle, back into the lab frame.
Definition at line 114 of file PhotosParticle.cxx.
References boostAlongZ(), getE(), getP(), getRotationAngle(), rotate(), X_AXIS, and Y_AXIS.
|
inherited |
Transform this particles four momentum from the rest frame of the paramter PhotosParticle, back into the lab frame.
|
inherited |
Transform this particles four momentum from the lab frome into the rest frame of the paramter PhotosParticle.
Definition at line 98 of file PhotosParticle.cxx.
References boostAlongZ(), getE(), getP(), getRotationAngle(), rotate(), X_AXIS, and Y_AXIS.
|
inherited |
Transform this particles four momentum from the lab frome into the rest frame of the paramter PhotosParticle.
|
virtual |
check that the 4 momentum in conserved at the vertices producing and ending this particle
Implements PhotosParticle.
Definition at line 223 of file PhotosHepMCParticle.cxx.
References Photos::isStatusCodeIgnored(), m_particle, Photos::momentum_conservation_threshold, Log::RedirectOutput(), and Log::RevertOutput().
|
virtual |
check that the 4 momentum in conserved at the vertices producing and ending this particle
Implements PhotosParticle.
|
private |
Internal function used to clear particles from the vector
Definition at line 32 of file PhotosHepMCParticle.cxx.
|
private |
Internal function used to clear particles from the vector
References m_created_particles, m_daughters, m_decay_products, m_mothers, and m_particle.
|
virtual |
Create history entry for HepMC event record. Creates copy of this particle with status = 3
Implements PhotosParticle.
Definition at line 305 of file PhotosHepMCParticle.cxx.
References Photos::historyEntriesStatus, and m_particle.
|
virtual |
Create history entry for HepMC event record. Creates copy of this particle with status = 3
Implements PhotosParticle.
|
virtual |
Create a new particle of type PhotosHepMCParticle, with the given properties. The new particle bares no relations to this particle, but it provides a way of creating a instance of this derived class. eg. createNewParticle() is used inside filhep_() so that a PhotosHepMCParticle can be created without the method having explicit knowledge of the PhotosHepMCParticle class
Implements PhotosParticle.
Definition at line 289 of file PhotosHepMCParticle.cxx.
References getHepMC(), m_created_particles, and PhotosHepMCParticle().
|
virtual |
Create a new particle of type PhotosHepMCParticle, with the given properties. The new particle bares no relations to this particle, but it provides a way of creating a instance of this derived class. eg. createNewParticle() is used inside filhep_() so that a PhotosHepMCParticle can be created without the method having explicit knowledge of the PhotosHepMCParticle class
Implements PhotosParticle.
References PhotosHepMCParticle().
|
virtual |
Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex
Implements PhotosParticle.
Definition at line 318 of file PhotosHepMCParticle.cxx.
References getHepMC(), getStatus(), m_particle, PhotosHepMCParticle(), and setStatus().
|
virtual |
Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex
Implements PhotosParticle.
|
inherited |
Traverse the event structure and find the final version of this particle which does not have a particle of it's own type as it's daughter. eg. Generally the final stable copy
Definition at line 16 of file PhotosParticle.cxx.
References getDaughters().
|
inherited |
Traverse the event structure and find the final version of this particle which does not have a particle of it's own type as it's daughter. eg. Generally the final stable copy
|
inherited |
Traverse the event structure and find the first set of mothers which are not of the same type as this particle.
Definition at line 31 of file PhotosParticle.cxx.
References getMothers().
|
inherited |
Traverse the event structure and find the first set of mothers which are not of the same type as this particle.
|
virtual |
Returns all particles in the decay tree of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 183 of file PhotosHepMCParticle.cxx.
References getBarcode(), getDaughters(), PhotosParticle::hasDaughters(), and m_decay_products.
|
virtual |
Returns all particles in the decay tree of this particle via a vector of PhotosParticle
Implements PhotosParticle.
|
virtual |
Get the barcode of this particle
Implements PhotosParticle.
Definition at line 284 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Get the barcode of this particle
Implements PhotosParticle.
|
virtual |
Returns the daughters of this particle via a vector of PhotosParticle IMPORTANT: this method will remeber list from the first call. Particles (e.g. photons) added later will be ignored
Implements PhotosParticle.
Definition at line 162 of file PhotosHepMCParticle.cxx.
References Photos::isStatusCodeIgnored(), m_daughters, m_particle, and PhotosHepMCParticle().
|
virtual |
Returns the daughters of this particle via a vector of PhotosParticle IMPORTANT: this method will remeber list from the first call. Particles (e.g. photons) added later will be ignored
Implements PhotosParticle.
|
inherited |
Return whole decay tree starting from this particle
Definition at line 45 of file PhotosParticle.cxx.
References getBarcode(), getDaughters(), getDecayTree(), and getMothers().
|
inherited |
Return whole decay tree starting from this particle
|
virtual |
Returns the energy component of the four vector
Implements PhotosParticle.
Definition at line 367 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Returns the energy component of the four vector
Implements PhotosParticle.
HepMC::GenParticle * getHepMC | ( | ) |
return the HepMC::GenParticle
Definition at line 40 of file PhotosHepMCParticle.cxx.
References m_particle.
HepMC::GenParticle * getHepMC | ( | ) |
return the HepMC::GenParticle
|
virtual |
Returns the mass taken from event record
Implements PhotosParticle.
Definition at line 399 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Returns the mass taken from event record
Implements PhotosParticle.
|
virtual |
Returns the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 145 of file PhotosHepMCParticle.cxx.
References m_mothers, m_particle, and PhotosHepMCParticle().
|
virtual |
Returns the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
|
inherited |
Get scalar momentum
Definition at line 202 of file PhotosParticle.cxx.
|
inherited |
Get scalar momentum
|
inherited |
|
inherited |
Get momentum component in the direction of "axis" (x,y,z)
|
virtual |
Get the PDG ID code of this particle
Implements PhotosParticle.
Definition at line 276 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Get the PDG ID code of this particle
Implements PhotosParticle.
|
inlinevirtual |
Returns the px component of the four vector
Implements PhotosParticle.
Definition at line 355 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Returns the px component of the four vector
Implements PhotosParticle.
|
inlinevirtual |
Returns the py component of the four vector
Implements PhotosParticle.
Definition at line 359 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Returns the py component of the four vector
Implements PhotosParticle.
|
virtual |
Returns the pz component of the four vector
Implements PhotosParticle.
Definition at line 363 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Returns the pz component of the four vector
Implements PhotosParticle.
|
inherited |
Returns the angle around the axis "axis" needed to rotate the four momenum is such a way that the non-Z component disappears and Z>0. This is used to in rotating the coordinate system into a frame with only a Z component before calling boostAlongZ().
Get the angle needed to rotate the 4 momentum vector so that the x (y) component disapears. (and the Z component is > 0)
if(getP(axis)==0){ if(getPz()>0) return 0; //no rotaion required else return M_PI; }
Definition at line 135 of file PhotosParticle.cxx.
References getP().
|
inherited |
Returns the angle around the axis "axis" needed to rotate the four momenum is such a way that the non-Z component disappears and Z>0. This is used to in rotating the coordinate system into a frame with only a Z component before calling boostAlongZ().
References Z_AXIS.
|
virtual |
Get the status of this particle
Implements PhotosParticle.
Definition at line 280 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Get the status of this particle
Implements PhotosParticle.
|
virtualinherited |
|
virtualinherited |
Get sqrt(e^2-p^2)
|
inherited |
Return whether the particle has any chidren
Definition at line 10 of file PhotosParticle.cxx.
References getDaughters().
|
inherited |
Return whether the particle has any chidren
|
virtual |
Print some information about this particle to standard output
Implements PhotosParticle.
Definition at line 348 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Print some information about this particle to standard output
Implements PhotosParticle.
|
inherited |
rotate this particles 4-momentum by an angle phi from the axisis "axis" towards the axis "second_axis".
Rotation around an axis X or Y
Definition at line 168 of file PhotosParticle.cxx.
|
inherited |
rotate this particles 4-momentum by an angle phi from the axisis "axis" towards the axis "second_axis".
References Z_AXIS.
|
inherited |
rotate 4-momentum of daughters of this particle by an angle phi from the axisis "axis" towards the axis "second_axis".
Definition at line 176 of file PhotosParticle.cxx.
References getDaughters(), and hasDaughters().
|
inherited |
rotate 4-momentum of daughters of this particle by an angle phi from the axisis "axis" towards the axis "second_axis".
References Z_AXIS.
|
virtual |
Set the daughters of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 103 of file PhotosHepMCParticle.cxx.
References clear(), Log::Fatal(), m_daughters, m_particle, and PhotosHepMCParticle().
|
virtual |
Set the daughters of this particle via a vector of PhotosParticle
Implements PhotosParticle.
|
virtual |
Set the energy component of the four vector
Implements PhotosParticle.
Definition at line 393 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the energy component of the four vector
Implements PhotosParticle.
|
virtual |
Set the mass of this particle
Implements PhotosParticle.
Definition at line 268 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the mass of this particle
Implements PhotosParticle.
|
virtual |
Set the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 44 of file PhotosHepMCParticle.cxx.
References clear(), PhotosParticle::DECAYED, Log::Fatal(), m_mothers, m_particle, PhotosHepMCParticle(), and PhotosParticle::STABLE.
|
virtual |
Set the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
|
inherited |
|
inherited |
Set momentum component in the direction of "axis" (x,y,z)
|
virtual |
Set the PDG ID code of this particle
Implements PhotosParticle.
Definition at line 264 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the PDG ID code of this particle
Implements PhotosParticle.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 371 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 380 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
|
virtual |
Set the pz component of the four vector
Implements PhotosParticle.
Definition at line 387 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the pz component of the four vector
Implements PhotosParticle.
|
virtual |
Set the status of this particle
Implements PhotosParticle.
Definition at line 272 of file PhotosHepMCParticle.cxx.
References m_particle.
|
virtual |
Set the status of this particle
Implements PhotosParticle.
|
staticinherited |
anti-down quark
Definition at line 119 of file include/Photos/PhotosParticle.h.
|
staticinherited |
anti-up quark
Definition at line 113 of file include/Photos/PhotosParticle.h.
|
staticinherited |
Decayed particle status
Definition at line 32 of file include/Photos/PhotosParticle.h.
|
staticinherited |
down quark
Definition at line 116 of file include/Photos/PhotosParticle.h.
|
staticinherited |
e- particle
Definition at line 101 of file include/Photos/PhotosParticle.h.
|
staticinherited |
e antineutrino particle
Definition at line 107 of file include/Photos/PhotosParticle.h.
|
staticinherited |
e neutrino particle
Definition at line 104 of file include/Photos/PhotosParticle.h.
|
staticinherited |
photon
Definition at line 71 of file include/Photos/PhotosParticle.h.
|
staticinherited |
H particle
Definition at line 50 of file include/Photos/PhotosParticle.h.
|
staticinherited |
A0 particle
Definition at line 56 of file include/Photos/PhotosParticle.h.
|
staticinherited |
H0 particle
Definition at line 53 of file include/Photos/PhotosParticle.h.
|
staticinherited |
H- particle
Definition at line 62 of file include/Photos/PhotosParticle.h.
|
staticinherited |
H+ particle
Definition at line 59 of file include/Photos/PhotosParticle.h.
|
staticinherited |
History particle status
Definition at line 35 of file include/Photos/PhotosParticle.h.
|
private |
list to keep track of new particles which have been created from this one, so we can call their destructor later
Definition at line 160 of file include/Photos/PhotosHepMCParticle.h.
|
private |
A vector of this particles daughters
Definition at line 153 of file include/Photos/PhotosHepMCParticle.h.
|
private |
A vector of all decay products of this particle
Definition at line 156 of file include/Photos/PhotosHepMCParticle.h.
|
private |
A vector of this particles mothers
Definition at line 150 of file include/Photos/PhotosHepMCParticle.h.
|
private |
A pointer to the HepMC::GenParticle particle
Definition at line 147 of file include/Photos/PhotosHepMCParticle.h.
|
staticinherited |
muon antineutrino particle
Definition at line 95 of file include/Photos/PhotosParticle.h.
|
staticinherited |
muon- particle
Definition at line 89 of file include/Photos/PhotosParticle.h.
|
staticinherited |
muon neutrino particle
Definition at line 92 of file include/Photos/PhotosParticle.h.
|
staticinherited |
muon+ particle
Definition at line 86 of file include/Photos/PhotosParticle.h.
|
staticinherited |
All other particle types
Definition at line 122 of file include/Photos/PhotosParticle.h.
|
staticinherited |
e+ particle
Definition at line 98 of file include/Photos/PhotosParticle.h.
|
staticinherited |
Stable particle status
Definition at line 29 of file include/Photos/PhotosParticle.h.
|
staticinherited |
tau antineutrino particle
Definition at line 83 of file include/Photos/PhotosParticle.h.
|
staticinherited |
tau- particle
Definition at line 77 of file include/Photos/PhotosParticle.h.
|
staticinherited |
tau neutrino particle
Definition at line 80 of file include/Photos/PhotosParticle.h.
|
staticinherited |
tau+ particle
Definition at line 74 of file include/Photos/PhotosParticle.h.
|
staticinherited |
up quark
Definition at line 110 of file include/Photos/PhotosParticle.h.
|
staticinherited |
W- particle
Definition at line 68 of file include/Photos/PhotosParticle.h.
|
staticinherited |
W+ particle
Definition at line 65 of file include/Photos/PhotosParticle.h.
|
staticinherited |
X Axis
Definition at line 38 of file include/Photos/PhotosParticle.h.
|
staticinherited |
Y Axis
Definition at line 41 of file include/Photos/PhotosParticle.h.
|
staticinherited |
Z0 particle
Definition at line 47 of file include/Photos/PhotosParticle.h.
|
staticinherited |
Z Axis
Definition at line 44 of file include/Photos/PhotosParticle.h.