Public Member Functions | |
~PhotosHEPEVTParticle () | |
PhotosHEPEVTParticle (int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de) | |
void | addDaughter (PhotosParticle *daughter) |
void | setMothers (std::vector< PhotosParticle * > mothers) |
void | setDaughters (std::vector< PhotosParticle * > daughters) |
std::vector< PhotosParticle * > | getMothers () |
std::vector< PhotosParticle * > | getDaughters () |
std::vector< PhotosParticle * > | getAllDecayProducts () |
bool | checkMomentumConservation () |
PhotosHEPEVTParticle * | createNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e) |
void | createHistoryEntry () |
void | createSelfDecayVertex (PhotosParticle *out) |
bool | isDaughterOf (PhotosHEPEVTParticle *p) |
bool | isMotherOf (PhotosHEPEVTParticle *p) |
void | print () |
void | setPdgID (int pdg_id) |
void | setStatus (int statu) |
void | setMass (double mass) |
int | getPdgID () |
int | getStatus () |
double | getMass () |
double | getPx () |
double | getPy () |
double | getPz () |
double | getE () |
void | setPx (double px) |
void | setPy (double py) |
void | setPz (double pz) |
void | setE (double e) |
int | getBarcode () |
void | setBarcode (int barcode) |
void | setEvent (PhotosHEPEVTEvent *event) |
int | getFirstMotherIndex () |
int | getSecondMotherIndex () |
int | getDaughterRangeStart () |
int | getDaughterRangeEnd () |
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 | setDaughterRangeStart (int i) |
void | setDaughterRangeEnd (int i) |
Private Attributes | |
PhotosHEPEVTEvent * | m_event |
int | m_barcode |
int | m_first_mother |
int | m_second_mother |
int | m_daughter_start |
int | m_daughter_end |
int | m_pdgid |
int | m_status |
double | m_px |
double | m_py |
double | m_pz |
double | m_e |
double | m_generated_mass |
vector< PhotosHEPEVTParticle * > | cache |
Definition at line 32 of file PhotosHEPEVTParticle.h.
~PhotosHEPEVTParticle | ( | ) |
Default destructor
Definition at line 7 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::cache, and PhotosHEPEVTParticle::m_barcode.
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
Definition at line 15 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_barcode, PhotosHEPEVTParticle::m_daughter_start, PhotosHEPEVTParticle::m_event, PhotosHEPEVTParticle::m_first_mother, PhotosHEPEVTParticle::m_generated_mass, PhotosHEPEVTParticle::m_pdgid, PhotosHEPEVTParticle::m_px, and PhotosHEPEVTParticle::m_status.
|
virtual |
Add a new daughter to this particle
Implements PhotosParticle.
Definition at line 35 of file PhotosHEPEVTParticle.cxx.
References Log::Fatal(), PhotosParticle::getBarcode(), PhotosHEPEVTParticle::getDaughterRangeEnd(), PhotosHEPEVTParticle::getDaughterRangeStart(), PhotosParticle::getMothers(), PhotosHEPEVTEvent::getParticle(), PhotosHEPEVTParticle::m_daughter_start, PhotosHEPEVTParticle::m_event, PhotosHEPEVTParticle::setBarcode(), PhotosHEPEVTParticle::setDaughterRangeEnd(), PhotosHEPEVTParticle::setDaughterRangeStart(), PhotosParticle::setMothers(), and PhotosHEPEVTEvent::setParticle().
|
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 in the decay of this particle
Implements PhotosParticle.
Definition at line 228 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::getE(), PhotosHEPEVTParticle::getFirstMotherIndex(), PhotosHEPEVTEvent::getParticle(), PhotosHEPEVTParticle::getPx(), PhotosHEPEVTParticle::getPy(), PhotosHEPEVTParticle::getPz(), PhotosHEPEVTParticle::getSecondMotherIndex(), PhotosHEPEVTParticle::m_daughter_start, PhotosHEPEVTParticle::m_event, PhotosHEPEVTParticle::print(), Log::RedirectOutput(), and Log::RevertOutput().
|
virtual |
Creating history entries not implemented in HEPEVT
Implements PhotosParticle.
Definition at line 298 of file PhotosHEPEVTParticle.cxx.
|
virtual |
Creates a new particle of type PhotosHEPEVTParticle, with the given properties. The new particle bares no relations to this particle, but `this particle' provides only a way of creating an instance of this derived class. eg. createNewParticle() is used inside filhep_() so that a PhotosHEPEVTParticle can be created without the method having explicit knowledge of the PhotosHEPEVTParticle class
Implements PhotosParticle.
Definition at line 287 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::cache, and PhotosHEPEVTParticle::PhotosHEPEVTParticle().
|
virtual |
Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex
Implements PhotosParticle.
Definition at line 303 of file PhotosHEPEVTParticle.cxx.
|
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 188 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::getBarcode(), PhotosHEPEVTParticle::getDaughters(), and PhotosParticle::hasDaughters().
|
virtual |
Get the barcode (position in list) of this particle
Implements PhotosParticle.
Definition at line 392 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_barcode.
int getDaughterRangeEnd | ( | ) |
Get index of last daughter
Definition at line 416 of file PhotosHEPEVTParticle.cxx.
int getDaughterRangeStart | ( | ) |
Get index of first daughter
Definition at line 412 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_daughter_start.
|
virtual |
Returns the daughters of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 141 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTEvent::getParticle(), PhotosHEPEVTEvent::getParticleCount(), PhotosHEPEVTParticle::isDaughterOf(), PhotosHEPEVTParticle::m_daughter_start, PhotosHEPEVTParticle::m_event, and PhotosHEPEVTParticle::m_status.
|
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 371 of file PhotosHEPEVTParticle.cxx.
int getFirstMotherIndex | ( | ) |
Get index of first mother
Definition at line 404 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_first_mother.
|
virtual |
Get the mass stored (i.e. not calculated from four vector) at generation step
Implements PhotosParticle.
Definition at line 355 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_generated_mass.
|
virtual |
Returns the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 120 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTEvent::getParticle(), PhotosHEPEVTParticle::m_event, and PhotosHEPEVTParticle::m_first_mother.
|
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 347 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_pdgid.
|
inlinevirtual |
Returns the px component of the four vector
Implements PhotosParticle.
Definition at line 359 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_px.
|
inlinevirtual |
Returns the py component of the four vector
Implements PhotosParticle.
Definition at line 363 of file PhotosHEPEVTParticle.cxx.
|
virtual |
Returns the pz component of the four vector
Implements PhotosParticle.
Definition at line 367 of file PhotosHEPEVTParticle.cxx.
|
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 getSecondMotherIndex | ( | ) |
Get index of second mother
Definition at line 408 of file PhotosHEPEVTParticle.cxx.
|
virtual |
Get the status of this particle
Implements PhotosParticle.
Definition at line 351 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_status.
|
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().
bool isDaughterOf | ( | PhotosHEPEVTParticle * | p | ) |
Check if particle 'p' is daughter of this particle
Definition at line 308 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::getBarcode(), and PhotosHEPEVTParticle::m_first_mother.
bool isMotherOf | ( | PhotosHEPEVTParticle * | p | ) |
Check if particle 'p' is mother of this particle
Definition at line 316 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::getBarcode(), and PhotosHEPEVTParticle::m_daughter_start.
|
virtual |
Print information on this particle into standard output
Implements PhotosParticle.
Definition at line 324 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_barcode, PhotosHEPEVTParticle::m_daughter_start, PhotosHEPEVTParticle::m_first_mother, PhotosHEPEVTParticle::m_generated_mass, PhotosHEPEVTParticle::m_pdgid, PhotosHEPEVTParticle::m_px, and PhotosHEPEVTParticle::m_status.
|
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().
void setBarcode | ( | int | barcode | ) |
Set barcode (position in list) of this particle
Definition at line 396 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_barcode.
|
inlineprivate |
Set index of last daughter
Definition at line 159 of file PhotosHEPEVTParticle.h.
|
inlineprivate |
Set index of first daughter
Definition at line 156 of file PhotosHEPEVTParticle.h.
References PhotosHEPEVTParticle::m_daughter_start.
|
virtual |
Set the daughters of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 100 of file PhotosHEPEVTParticle.cxx.
References Log::Fatal(), PhotosHEPEVTParticle::m_daughter_start, and PhotosHEPEVTParticle::m_event.
|
virtual |
Set the energy component of the four vector
Implements PhotosParticle.
Definition at line 388 of file PhotosHEPEVTParticle.cxx.
void setEvent | ( | PhotosHEPEVTEvent * | event | ) |
Set event of this particle
Definition at line 400 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_event.
|
virtual |
Set the mass of this particle
Implements PhotosParticle.
Definition at line 343 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_generated_mass.
|
virtual |
Set the mothers of this particle via a vector of PhotosParticle
Implements PhotosParticle.
Definition at line 84 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTEvent::addParticle(), Log::Fatal(), PhotosHEPEVTParticle::getBarcode(), PhotosHEPEVTParticle::m_barcode, and PhotosHEPEVTParticle::m_first_mother.
|
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 335 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_pdgid.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 375 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_px.
|
virtual |
Set the px component of the four vector
Implements PhotosParticle.
Definition at line 379 of file PhotosHEPEVTParticle.cxx.
|
virtual |
Set the pz component of the four vector
Implements PhotosParticle.
Definition at line 384 of file PhotosHEPEVTParticle.cxx.
|
virtual |
Set the status of this particle
Implements PhotosParticle.
Definition at line 339 of file PhotosHEPEVTParticle.cxx.
References PhotosHEPEVTParticle::m_status.
|
staticinherited |
anti-down quark
Definition at line 119 of file PhotosParticle.h.
|
staticinherited |
anti-up quark
Definition at line 113 of file PhotosParticle.h.
|
private |
List of created particles - if they are not in the event, they will be deleted when no longer needed
Definition at line 187 of file PhotosHEPEVTParticle.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 |
Position in the event record
Definition at line 165 of file PhotosHEPEVTParticle.h.
|
private |
Range of indexes of daughters (-1 if do not have daughters)
Definition at line 171 of file PhotosHEPEVTParticle.h.
|
private |
Event from which this particle is taken
Definition at line 162 of file PhotosHEPEVTParticle.h.
|
private |
Indexes of mothers (-1 if do not have mothers)
Definition at line 168 of file PhotosHEPEVTParticle.h.
|
private |
Mass saved at generation step
Definition at line 183 of file PhotosHEPEVTParticle.h.
|
private |
PDG ID
Definition at line 174 of file PhotosHEPEVTParticle.h.
|
private |
Momentum
Definition at line 180 of file PhotosHEPEVTParticle.h.
|
private |
Status (stable, decayed)
Definition at line 177 of file PhotosHEPEVTParticle.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.