PhotosHEPEVTParticle Class Reference

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

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 ()
PhotosHEPEVTParticlecreateNewParticle (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 ()
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 ()

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

PhotosHEPEVTEventm_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

Detailed Description

Definition at line 32 of file PhotosHEPEVTParticle.h.


Constructor & Destructor Documentation

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 
)

Member Function Documentation

void addDaughter ( PhotosParticle daughter  )  [virtual]
void boostAlongZ ( double  boost_pz,
double  boost_e 
) [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().

void boostDaughtersFromRestFrame ( PhotosParticle boost  )  [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().

void boostDaughtersToRestFrame ( PhotosParticle boost  )  [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().

void boostFromRestFrame ( PhotosParticle boost  )  [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.

void boostToRestFrame ( PhotosParticle boost  )  [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.

bool checkMomentumConservation (  )  [virtual]
void createHistoryEntry (  )  [virtual]

Creating history entries not implemented in HEPEVT

Implements PhotosParticle.

Definition at line 294 of file PhotosHEPEVTParticle.cxx.

PhotosHEPEVTParticle * createNewParticle ( int  pdg_id,
int  status,
double  mass,
double  px,
double  py,
double  pz,
double  e 
) [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 283 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::cache, and PhotosHEPEVTParticle::PhotosHEPEVTParticle().

void createSelfDecayVertex ( PhotosParticle out  )  [virtual]

Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex

Implements PhotosParticle.

Definition at line 299 of file PhotosHEPEVTParticle.cxx.

PhotosParticle * findLastSelf (  )  [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().

vector< PhotosParticle * > findProductionMothers (  )  [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().

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

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

Implements PhotosParticle.

Definition at line 185 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::getBarcode(), PhotosHEPEVTParticle::getDaughters(), and PhotosParticle::hasDaughters().

int getBarcode (  )  [virtual]

Get the barcode (position in list) of this particle

Implements PhotosParticle.

Definition at line 388 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_barcode.

int getDaughterRangeEnd (  ) 

Get index of last daughter

Definition at line 412 of file PhotosHEPEVTParticle.cxx.

int getDaughterRangeStart (  ) 

Get index of first daughter

Definition at line 408 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_daughter_start.

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

double getE (  )  [virtual]

Returns the energy component of the four vector

Implements PhotosParticle.

Definition at line 367 of file PhotosHEPEVTParticle.cxx.

int getFirstMotherIndex (  ) 

Get index of first mother

Definition at line 400 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_first_mother.

double getMass (  )  [virtual]

Get the mass stored (i.e. not calculated from four vector) at generation step

Implements PhotosParticle.

Definition at line 351 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_generated_mass.

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

double getP ( int  axis  )  [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.

double getP (  )  [inherited]

Get scalar momentum

Definition at line 202 of file PhotosParticle.cxx.

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

int getPdgID (  )  [virtual]

Get the PDG ID code of this particle

Implements PhotosParticle.

Definition at line 343 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_pdgid.

double getPx (  )  [inline, virtual]

Returns the px component of the four vector

Implements PhotosParticle.

Definition at line 355 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_px.

double getPy (  )  [inline, virtual]

Returns the py component of the four vector

Implements PhotosParticle.

Definition at line 359 of file PhotosHEPEVTParticle.cxx.

double getPz (  )  [virtual]

Returns the pz component of the four vector

Implements PhotosParticle.

Definition at line 363 of file PhotosHEPEVTParticle.cxx.

double getRotationAngle ( int  axis,
int  second_axis = Z_AXIS 
) [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 404 of file PhotosHEPEVTParticle.cxx.

int getStatus (  )  [virtual]

Get the status of this particle

Implements PhotosParticle.

Definition at line 347 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_status.

double getVirtuality (  )  [virtual, inherited]

Get sqrt(e^2-p^2)

Definition at line 193 of file PhotosParticle.cxx.

References PhotosParticle::getE(), and PhotosParticle::getP().

bool hasDaughters (  )  [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 304 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 312 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::getBarcode(), and PhotosHEPEVTParticle::m_daughter_start.

void print (  )  [virtual]
void rotate ( int  axis,
double  theta,
int  second_axis = Z_AXIS 
) [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().

void rotateDaughters ( int  axis,
double  phi,
int  second_axis = Z_AXIS 
) [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 392 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_barcode.

void setDaughterRangeEnd ( int  i  )  [inline, private]

Set index of last daughter

Definition at line 159 of file PhotosHEPEVTParticle.h.

void setDaughterRangeStart ( int  i  )  [inline, private]

Set index of first daughter

Definition at line 156 of file PhotosHEPEVTParticle.h.

References PhotosHEPEVTParticle::m_daughter_start.

void setDaughters ( std::vector< PhotosParticle * >  daughters  )  [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.

void setE ( double  e  )  [virtual]

Set the energy component of the four vector

Implements PhotosParticle.

Definition at line 384 of file PhotosHEPEVTParticle.cxx.

void setEvent ( PhotosHEPEVTEvent event  ) 

Set event of this particle

Definition at line 396 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_event.

void setMass ( double  mass  )  [virtual]

Set the mass of this particle

Implements PhotosParticle.

Definition at line 339 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_generated_mass.

void setMothers ( std::vector< PhotosParticle * >  mothers  )  [virtual]
void setP ( int  axis,
double  p_component 
) [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.

void setPdgID ( int  pdg_id  )  [virtual]

Set the PDG ID code of this particle

Implements PhotosParticle.

Definition at line 331 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_pdgid.

void setPx ( double  px  )  [virtual]

Set the px component of the four vector

Implements PhotosParticle.

Definition at line 371 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_px.

void setPy ( double  py  )  [virtual]

Set the px component of the four vector

Implements PhotosParticle.

Definition at line 375 of file PhotosHEPEVTParticle.cxx.

void setPz ( double  pz  )  [virtual]

Set the pz component of the four vector

Implements PhotosParticle.

Definition at line 380 of file PhotosHEPEVTParticle.cxx.

void setStatus ( int  statu  )  [virtual]

Set the status of this particle

Implements PhotosParticle.

Definition at line 335 of file PhotosHEPEVTParticle.cxx.

References PhotosHEPEVTParticle::m_status.


Field Documentation

const int ANTIDOWN = -1 [static, inherited]

anti-down quark

Definition at line 119 of file PhotosParticle.h.

const int ANTIUP = -2 [static, inherited]

anti-up quark

Definition at line 113 of file PhotosParticle.h.

vector<PhotosHEPEVTParticle*> cache [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.

const int DECAYED = 2 [static, inherited]

Decayed particle status

Definition at line 32 of file PhotosParticle.h.

const int DOWN = 1 [static, inherited]

down quark

Definition at line 116 of file PhotosParticle.h.

const int ELECTRON = 11 [static, inherited]

e- particle

Definition at line 101 of file PhotosParticle.h.

const int ELECTRON_ANTINEUTRINO = -12 [static, inherited]

e antineutrino particle

Definition at line 107 of file PhotosParticle.h.

const int ELECTRON_NEUTRINO = 12 [static, inherited]

e neutrino particle

Definition at line 104 of file PhotosParticle.h.

const int GAMMA = 22 [static, inherited]

photon

Definition at line 71 of file PhotosParticle.h.

const int HIGGS = 25 [static, inherited]

H particle

Definition at line 50 of file PhotosParticle.h.

const int HIGGS_A = 36 [static, inherited]

A0 particle

Definition at line 56 of file PhotosParticle.h.

const int HIGGS_H = 35 [static, inherited]

H0 particle

Definition at line 53 of file PhotosParticle.h.

const int HIGGS_MINUS = -37 [static, inherited]

H- particle

Definition at line 62 of file PhotosParticle.h.

const int HIGGS_PLUS = 37 [static, inherited]

H+ particle

Definition at line 59 of file PhotosParticle.h.

const int HISTORY = 3 [static, inherited]

History particle status

Definition at line 35 of file PhotosParticle.h.

int m_barcode [private]

Position in the event record

Definition at line 165 of file PhotosHEPEVTParticle.h.

int m_daughter_start [private]

Range of indexes of daughters (-1 if do not have daughters)

Definition at line 171 of file PhotosHEPEVTParticle.h.

Event from which this particle is taken

Definition at line 162 of file PhotosHEPEVTParticle.h.

int m_first_mother [private]

Indexes of mothers (-1 if do not have mothers)

Definition at line 168 of file PhotosHEPEVTParticle.h.

double m_generated_mass [private]

Mass saved at generation step

Definition at line 183 of file PhotosHEPEVTParticle.h.

int m_pdgid [private]

PDG ID

Definition at line 174 of file PhotosHEPEVTParticle.h.

double m_px [private]

Momentum

Definition at line 180 of file PhotosHEPEVTParticle.h.

int m_status [private]

Status (stable, decayed)

Definition at line 177 of file PhotosHEPEVTParticle.h.

const int MUON_ANTINEUTRINO = -14 [static, inherited]

muon antineutrino particle

Definition at line 95 of file PhotosParticle.h.

const int MUON_MINUS = 13 [static, inherited]

muon- particle

Definition at line 89 of file PhotosParticle.h.

const int MUON_NEUTRINO = 14 [static, inherited]

muon neutrino particle

Definition at line 92 of file PhotosParticle.h.

const int MUON_PLUS = -13 [static, inherited]

muon+ particle

Definition at line 86 of file PhotosParticle.h.

const int OTHER = 0 [static, inherited]

All other particle types

Definition at line 122 of file PhotosParticle.h.

const int POSITRON = -11 [static, inherited]

e+ particle

Definition at line 98 of file PhotosParticle.h.

const int STABLE = 1 [static, inherited]

Stable particle status

Definition at line 29 of file PhotosParticle.h.

const int TAU_ANTINEUTRINO = -16 [static, inherited]

tau antineutrino particle

Definition at line 83 of file PhotosParticle.h.

const int TAU_MINUS = 15 [static, inherited]

tau- particle

Definition at line 77 of file PhotosParticle.h.

const int TAU_NEUTRINO = 16 [static, inherited]

tau neutrino particle

Definition at line 80 of file PhotosParticle.h.

const int TAU_PLUS = -15 [static, inherited]

tau+ particle

Definition at line 74 of file PhotosParticle.h.

const int UP = 2 [static, inherited]

up quark

Definition at line 110 of file PhotosParticle.h.

const int W_MINUS = -24 [static, inherited]

W- particle

Definition at line 68 of file PhotosParticle.h.

const int W_PLUS = 24 [static, inherited]

W+ particle

Definition at line 65 of file PhotosParticle.h.

const int X_AXIS = 1 [static, inherited]

X Axis

Definition at line 38 of file PhotosParticle.h.

const int Y_AXIS = 2 [static, inherited]

Y Axis

Definition at line 41 of file PhotosParticle.h.

const int Z0 = 23 [static, inherited]

Z0 particle

Definition at line 47 of file PhotosParticle.h.

const int Z_AXIS = 3 [static, inherited]

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:23:59 2013 for C++InterfacetoPHOTOS by  doxygen 1.6.3