Public Member Functions | Static Public Attributes
PhotosParticle Class Referenceabstract
Inheritance diagram for PhotosParticle:
Inheritance graph
Collaboration diagram for PhotosParticle:
Collaboration graph

Public Member Functions

bool hasDaughters ()
 
PhotosParticlefindLastSelf ()
 
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 PhotosParticlecreateNewParticle (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
 

Detailed Description

Definition at line 25 of file PhotosParticle.h.

Member Function Documentation

virtual void addDaughter ( PhotosParticle daughter)
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.

virtual bool checkMomentumConservation ( )
pure virtual

check that the 4 momentum in conserved at the vertices producing and ending this particle

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual void createHistoryEntry ( )
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.

virtual PhotosParticle* createNewParticle ( int  pdg_id,
int  status,
double  mass,
double  px,
double  py,
double  pz,
double  e 
)
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.

virtual void createSelfDecayVertex ( PhotosParticle out)
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().

virtual std::vector<PhotosParticle*> getAllDecayProducts ( )
pure virtual

Returns all particles in the decay tree of this particle via a vector of PhotosParticle

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual int getBarcode ( )
pure virtual

Get the barcode of this particle

Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.

virtual std::vector<PhotosParticle*> getDaughters ( )
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().

virtual double getE ( )
pure virtual

Returns the energy component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual double getMass ( )
pure virtual

Get the invariant mass from the event record

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual std::vector<PhotosParticle*> getMothers ( )
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.

virtual int getPdgID ( )
pure virtual

Get the PDG ID code of this particle

Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.

virtual double getPx ( )
pure virtual

Returns the px component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual double getPy ( )
pure virtual

Returns the py component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual double getPz ( )
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().

virtual int getStatus ( )
pure virtual

Get the status of this particle

Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.

double getVirtuality ( )
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().

virtual void print ( )
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().

virtual void setDaughters ( std::vector< PhotosParticle * >  daughters)
pure virtual

Set the daughters of this particle via a vector of PhotosParticle

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual void setE ( double  e)
pure virtual

Set the energy component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual void setMass ( double  mass)
pure virtual

Set the mass of this particle

Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.

virtual void setMothers ( std::vector< PhotosParticle * >  mothers)
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.

virtual void setPdgID ( int  pdg_id)
pure virtual

Set the PDG ID code of this particle

Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.

virtual void setPx ( double  px)
pure virtual

Set the px component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual void setPy ( double  py)
pure virtual

Set the px component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual void setPz ( double  pz)
pure virtual

Set the pz component of the four vector

Implemented in PhotosHepMCParticle, PhotosHepMC3Particle, and PhotosHEPEVTParticle.

virtual void setStatus ( int  status)
pure virtual

Set the status of this particle

Implemented in PhotosHEPEVTParticle, PhotosHepMCParticle, and PhotosHepMC3Particle.

Field Documentation

const int ANTIDOWN = -1
static

anti-down quark

Definition at line 119 of file PhotosParticle.h.

const int ANTIUP = -2
static

anti-up quark

Definition at line 113 of file PhotosParticle.h.

const int DECAYED =2
static

Decayed particle status

Definition at line 32 of file PhotosParticle.h.

const int DOWN = 1
static

down quark

Definition at line 116 of file PhotosParticle.h.

const int ELECTRON = 11
static

e- particle

Definition at line 101 of file PhotosParticle.h.

const int ELECTRON_ANTINEUTRINO = -12
static

e antineutrino particle

Definition at line 107 of file PhotosParticle.h.

const int ELECTRON_NEUTRINO = 12
static

e neutrino particle

Definition at line 104 of file PhotosParticle.h.

const int GAMMA = 22
static

photon

Definition at line 71 of file PhotosParticle.h.

const int HIGGS = 25
static

H particle

Definition at line 50 of file PhotosParticle.h.

const int HIGGS_A = 36
static

A0 particle

Definition at line 56 of file PhotosParticle.h.

const int HIGGS_H = 35
static

H0 particle

Definition at line 53 of file PhotosParticle.h.

const int HIGGS_MINUS = -37
static

H- particle

Definition at line 62 of file PhotosParticle.h.

const int HIGGS_PLUS = 37
static

H+ particle

Definition at line 59 of file PhotosParticle.h.

const int HISTORY =3
static

History particle status

Definition at line 35 of file PhotosParticle.h.

const int MUON_ANTINEUTRINO = -14
static

muon antineutrino particle

Definition at line 95 of file PhotosParticle.h.

const int MUON_MINUS = 13
static

muon- particle

Definition at line 89 of file PhotosParticle.h.

const int MUON_NEUTRINO = 14
static

muon neutrino particle

Definition at line 92 of file PhotosParticle.h.

const int MUON_PLUS = -13
static

muon+ particle

Definition at line 86 of file PhotosParticle.h.

const int OTHER = 0
static

All other particle types

Definition at line 122 of file PhotosParticle.h.

const int POSITRON = -11
static

e+ particle

Definition at line 98 of file PhotosParticle.h.

const int STABLE =1
static

Stable particle status

Definition at line 29 of file PhotosParticle.h.

const int TAU_ANTINEUTRINO = -16
static

tau antineutrino particle

Definition at line 83 of file PhotosParticle.h.

const int TAU_MINUS = 15
static

tau- particle

Definition at line 77 of file PhotosParticle.h.

const int TAU_NEUTRINO = 16
static

tau neutrino particle

Definition at line 80 of file PhotosParticle.h.

const int TAU_PLUS = -15
static

tau+ particle

Definition at line 74 of file PhotosParticle.h.

const int UP = 2
static

up quark

Definition at line 110 of file PhotosParticle.h.

const int W_MINUS = -24
static

W- particle

Definition at line 68 of file PhotosParticle.h.

const int W_PLUS = 24
static

W+ particle

Definition at line 65 of file PhotosParticle.h.

const int X_AXIS =1
static

X Axis

Definition at line 38 of file PhotosParticle.h.

const int Y_AXIS =2
static

Y Axis

Definition at line 41 of file PhotosParticle.h.

const int Z0 = 23
static

Z0 particle

Definition at line 47 of file PhotosParticle.h.

const int Z_AXIS =3
static

Z Axis

Definition at line 44 of file PhotosParticle.h.


The documentation for this class was generated from the following files: