TauolaHEPEVTParticle Class Reference

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

Public Member Functions

 ~TauolaHEPEVTParticle ()
 TauolaHEPEVTParticle (int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
void undecay ()
void setMothers (std::vector< TauolaParticle * > mothers)
void setDaughters (std::vector< TauolaParticle * > daughters)
std::vector< TauolaParticle * > getMothers ()
std::vector< TauolaParticle * > getDaughters ()
void checkMomentumConservation ()
TauolaHEPEVTParticlecreateNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e)
bool isDaughterOf (TauolaHEPEVTParticle *p)
bool isMotherOf (TauolaHEPEVTParticle *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 (TauolaHEPEVTEvent *event)
int getFirstMotherIndex ()
int getSecondMotherIndex ()
int getDaughterRangeStart ()
int getDaughterRangeEnd ()
TauolaParticleclone ()
double getAngle (TauolaParticle *)
void add (TauolaParticle *)
void subtract (TauolaParticle *)
void decay ()
void addDecayToEventRecord ()
int getSign ()
double getPolarimetricX ()
double getPolarimetricY ()
double getPolarimetricZ ()
bool hasDaughters ()
TauolaParticlefindLastSelf ()
std::vector< TauolaParticle * > findProductionMothers ()
void boostToRestFrame (TauolaParticle *boost)
void boostDaughtersToRestFrame (TauolaParticle *boost)
void boostFromRestFrame (TauolaParticle *boost)
void boostDaughtersFromRestFrame (TauolaParticle *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 void decayEndgame ()

Static Public Attributes

static const int SAME_SIGN = 1
static const int OPPOSITE_SIGN = 2
static const int NA_SIGN = 3
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_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 GLUON = 21
static const int CHARM = 4
static const int TOP = 6
static const int STRANGE = 3
static const int BOTTOM = 5
static const int OTHER = 0

Private Attributes

TauolaHEPEVTEventm_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< TauolaHEPEVTParticle * > cache

Detailed Description

Definition at line 30 of file TauolaHEPEVTParticle.h.


Constructor & Destructor Documentation

Default destructor

Definition at line 8 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::cache, and TauolaHEPEVTParticle::m_barcode.

TauolaHEPEVTParticle ( 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 add ( TauolaParticle other_particle  )  [inherited]
void addDecayToEventRecord (  )  [inherited]
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 292 of file TauolaParticle.cxx.

References TauolaParticle::getE(), TauolaParticle::getPz(), TauolaParticle::setE(), and TauolaParticle::setPz().

void boostDaughtersToRestFrame ( TauolaParticle boost  )  [inherited]

Transform the four momentum of all the daughters recursively into the frame of the "particle" TauolaParticle.

Definition at line 215 of file TauolaParticle.cxx.

References TauolaParticle::getDaughters(), and TauolaParticle::hasDaughters().

void boostFromRestFrame ( TauolaParticle boost  )  [inherited]

Transform this particles four momentum from the rest frame of the paramter TauolaParticle, back into the lab frame.

Definition at line 250 of file TauolaParticle.cxx.

References TauolaParticle::boostAlongZ(), TauolaParticle::getE(), TauolaParticle::getP(), TauolaParticle::getRotationAngle(), TauolaParticle::rotate(), TauolaParticle::X_AXIS, and TauolaParticle::Y_AXIS.

void boostToRestFrame ( TauolaParticle boost  )  [inherited]

Transform this particles four momentum from the lab frome into the rest frame of the paramter TauolaParticle.

Definition at line 234 of file TauolaParticle.cxx.

References TauolaParticle::boostAlongZ(), TauolaParticle::getE(), TauolaParticle::getP(), TauolaParticle::getRotationAngle(), TauolaParticle::rotate(), TauolaParticle::X_AXIS, and TauolaParticle::Y_AXIS.

void checkMomentumConservation (  )  [virtual]
TauolaParticle * clone (  )  [inherited]

Create a new particle with the same properties as this one. Mothers and daughters will not be linked.

Definition at line 21 of file TauolaParticle.cxx.

References TauolaParticle::createNewParticle(), TauolaParticle::getE(), TauolaParticle::getMass(), TauolaParticle::getPdgID(), TauolaParticle::getPx(), TauolaParticle::getPy(), TauolaParticle::getPz(), and TauolaParticle::getStatus().

TauolaHEPEVTParticle * createNewParticle ( int  pdg_id,
int  status,
double  mass,
double  px,
double  py,
double  pz,
double  e 
) [virtual]

Creates a new particle of type TauolaHEPEVTParticle, 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 TauolaHEPEVTParticle can be created without the method having explicit knowledge of the TauolaHEPEVTParticle class

Implements TauolaParticle.

Definition at line 196 of file TauolaHEPEVTParticle.cxx.

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

void decay (  )  [inherited]

Decay the particle. This calls the decay methods in the interface to (FORTRAN) tauola.

Definition at line 103 of file TauolaParticle.cxx.

References TauolaParticle::getSign(), TauolaParticle::m_pol_n, TauolaParticle::m_pol_x, TauolaParticle::m_pol_y, TauolaParticle::m_pol_z, and Tauolapp::TauolaDecay().

virtual void decayEndgame (  )  [inline, virtual, inherited]

Optional. Modify particle or decay tree if needed.

Reimplemented in TauolaHepMCParticle.

Definition at line 261 of file TauolaParticle.h.

TauolaParticle * 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 78 of file TauolaParticle.cxx.

References TauolaParticle::getDaughters(), and TauolaParticle::getPdgID().

std::vector< TauolaParticle * > 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 91 of file TauolaParticle.cxx.

References TauolaParticle::getMothers(), and TauolaParticle::getPdgID().

double getAngle ( TauolaParticle other_particle  )  [inherited]

Get the angle between this particle and another particle

Definition at line 29 of file TauolaParticle.cxx.

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

int getBarcode (  )  [virtual]

Get the barcode (position in list) of this particle

Implements TauolaParticle.

Definition at line 291 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_barcode.

int getDaughterRangeEnd (  ) 

Get index of last daughter

Definition at line 315 of file TauolaHEPEVTParticle.cxx.

int getDaughterRangeStart (  ) 

Get index of first daughter

Definition at line 311 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_daughter_start.

std::vector< TauolaParticle * > getDaughters (  )  [virtual]
double getE (  )  [virtual]

Returns the energy component of the four vector

Implements TauolaParticle.

Definition at line 270 of file TauolaHEPEVTParticle.cxx.

int getFirstMotherIndex (  ) 

Get index of first mother

Definition at line 303 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_first_mother.

double getMass (  ) 

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

Reimplemented from TauolaParticle.

Definition at line 254 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_generated_mass.

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

Returns the mothers of this particle via a vector of TauolaParticle

Implements TauolaParticle.

Definition at line 76 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTEvent::getParticle(), TauolaHEPEVTParticle::m_event, and TauolaHEPEVTParticle::m_first_mother.

double getP ( int  axis  )  [inherited]

Get momentum component in the direction of "axis" (x,y,z)

Definition at line 343 of file TauolaParticle.cxx.

References TauolaParticle::getPx(), TauolaParticle::getPy(), TauolaParticle::getPz(), TauolaParticle::X_AXIS, TauolaParticle::Y_AXIS, and TauolaParticle::Z_AXIS.

double getP (  )  [inherited]

Get scalar momentum

Definition at line 339 of file TauolaParticle.cxx.

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

int getPdgID (  )  [virtual]

Get the PDG ID code of this particle

Implements TauolaParticle.

Definition at line 246 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_pdgid.

double getPolarimetricX (  )  [inherited]

Get the polarimetric vector of this particle in the direction X. (Only relevant for tau particles).

Definition at line 8 of file TauolaParticle.cxx.

References TauolaParticle::m_pol_x.

double getPolarimetricY (  )  [inherited]

Get the polarimetric vector of this particle in the direction Y. (Only relevant for tau particles).

Definition at line 12 of file TauolaParticle.cxx.

References TauolaParticle::m_pol_y.

double getPolarimetricZ (  )  [inherited]

Get the polarimetric vector of this particle in the direction Z. (Only relevant for tau particles).

Definition at line 16 of file TauolaParticle.cxx.

References TauolaParticle::m_pol_z.

double getPx (  )  [inline, virtual]

Returns the px component of the four vector

Implements TauolaParticle.

Definition at line 258 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_px.

double getPy (  )  [inline, virtual]

Returns the py component of the four vector

Implements TauolaParticle.

Definition at line 262 of file TauolaHEPEVTParticle.cxx.

double getPz (  )  [virtual]

Returns the pz component of the four vector

Implements TauolaParticle.

Definition at line 266 of file TauolaHEPEVTParticle.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 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 269 of file TauolaParticle.cxx.

References TauolaParticle::getP().

int getSecondMotherIndex (  ) 

Get index of second mother

Definition at line 307 of file TauolaHEPEVTParticle.cxx.

int getSign (  )  [inherited]

Get whether this particle has the same or opposite sign to the pdg code given to the Tauola object. (Only relevant for tau particles).

Definition at line 62 of file TauolaParticle.cxx.

References Tauola::getDecayingParticle(), TauolaParticle::getPdgID(), TauolaParticle::NA_SIGN, TauolaParticle::OPPOSITE_SIGN, and TauolaParticle::SAME_SIGN.

int getStatus (  )  [virtual]

Get the status of this particle

Implements TauolaParticle.

Definition at line 250 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_status.

bool hasDaughters (  )  [inherited]

Return whether the particle has any chidren

Definition at line 71 of file TauolaParticle.cxx.

References TauolaParticle::getDaughters().

bool isDaughterOf ( TauolaHEPEVTParticle p  ) 

Check if particle 'p' is daughter of this particle

Definition at line 207 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::getBarcode(), and TauolaHEPEVTParticle::m_first_mother.

bool isMotherOf ( TauolaHEPEVTParticle p  ) 

Check if particle 'p' is mother of this particle

Definition at line 215 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::getBarcode(), and TauolaHEPEVTParticle::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 305 of file TauolaParticle.cxx.

References TauolaParticle::getP(), and TauolaParticle::setP().

void setBarcode ( int  barcode  ) 

Set barcode (position in list) of this particle

Definition at line 295 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_barcode.

void setDaughters ( std::vector< TauolaParticle * >  daughters  )  [virtual]

Set the daughters of this particle via a vector of TauolaParticle

Implements TauolaParticle.

Definition at line 56 of file TauolaHEPEVTParticle.cxx.

References Log::Fatal(), TauolaHEPEVTParticle::m_daughter_start, and TauolaHEPEVTParticle::m_event.

void setE ( double  e  )  [virtual]

Set the energy component of the four vector

Implements TauolaParticle.

Definition at line 287 of file TauolaHEPEVTParticle.cxx.

void setEvent ( TauolaHEPEVTEvent event  ) 

Set event of this particle

Definition at line 299 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_event.

void setMass ( double  mass  )  [virtual]

Set the mass of this particle

Implements TauolaParticle.

Definition at line 242 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_generated_mass.

void setMothers ( std::vector< TauolaParticle * >  mothers  )  [virtual]
void setP ( int  axis,
double  p_component 
) [inherited]

Set momentum component in the direction of "axis" (x,y,z)

Definition at line 356 of file TauolaParticle.cxx.

References TauolaParticle::setPx(), TauolaParticle::setPy(), TauolaParticle::setPz(), TauolaParticle::X_AXIS, TauolaParticle::Y_AXIS, and TauolaParticle::Z_AXIS.

void setPdgID ( int  pdg_id  )  [virtual]

Set the PDG ID code of this particle

Implements TauolaParticle.

Definition at line 234 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_pdgid.

void setPx ( double  px  )  [virtual]

Set the px component of the four vector

Implements TauolaParticle.

Definition at line 274 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_px.

void setPy ( double  py  )  [virtual]

Set the px component of the four vector

Implements TauolaParticle.

Definition at line 278 of file TauolaHEPEVTParticle.cxx.

void setPz ( double  pz  )  [virtual]

Set the pz component of the four vector

Implements TauolaParticle.

Definition at line 283 of file TauolaHEPEVTParticle.cxx.

void setStatus ( int  statu  )  [virtual]

Set the status of this particle

Implements TauolaParticle.

Definition at line 238 of file TauolaHEPEVTParticle.cxx.

References TauolaHEPEVTParticle::m_status.

void subtract ( TauolaParticle other_particle  )  [inherited]
void undecay (  )  [virtual]

Remove the decay branch from the event record and reset the particle status code to stable. WARNING: not implemented for HEPEVT.

Reimplemented from TauolaParticle.

Definition at line 35 of file TauolaHEPEVTParticle.cxx.


Field Documentation

const int ANTIDOWN = -1 [static, inherited]

anti-down quark

Definition at line 142 of file TauolaParticle.h.

const int ANTIUP = -2 [static, inherited]

anti-up quark

Definition at line 136 of file TauolaParticle.h.

vector<TauolaHEPEVTParticle*> cache [private]

List of created particles - if they are not in the event, they will be deleted when no longer needed

Definition at line 169 of file TauolaHEPEVTParticle.h.

const int DECAYED = 2 [static, inherited]

Decayed particle status

Definition at line 55 of file TauolaParticle.h.

const int DOWN = 1 [static, inherited]

down quark

Definition at line 139 of file TauolaParticle.h.

const int ELECTRON = 11 [static, inherited]

e- particle

Definition at line 124 of file TauolaParticle.h.

const int ELECTRON_ANTINEUTRINO = -12 [static, inherited]

e antineutrino particle

Definition at line 130 of file TauolaParticle.h.

const int ELECTRON_NEUTRINO = 12 [static, inherited]

e neutrino particle

Definition at line 127 of file TauolaParticle.h.

const int GAMMA = 22 [static, inherited]

photon

Definition at line 92 of file TauolaParticle.h.

const int HIGGS = 25 [static, inherited]

H particle

Definition at line 73 of file TauolaParticle.h.

const int HIGGS_A = 36 [static, inherited]

A0 particle

Definition at line 76 of file TauolaParticle.h.

const int HIGGS_MINUS = -37 [static, inherited]

H- particle

Definition at line 82 of file TauolaParticle.h.

const int HIGGS_PLUS = 37 [static, inherited]

H+ particle

Definition at line 79 of file TauolaParticle.h.

const int HISTORY = 3 [static, inherited]

History particle status

Definition at line 58 of file TauolaParticle.h.

int m_barcode [private]

Position in the event record

Definition at line 147 of file TauolaHEPEVTParticle.h.

int m_daughter_start [private]

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

Definition at line 153 of file TauolaHEPEVTParticle.h.

Event from which this particle is taken

Definition at line 144 of file TauolaHEPEVTParticle.h.

int m_first_mother [private]

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

Definition at line 150 of file TauolaHEPEVTParticle.h.

double m_generated_mass [private]

Mass saved at generation step

Definition at line 165 of file TauolaHEPEVTParticle.h.

int m_pdgid [private]

PDG ID

Definition at line 156 of file TauolaHEPEVTParticle.h.

double m_px [private]

Momentum

Definition at line 162 of file TauolaHEPEVTParticle.h.

int m_status [private]

Status (stable, decayed)

Definition at line 159 of file TauolaHEPEVTParticle.h.

const int MUON_ANTINEUTRINO = -14 [static, inherited]

muon antineutrino particle

Definition at line 117 of file TauolaParticle.h.

const int MUON_MINUS = 13 [static, inherited]

muon- particle

Definition at line 111 of file TauolaParticle.h.

const int MUON_NEUTRINO = 14 [static, inherited]

muon neutrino particle

Definition at line 114 of file TauolaParticle.h.

const int MUON_PLUS = -13 [static, inherited]

muon+ particle

Definition at line 108 of file TauolaParticle.h.

const int NA_SIGN = 3 [static, inherited]

Sign type is not applicable for this particle (probably it's not a tau).

Definition at line 49 of file TauolaParticle.h.

const int OPPOSITE_SIGN = 2 [static, inherited]

The opposite sign to decaying particle pdg ID code given to Tauola object (only meaningful for taus).

Definition at line 45 of file TauolaParticle.h.

const int OTHER = 0 [static, inherited]

All other particle types

Definition at line 151 of file TauolaParticle.h.

const int POSITRON = -11 [static, inherited]

e+ particle

Definition at line 121 of file TauolaParticle.h.

const int SAME_SIGN = 1 [static, inherited]

The same sign as decaying particle pdg ID code given to Tauola object (only meaningful for taus).

Definition at line 41 of file TauolaParticle.h.

const int STABLE = 1 [static, inherited]

Stable particle status

Definition at line 52 of file TauolaParticle.h.

const int TAU_ANTINEUTRINO = -16 [static, inherited]

tau antineutrino particle

Definition at line 104 of file TauolaParticle.h.

const int TAU_MINUS = 15 [static, inherited]

tau- particle

Definition at line 98 of file TauolaParticle.h.

const int TAU_NEUTRINO = 16 [static, inherited]

tau neutrino particle

Definition at line 101 of file TauolaParticle.h.

const int TAU_PLUS = -15 [static, inherited]

tau+ particle

Definition at line 95 of file TauolaParticle.h.

const int UP = 2 [static, inherited]

up quark

Definition at line 133 of file TauolaParticle.h.

const int W_MINUS = -24 [static, inherited]

W- particle

Definition at line 89 of file TauolaParticle.h.

const int W_PLUS = 24 [static, inherited]

W+ particle

Definition at line 86 of file TauolaParticle.h.

const int X_AXIS = 1 [static, inherited]

X Axis

Definition at line 61 of file TauolaParticle.h.

const int Y_AXIS = 2 [static, inherited]

Y Axis

Definition at line 64 of file TauolaParticle.h.

const int Z0 = 23 [static, inherited]

Z0 particle

Definition at line 70 of file TauolaParticle.h.

const int Z_AXIS = 3 [static, inherited]

Z Axis

Definition at line 67 of file TauolaParticle.h.


The documentation for this class was generated from the following files:
Generated on Sun Oct 20 20:24:15 2013 for C++InterfacetoTauola by  doxygen 1.6.3