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, and PhotosHepMCParticle::m_mothers.
|
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(), PhotosHepMCParticle::m_daughters, and PhotosHepMCParticle::m_particle.
|
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().
|
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().
|
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().
|
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.
|
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.
|
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(), PhotosHepMCParticle::m_particle, Photos::momentum_conservation_threshold, Log::RedirectOutput(), and Log::RevertOutput().
|
private |
Internal function used to clear particles from the vector
Definition at line 32 of file PhotosHepMCParticle.cxx.
|
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 PhotosHepMCParticle::m_particle.
|
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 PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::m_created_particles, and PhotosHepMCParticle::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 PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::getStatus(), PhotosHepMCParticle::m_particle, and PhotosHepMCParticle::setStatus().
|
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().
|
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().
|
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 PhotosHepMCParticle::getBarcode(), PhotosHepMCParticle::getDaughters(), PhotosParticle::hasDaughters(), and PhotosHepMCParticle::m_decay_products.
|
virtual |
Get the barcode of this particle
Implements PhotosParticle.
Definition at line 284 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
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(), PhotosHepMCParticle::m_daughters, PhotosHepMCParticle::m_particle, and PhotosHepMCParticle::PhotosHepMCParticle().
|
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().
|
virtual |
Returns the energy component of the four vector
Implements PhotosParticle.
Definition at line 367 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
HepMC::GenParticle * getHepMC | ( | ) |
return the HepMC::GenParticle
Definition at line 40 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Returns the mass taken from event record
Implements PhotosParticle.
Definition at line 399 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Returns the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 145 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_mothers, PhotosHepMCParticle::m_particle, and PhotosHepMCParticle::PhotosHepMCParticle().
|
inherited |
Get scalar momentum
Definition at line 202 of file PhotosParticle.cxx.
References PhotosParticle::getPx(), PhotosParticle::getPy(), and PhotosParticle::getPz().
|
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.
|
virtual |
Get the PDG ID code of this particle
Implements PhotosParticle.
Definition at line 276 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
inlinevirtual |
Returns the px component of the four vector
Implements PhotosParticle.
Definition at line 355 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
inlinevirtual |
Returns the py component of the four vector
Implements PhotosParticle.
Definition at line 359 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Returns the pz component of the four vector
Implements PhotosParticle.
Definition at line 363 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
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().
|
virtual |
Get the status of this particle
Implements PhotosParticle.
Definition at line 280 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtualinherited |
Get sqrt(e^2-p^2)
Definition at line 193 of file PhotosParticle.cxx.
References PhotosParticle::getE(), and PhotosParticle::getP().
|
inherited |
Return whether the particle has any chidren
Definition at line 10 of file PhotosParticle.cxx.
References PhotosParticle::getDaughters().
|
virtual |
Print some information about this particle to standard output
Implements PhotosParticle.
Definition at line 348 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
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().
|
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().
|
virtual |
Set the daughters of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 103 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::clear(), Log::Fatal(), PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::m_daughters, and PhotosHepMCParticle::m_particle.
|
virtual |
Set the energy component of the four vector
Implements PhotosParticle.
Definition at line 393 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Set the mass of this particle
Implements PhotosParticle.
Definition at line 268 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Set the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 44 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::clear(), PhotosParticle::DECAYED, Log::Fatal(), PhotosHepMCParticle::getHepMC(), PhotosHepMCParticle::m_mothers, PhotosHepMCParticle::m_particle, and PhotosParticle::STABLE.
|
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.
|
virtual |
Set the PDG ID code of this particle
Implements PhotosParticle.
Definition at line 264 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 371 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 380 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Set the pz component of the four vector
Implements PhotosParticle.
Definition at line 387 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
virtual |
Set the status of this particle
Implements PhotosParticle.
Definition at line 272 of file PhotosHepMCParticle.cxx.
References PhotosHepMCParticle::m_particle.
|
staticinherited |
anti-down quark
Definition at line 119 of file PhotosParticle.h.
|
staticinherited |
anti-up quark
Definition at line 113 of file PhotosParticle.h.
|
staticinherited |
Decayed particle status
Definition at line 32 of file PhotosParticle.h.
|
staticinherited |
down quark
Definition at line 116 of file PhotosParticle.h.
|
staticinherited |
e- particle
Definition at line 101 of file PhotosParticle.h.
|
staticinherited |
e antineutrino particle
Definition at line 107 of file PhotosParticle.h.
|
staticinherited |
e neutrino particle
Definition at line 104 of file PhotosParticle.h.
|
staticinherited |
photon
Definition at line 71 of file PhotosParticle.h.
|
staticinherited |
H particle
Definition at line 50 of file PhotosParticle.h.
|
staticinherited |
A0 particle
Definition at line 56 of file PhotosParticle.h.
|
staticinherited |
H0 particle
Definition at line 53 of file PhotosParticle.h.
|
staticinherited |
H- particle
Definition at line 62 of file PhotosParticle.h.
|
staticinherited |
H+ particle
Definition at line 59 of file PhotosParticle.h.
|
staticinherited |
History particle status
Definition at line 35 of file 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 PhotosHepMCParticle.h.
|
private |
A vector of this particles daughters
Definition at line 153 of file PhotosHepMCParticle.h.
|
private |
A vector of all decay products of this particle
Definition at line 156 of file PhotosHepMCParticle.h.
|
private |
A vector of this particles mothers
Definition at line 150 of file PhotosHepMCParticle.h.
|
private |
A pointer to the HepMC::GenParticle particle
Definition at line 147 of file PhotosHepMCParticle.h.
|
staticinherited |
muon antineutrino particle
Definition at line 95 of file PhotosParticle.h.
|
staticinherited |
muon- particle
Definition at line 89 of file PhotosParticle.h.
|
staticinherited |
muon neutrino particle
Definition at line 92 of file PhotosParticle.h.
|
staticinherited |
muon+ particle
Definition at line 86 of file PhotosParticle.h.
|
staticinherited |
All other particle types
Definition at line 122 of file PhotosParticle.h.
|
staticinherited |
e+ particle
Definition at line 98 of file PhotosParticle.h.
|
staticinherited |
Stable particle status
Definition at line 29 of file PhotosParticle.h.
|
staticinherited |
tau antineutrino particle
Definition at line 83 of file PhotosParticle.h.
|
staticinherited |
tau- particle
Definition at line 77 of file PhotosParticle.h.
|
staticinherited |
tau neutrino particle
Definition at line 80 of file PhotosParticle.h.
|
staticinherited |
tau+ particle
Definition at line 74 of file PhotosParticle.h.
|
staticinherited |
up quark
Definition at line 110 of file PhotosParticle.h.
|
staticinherited |
W- particle
Definition at line 68 of file PhotosParticle.h.
|
staticinherited |
W+ particle
Definition at line 65 of file PhotosParticle.h.
|
staticinherited |
X Axis
Definition at line 38 of file PhotosParticle.h.
|
staticinherited |
Y Axis
Definition at line 41 of file PhotosParticle.h.
|
staticinherited |
Z0 particle
Definition at line 47 of file PhotosParticle.h.
|
staticinherited |
Z Axis
Definition at line 44 of file PhotosParticle.h.