

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) |
| bool | hasDaughters () |
| PhotosParticle * | findLastSelf () |
| std::vector< PhotosParticle * > | findProductionMothers () |
| std::vector< PhotosParticle * > | getDecayTree () |
| void | boostToRestFrame (PhotosParticle *boost) |
| void | boostDaughtersToRestFrame (PhotosParticle *boost) |
| void | boostFromRestFrame (PhotosParticle *boost) |
| void | boostDaughtersFromRestFrame (PhotosParticle *boost) |
| void | boostAlongZ (double pz, double e) |
| void | rotate (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 | getP () |
| double | getP (int axis) |
| void | setP (int axis, double p_component) |
| 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) |
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 PhotosHepMCParticle.h.
General constructor
Definition at line 9 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| PhotosHepMCParticle | ( | HepMC::GenParticle * | particle | ) |
Constructor which keeps a pointer to the HepMC::GenParticle
Definition at line 20 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::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 PhotosHepMCParticle::m_particle.
| ~PhotosHepMCParticle | ( | ) |
Destructor
Definition at line 24 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::clear(), PhotosHepMCParticle::m_daughters, PhotosHepMCParticle::m_mothers, and PhotosHepMCParticle::m_particle.
| void addDaughter | ( | PhotosParticle * | daughter | ) | [virtual] |
Add a new daughter to the end vertex of this particle
Implements PhotosParticle.
Definition at line 94 of file PhotosHepMCParticle.cxx.
References Log::Fatal(), PhotosHepMCParticle::m_daughters, and PhotosHepMCParticle::m_particle.
| void boostAlongZ | ( | double | boost_pz, | |
| double | boost_e | |||
| ) | [inherited] |
Do a Lorenz transformation along the Z axis.
Boost this vector along the Z direction. Assume no momentum components in the X or Y directions.
Definition at line 155 of file PhotosParticle.cxx.
References PhotosParticle::getE(), PhotosParticle::getPz(), PhotosParticle::setE(), and PhotosParticle::setPz().
| void boostDaughtersFromRestFrame | ( | PhotosParticle * | boost | ) | [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 PhotosParticle::getAllDecayProducts(), and PhotosParticle::hasDaughters().
| void boostDaughtersToRestFrame | ( | PhotosParticle * | boost | ) | [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 PhotosParticle::getAllDecayProducts(), and PhotosParticle::hasDaughters().
| void boostFromRestFrame | ( | PhotosParticle * | boost | ) | [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 PhotosParticle::boostAlongZ(), PhotosParticle::getE(), PhotosParticle::getP(), PhotosParticle::getRotationAngle(), PhotosParticle::rotate(), PhotosParticle::X_AXIS, and PhotosParticle::Y_AXIS.
| void boostToRestFrame | ( | PhotosParticle * | boost | ) | [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 PhotosParticle::boostAlongZ(), PhotosParticle::getE(), PhotosParticle::getP(), PhotosParticle::getRotationAngle(), PhotosParticle::rotate(), PhotosParticle::X_AXIS, and PhotosParticle::Y_AXIS.
| bool checkMomentumConservation | ( | ) | [virtual] |
check that the 4 momentum in conserved at the vertices producing and ending this particle
Implements PhotosParticle.
Definition at line 229 of file PhotosHepMCParticle.cxx.
References Photos::isStatusCodeIgnored(), PhotosHepMCParticle::m_particle, Photos::momentum_conservation_threshold, Log::RedirectOutput(), and Log::RevertOutput().
| void clear | ( | std::vector< PhotosParticle * > | v | ) | [private] |
Internal function used to clear particles from the vector
Definition at line 38 of file PhotosHepMCParticle.cxx.
| void createHistoryEntry | ( | ) | [virtual] |
Create history entry for HepMC event record. Creates copy of this particle with status = 3
Implements PhotosParticle.
Definition at line 311 of file PhotosHepMCParticle.cxx.
References Photos::historyEntriesStatus, and PhotosHepMCParticle::m_particle.
| PhotosHepMCParticle * createNewParticle | ( | int | pdg_id, | |
| int | status, | |||
| double | mass, | |||
| double | px, | |||
| double | py, | |||
| double | pz, | |||
| double | e | |||
| ) | [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 295 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::m_created_particles, and PhotosHepMCParticle::PhotosHepMCParticle().
| void createSelfDecayVertex | ( | PhotosParticle * | out | ) | [virtual] |
Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex
Implements PhotosParticle.
Definition at line 324 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::getStatus(), PhotosHepMCParticle::m_particle, and PhotosHepMCParticle::setStatus().
| PhotosParticle * findLastSelf | ( | ) | [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 PhotosParticle::getDaughters(), and PhotosParticle::getPdgID().
| vector< PhotosParticle * > findProductionMothers | ( | ) | [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 PhotosParticle::getMothers(), and PhotosParticle::getPdgID().
| std::vector< PhotosParticle * > getAllDecayProducts | ( | ) | [virtual] |
Returns all particles in the decay tree of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 189 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::getBarcode(), PhotosHepMCParticle::getDaughters(), PhotosParticle::hasDaughters(), and PhotosHepMCParticle::m_decay_products.
| int getBarcode | ( | ) | [virtual] |
Get the barcode of this particle
Implements PhotosParticle.
Definition at line 290 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| std::vector< PhotosParticle * > getDaughters | ( | ) | [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 168 of file PhotosHepMCParticle.cxx.
References Photos::isStatusCodeIgnored(), PhotosHepMCParticle::m_daughters, PhotosHepMCParticle::m_particle, and PhotosHepMCParticle::PhotosHepMCParticle().
| vector< PhotosParticle * > getDecayTree | ( | ) | [inherited] |
Return whole decay tree starting from this particle
Definition at line 45 of file PhotosParticle.cxx.
References PhotosParticle::getBarcode(), PhotosParticle::getDaughters(), PhotosParticle::getDecayTree(), and PhotosParticle::getMothers().
| double getE | ( | ) | [virtual] |
Returns the energy component of the four vector
Implements PhotosParticle.
Definition at line 373 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| HepMC::GenParticle * getHepMC | ( | ) |
return the HepMC::GenParticle
Definition at line 46 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| double getMass | ( | ) | [virtual] |
Returns the mass taken from event record
Implements PhotosParticle.
Definition at line 405 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| std::vector< PhotosParticle * > getMothers | ( | ) | [virtual] |
Returns the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 151 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_mothers, PhotosHepMCParticle::m_particle, and PhotosHepMCParticle::PhotosHepMCParticle().
| double getP | ( | int | axis | ) | [inherited] |
Get momentum component in the direction of "axis" (x,y,z)
Definition at line 207 of file PhotosParticle.cxx.
References PhotosParticle::getPx(), PhotosParticle::getPy(), PhotosParticle::getPz(), PhotosParticle::X_AXIS, PhotosParticle::Y_AXIS, and PhotosParticle::Z_AXIS.
| double getP | ( | ) | [inherited] |
Get scalar momentum
Definition at line 202 of file PhotosParticle.cxx.
References PhotosParticle::getPx(), PhotosParticle::getPy(), and PhotosParticle::getPz().
| int getPdgID | ( | ) | [virtual] |
Get the PDG ID code of this particle
Implements PhotosParticle.
Definition at line 282 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| double getPx | ( | ) | [inline, virtual] |
Returns the px component of the four vector
Implements PhotosParticle.
Definition at line 361 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| double getPy | ( | ) | [inline, virtual] |
Returns the py component of the four vector
Implements PhotosParticle.
Definition at line 365 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| double getPz | ( | ) | [virtual] |
Returns the pz component of the four vector
Implements PhotosParticle.
Definition at line 369 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| double getRotationAngle | ( | int | axis, | |
| int | second_axis = Z_AXIS | |||
| ) | [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 PhotosParticle::getP().
| int getStatus | ( | ) | [virtual] |
Get the status of this particle
Implements PhotosParticle.
Definition at line 286 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| double getVirtuality | ( | ) | [virtual, inherited] |
Get sqrt(e^2-p^2)
Definition at line 193 of file PhotosParticle.cxx.
References PhotosParticle::getE(), and PhotosParticle::getP().
| bool hasDaughters | ( | ) | [inherited] |
Return whether the particle has any chidren
Definition at line 10 of file PhotosParticle.cxx.
References PhotosParticle::getDaughters().
| void print | ( | ) | [virtual] |
Print some information about this particle to standard output
Implements PhotosParticle.
Definition at line 354 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void rotate | ( | int | axis, | |
| double | theta, | |||
| int | second_axis = Z_AXIS | |||
| ) | [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.
References PhotosParticle::getP(), and PhotosParticle::setP().
| void rotateDaughters | ( | int | axis, | |
| double | phi, | |||
| int | second_axis = 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 PhotosParticle::getDaughters(), and PhotosParticle::hasDaughters().
| void setDaughters | ( | std::vector< PhotosParticle * > | daughters | ) | [virtual] |
Set the daughters of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 109 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::clear(), Log::Fatal(), PhotosHepMCParticle::m_daughters, and PhotosHepMCParticle::m_particle.
| void setE | ( | double | e | ) | [virtual] |
Set the energy component of the four vector
Implements PhotosParticle.
Definition at line 399 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void setMass | ( | double | mass | ) | [virtual] |
Set the mass of this particle
Implements PhotosParticle.
Definition at line 274 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void setMothers | ( | std::vector< PhotosParticle * > | mothers | ) | [virtual] |
Set the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 50 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::clear(), PhotosParticle::DECAYED, Log::Fatal(), PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::m_mothers, PhotosHepMCParticle::m_particle, and PhotosParticle::STABLE.
| void setP | ( | int | axis, | |
| double | p_component | |||
| ) | [inherited] |
Set momentum component in the direction of "axis" (x,y,z)
Definition at line 215 of file PhotosParticle.cxx.
References PhotosParticle::setPx(), PhotosParticle::setPy(), PhotosParticle::setPz(), PhotosParticle::X_AXIS, PhotosParticle::Y_AXIS, and PhotosParticle::Z_AXIS.
| void setPdgID | ( | int | pdg_id | ) | [virtual] |
Set the PDG ID code of this particle
Implements PhotosParticle.
Definition at line 270 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void setPx | ( | double | px | ) | [virtual] |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 377 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void setPy | ( | double | py | ) | [virtual] |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 386 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void setPz | ( | double | pz | ) | [virtual] |
Set the pz component of the four vector
Implements PhotosParticle.
Definition at line 393 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
| void setStatus | ( | int | statu | ) | [virtual] |
Set the status of this particle
Implements PhotosParticle.
Definition at line 278 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
const int ANTIDOWN = -1 [static, inherited] |
anti-down quark
Definition at line 119 of file PhotosParticle.h.
const int ANTIUP = -2 [static, inherited] |
anti-up quark
Definition at line 113 of file PhotosParticle.h.
const int DECAYED = 2 [static, inherited] |
Decayed particle status
Definition at line 32 of file PhotosParticle.h.
const int DOWN = 1 [static, inherited] |
down quark
Definition at line 116 of file PhotosParticle.h.
const int ELECTRON = 11 [static, inherited] |
e- particle
Definition at line 101 of file PhotosParticle.h.
const int ELECTRON_ANTINEUTRINO = -12 [static, inherited] |
e antineutrino particle
Definition at line 107 of file PhotosParticle.h.
const int ELECTRON_NEUTRINO = 12 [static, inherited] |
e neutrino particle
Definition at line 104 of file PhotosParticle.h.
const int GAMMA = 22 [static, inherited] |
photon
Definition at line 71 of file PhotosParticle.h.
const int HIGGS = 25 [static, inherited] |
H particle
Definition at line 50 of file PhotosParticle.h.
const int HIGGS_A = 36 [static, inherited] |
A0 particle
Definition at line 56 of file PhotosParticle.h.
const int HIGGS_H = 35 [static, inherited] |
H0 particle
Definition at line 53 of file PhotosParticle.h.
const int HIGGS_MINUS = -37 [static, inherited] |
H- particle
Definition at line 62 of file PhotosParticle.h.
const int HIGGS_PLUS = 37 [static, inherited] |
H+ particle
Definition at line 59 of file PhotosParticle.h.
const int HISTORY = 3 [static, inherited] |
History particle status
Definition at line 35 of file PhotosParticle.h.
std::vector<PhotosParticle*> m_created_particles [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 PhotosHepMCParticle.h.
std::vector<PhotosParticle*> m_daughters [private] |
A vector of this particles daughters
Definition at line 153 of file PhotosHepMCParticle.h.
std::vector<PhotosParticle*> m_decay_products [private] |
A vector of all decay products of this particle
Definition at line 156 of file PhotosHepMCParticle.h.
std::vector<PhotosParticle*> m_mothers [private] |
A vector of this particles mothers
Definition at line 150 of file PhotosHepMCParticle.h.
HepMC::GenParticle* m_particle [private] |
A pointer to the HepMC::GenParticle particle
Definition at line 147 of file PhotosHepMCParticle.h.
const int MUON_ANTINEUTRINO = -14 [static, inherited] |
muon antineutrino particle
Definition at line 95 of file PhotosParticle.h.
const int MUON_MINUS = 13 [static, inherited] |
muon- particle
Definition at line 89 of file PhotosParticle.h.
const int MUON_NEUTRINO = 14 [static, inherited] |
muon neutrino particle
Definition at line 92 of file PhotosParticle.h.
const int MUON_PLUS = -13 [static, inherited] |
muon+ particle
Definition at line 86 of file PhotosParticle.h.
const int OTHER = 0 [static, inherited] |
All other particle types
Definition at line 122 of file PhotosParticle.h.
const int POSITRON = -11 [static, inherited] |
e+ particle
Definition at line 98 of file PhotosParticle.h.
const int STABLE = 1 [static, inherited] |
Stable particle status
Definition at line 29 of file PhotosParticle.h.
const int TAU_ANTINEUTRINO = -16 [static, inherited] |
tau antineutrino particle
Definition at line 83 of file PhotosParticle.h.
const int TAU_MINUS = 15 [static, inherited] |
tau- particle
Definition at line 77 of file PhotosParticle.h.
const int TAU_NEUTRINO = 16 [static, inherited] |
tau neutrino particle
Definition at line 80 of file PhotosParticle.h.
const int TAU_PLUS = -15 [static, inherited] |
tau+ particle
Definition at line 74 of file PhotosParticle.h.
const int UP = 2 [static, inherited] |
up quark
Definition at line 110 of file PhotosParticle.h.
const int W_MINUS = -24 [static, inherited] |
W- particle
Definition at line 68 of file PhotosParticle.h.
const int W_PLUS = 24 [static, inherited] |
W+ particle
Definition at line 65 of file PhotosParticle.h.
const int X_AXIS = 1 [static, inherited] |
X Axis
Definition at line 38 of file PhotosParticle.h.
const int Y_AXIS = 2 [static, inherited] |
Y Axis
Definition at line 41 of file PhotosParticle.h.
const int Z0 = 23 [static, inherited] |
Z0 particle
Definition at line 47 of file PhotosParticle.h.
const int Z_AXIS = 3 [static, inherited] |
Z Axis
Definition at line 44 of file PhotosParticle.h.
1.6.3