PhotosParticle Class Reference

Inheritance diagram for PhotosParticle:
Inheritance graph
[legend]
Collaboration diagram for PhotosParticle:
Collaboration graph
[legend]

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual int getBarcode (  )  [pure virtual]

Get the barcode of this particle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual std::vector<PhotosParticle*> getDaughters (  )  [pure virtual]

Returns the daughters of this particle via a vector of PhotosParticle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual double getMass (  )  [pure virtual]

Get the invariant mass from the event record

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual std::vector<PhotosParticle*> getMothers (  )  [pure virtual]

Returns the mothers of this particle via a vector of PhotosParticle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

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.

double getP (  ) 

Get scalar momentum

Definition at line 202 of file PhotosParticle.cxx.

References PhotosParticle::getPx(), PhotosParticle::getPy(), and PhotosParticle::getPz().

virtual int getPdgID (  )  [pure virtual]

Get the PDG ID code of this particle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual double getPx (  )  [pure virtual]

Returns the px component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual double getPy (  )  [pure virtual]

Returns the py component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual double getPz (  )  [pure virtual]

Returns the pz component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

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, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

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 PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual void setE ( double  e  )  [pure virtual]

Set the energy component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual void setMass ( double  mass  )  [pure virtual]

Set the mass of this particle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual void setMothers ( std::vector< PhotosParticle * >  mothers  )  [pure virtual]

Set the mothers of this particle via a vector of PhotosParticle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

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, and PhotosHepMCParticle.

virtual void setPx ( double  px  )  [pure virtual]

Set the px component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual void setPy ( double  py  )  [pure virtual]

Set the px component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual void setPz ( double  pz  )  [pure virtual]

Set the pz component of the four vector

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.

virtual void setStatus ( int  status  )  [pure virtual]

Set the status of this particle

Implemented in PhotosHEPEVTParticle, and PhotosHepMCParticle.


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:
Generated on Sun Oct 20 20:24:00 2013 for C++InterfacetoPHOTOS by  doxygen 1.6.3