Public Member Functions | |
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 () |
virtual bool | checkMomentumConservation ()=0 |
virtual double | getPx ()=0 |
virtual double | getPy ()=0 |
virtual double | getPz ()=0 |
virtual double | getE ()=0 |
virtual double | getMass ()=0 |
virtual void | setPx (double px)=0 |
virtual void | setPy (double py)=0 |
virtual void | setPz (double pz)=0 |
virtual void | setE (double e)=0 |
virtual void | setMothers (std::vector< PhotosParticle * > mothers)=0 |
virtual void | setDaughters (std::vector< PhotosParticle * > daughters)=0 |
virtual void | addDaughter (PhotosParticle *daughter)=0 |
virtual std::vector < PhotosParticle * > | getMothers ()=0 |
virtual std::vector < PhotosParticle * > | getDaughters ()=0 |
virtual std::vector < PhotosParticle * > | getAllDecayProducts ()=0 |
virtual void | setPdgID (int pdg_id)=0 |
virtual void | setMass (double mass)=0 |
virtual void | setStatus (int status)=0 |
virtual int | getPdgID ()=0 |
virtual int | getStatus ()=0 |
virtual int | getBarcode ()=0 |
virtual PhotosParticle * | createNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e)=0 |
virtual void | createHistoryEntry ()=0 |
virtual void | createSelfDecayVertex (PhotosParticle *out)=0 |
virtual void | print ()=0 |
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 |
Definition at line 25 of file PhotosParticle.h.
|
pure virtual |
Add a new daughter to this particle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
void boostAlongZ | ( | double | boost_pz, |
double | boost_e | ||
) |
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 | ) |
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 | ) |
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 | ) |
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 | ) |
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.
|
pure virtual |
check that the 4 momentum in conserved at the vertices producing and ending this particle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Create history entry of this particle before modifications of PHOTOS. Implementation of this method depends strongly on the event record.
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Create a new particle of the same type, with the given properties. The new particle bares no relations to this particle, but it provides a way of creating a intance of the derived class. eg. createNewParticle() is used inside filhep_() so that an eg. PhotosHepMCParticle is created without the method having explicit knowledge of the PhotosHepMCParticle class
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
PhotosParticle * findLastSelf | ( | ) |
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 | ( | ) |
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().
|
pure virtual |
Returns all particles in the decay tree of this particle via a vector of PhotosParticle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Get the barcode of this particle
Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.
|
pure virtual |
Returns the daughters of this particle via a vector of PhotosParticle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
vector< PhotosParticle * > getDecayTree | ( | ) |
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().
|
pure virtual |
Returns the energy component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Get the invariant mass from the event record
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Returns the mothers of this particle via a vector of PhotosParticle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
double getP | ( | ) |
Get scalar momentum
Definition at line 202 of file PhotosParticle.cxx.
References PhotosParticle::getPx(), PhotosParticle::getPy(), and PhotosParticle::getPz().
double getP | ( | int | axis | ) |
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.
|
pure virtual |
Get the PDG ID code of this particle
Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.
|
pure virtual |
Returns the px component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Returns the py component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Returns the pz component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
double getRotationAngle | ( | int | axis, |
int | second_axis = Z_AXIS |
||
) |
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().
|
pure virtual |
Get the status of this particle
Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.
|
virtual |
Get sqrt(e^2-p^2)
Definition at line 193 of file PhotosParticle.cxx.
References PhotosParticle::getE(), and PhotosParticle::getP().
bool hasDaughters | ( | ) |
Return whether the particle has any chidren
Definition at line 10 of file PhotosParticle.cxx.
References PhotosParticle::getDaughters().
|
pure virtual |
Print some information about this particle to standard output
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
void rotate | ( | int | axis, |
double | theta, | ||
int | second_axis = Z_AXIS |
||
) |
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 |
||
) |
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().
|
pure virtual |
Set the daughters of this particle via a vector of PhotosParticle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Set the energy component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Set the mass of this particle
Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.
|
pure virtual |
Set the mothers of this particle via a vector of PhotosParticle
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
void setP | ( | int | axis, |
double | p_component | ||
) |
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.
|
pure virtual |
Set the PDG ID code of this particle
Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.
|
pure virtual |
Set the px component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Set the px component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Set the pz component of the four vector
Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.
|
pure virtual |
Set the status of this particle
Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.
|
static |
anti-down quark
Definition at line 119 of file PhotosParticle.h.
|
static |
anti-up quark
Definition at line 113 of file PhotosParticle.h.
|
static |
Decayed particle status
Definition at line 32 of file PhotosParticle.h.
|
static |
down quark
Definition at line 116 of file PhotosParticle.h.
|
static |
e- particle
Definition at line 101 of file PhotosParticle.h.
|
static |
e antineutrino particle
Definition at line 107 of file PhotosParticle.h.
|
static |
e neutrino particle
Definition at line 104 of file PhotosParticle.h.
|
static |
photon
Definition at line 71 of file PhotosParticle.h.
|
static |
H particle
Definition at line 50 of file PhotosParticle.h.
|
static |
A0 particle
Definition at line 56 of file PhotosParticle.h.
|
static |
H0 particle
Definition at line 53 of file PhotosParticle.h.
|
static |
H- particle
Definition at line 62 of file PhotosParticle.h.
|
static |
H+ particle
Definition at line 59 of file PhotosParticle.h.
|
static |
History particle status
Definition at line 35 of file PhotosParticle.h.
|
static |
muon antineutrino particle
Definition at line 95 of file PhotosParticle.h.
|
static |
muon- particle
Definition at line 89 of file PhotosParticle.h.
|
static |
muon neutrino particle
Definition at line 92 of file PhotosParticle.h.
|
static |
muon+ particle
Definition at line 86 of file PhotosParticle.h.
|
static |
All other particle types
Definition at line 122 of file PhotosParticle.h.
|
static |
e+ particle
Definition at line 98 of file PhotosParticle.h.
|
static |
Stable particle status
Definition at line 29 of file PhotosParticle.h.
|
static |
tau antineutrino particle
Definition at line 83 of file PhotosParticle.h.
|
static |
tau- particle
Definition at line 77 of file PhotosParticle.h.
|
static |
tau neutrino particle
Definition at line 80 of file PhotosParticle.h.
|
static |
tau+ particle
Definition at line 74 of file PhotosParticle.h.
|
static |
up quark
Definition at line 110 of file PhotosParticle.h.
|
static |
W- particle
Definition at line 68 of file PhotosParticle.h.
|
static |
W+ particle
Definition at line 65 of file PhotosParticle.h.
|
static |
X Axis
Definition at line 38 of file PhotosParticle.h.
|
static |
Y Axis
Definition at line 41 of file PhotosParticle.h.
|
static |
Z0 particle
Definition at line 47 of file PhotosParticle.h.
|
static |
Z Axis
Definition at line 44 of file PhotosParticle.h.