IMPL::MCParticleImpl Class Reference

Implementation of MCParticle. More...

#include <IMPL/MCParticleImpl.h>

Inheritance diagram for IMPL::MCParticleImpl:
EVENT::MCParticle IMPL::AccessChecked EVENT::LCObject lcrtrel::LCRTRelations IOIMPL::MCParticleIOImpl

List of all members.

Public Member Functions

virtual ~MCParticleImpl ()
 Copy c'tor.
virtual int id () const
 Returns an object id for internal (debugging) use in LCIO.
virtual const
EVENT::MCParticleVec
getParents () const
 Returns the parents of this particle.
virtual const
EVENT::MCParticleVec
getDaughters () const
 Returns the daughters of this particle.
virtual const double * getEndpoint () const
 Returns the i-th daughter of this particle.
virtual int getPDG () const
 Returns the number of daughters of this particle.
virtual int getGeneratorStatus () const
 Returns the status for particles from the generator
0 empty line
1 undecayed particle, stable in the generator
2 particle decayed in the generator
3 documentation line.
virtual int getSimulatorStatus () const
 Returns the status for particles from the simulation, e.g.
virtual bool isCreatedInSimulation () const
 True if the particle has been created by the simulation program (rather than the generator).
virtual bool isBackscatter () const
 True if the particle is the result of a backscatter from a calorimeter shower.
virtual bool vertexIsNotEndpointOfParent () const
 True if the particle's vertex is not the endpoint of the parent particle.
virtual bool isDecayedInTracker () const
 True if the particle has interacted in a tracking region.
virtual bool isDecayedInCalorimeter () const
 True if the particle has interacted in a calorimeter region.
virtual bool hasLeftDetector () const
 True if the particle has left the world volume undecayed.
virtual bool isStopped () const
 True if the particle has been stopped by the simulation program.
virtual bool isOverlay () const
 True if the particle has been overlayed by the simulation (or digitization) program.
virtual const double * getVertex () const
 Returns the production vertex of the particle.
virtual float getTime () const
 The creation time of the particle in [ns] wrt.
virtual const double * getMomentum () const
 Returns the particle momentum at the production vertex.
virtual const double * getMomentumAtEndpoint () const
 Returns the particle momentum at the endpoint.
virtual double getMass () const
 Returns the mass of the particle in [GeV].
virtual float getCharge () const
 Returns the particle's charge.
virtual double getEnergy () const
 Returns the energy of the particle (at the vertex) in [GeV] computed from the particle's momentum and mass.
virtual const float * getSpin () const
 Returns the spin.
virtual const int * getColorFlow () const
 Returns the color flow.
void addParent (EVENT::MCParticle *mom)
 Adds a parent particle.
void setPDG (int pdg)
 Sets the parent.
void setGeneratorStatus (int status)
 Sets the Generator status.
void setSimulatorStatus (int status)
 Sets the Simulator status.
void setVertex (const double vtx[3])
 Sets the production vertex.
void setTime (float time)
 Sets the createion time.
void setEndpoint (const double pnt[3])
 Sets the particle endpoint.
void setMomentum (const float p[3])
 Sets the momentum.
void setMomentum (const double p[3])
 Sets the momentum.
void setMomentumAtEndpoint (const float p[3])
 Sets the momentum at the endpoint.
void setMomentumAtEndpoint (const double p[3])
 Sets the momentum at the endpoint.
void setMass (float m)
 Sets the mass.
void setCharge (float c)
 Sets the charge.
void setSpin (const float spin[3])
 Sets the spin.
void setColorFlow (const int cflow[2])
 Sets the color flow.
virtual void setCreatedInSimulation (bool val)
virtual void setBackscatter (bool val)
virtual void setVertexIsNotEndpointOfParent (bool val)
virtual void setDecayedInTracker (bool val)
virtual void setDecayedInCalorimeter (bool val)
virtual void setHasLeftDetector (bool val)
virtual void setStopped (bool val)
virtual void setOverlay (bool val)

Protected Member Functions

void addDaughter (EVENT::MCParticle *daughter)
 Adds a daughter particle - only called from addParent().

Protected Attributes

int _pdg
int _genstatus
std::bitset< 32 > _simstatus
double _vertex [3]
double _endpoint [3]
double _pEndpoint [3]
double _p [3]
double _mass
float _charge
float _time
EVENT::MCParticleVec _parents
EVENT::MCParticleVec _daughters
bool _endpointSet
float _spin [3]
int _colorFlow [2]

Detailed Description

Implementation of MCParticle.

Author:
gaede
Version:
Id
MCParticleImpl.h,v 1.24 2010-01-21 16:28:25 gaede Exp

Constructor & Destructor Documentation

IMPL::MCParticleImpl::~MCParticleImpl (  )  [virtual]

Copy c'tor.

Destructor.


Member Function Documentation

const double * IMPL::MCParticleImpl::getEndpoint (  )  const [virtual]

Returns the i-th daughter of this particle.

Same as getDaughter() except for return type.

See also:
getNumberOfDaughters Returns the number of parents of this particle - 0 if mother. Returns the i-th parent of this particle. Returns the endpoint of the particle in [mm] - returns NULL if undefined (not set). Definition of the enpoint depends on the application that created the particle, e.g. the start point of the shower in a calorimeter.

Implements EVENT::MCParticle.

References getVertex(), and vertexIsNotEndpointOfParent().

int IMPL::MCParticleImpl::getPDG (  )  const [virtual]

Returns the number of daughters of this particle.

Returns the PDG code of the particle.

Implements EVENT::MCParticle.

Referenced by UTIL::LCStdHepRdr::readEvent().

int IMPL::MCParticleImpl::getSimulatorStatus (  )  const [virtual]

Returns the status for particles from the simulation, e.g.

decayed in flight. Bits 31-16 are used to decode the information. Use the followng boolean functions to determine the proper simulator status:

See also:
isCreatedInSimulation()
isBackscatter()
vertexIsNotEndpointOfParent()
isDecayedInTracker()
isDecayedInCalorimeter()
hasLeftDetector()
isStopped()
isOverlay()

Implements EVENT::MCParticle.

float IMPL::MCParticleImpl::getTime (  )  const [virtual]

The creation time of the particle in [ns] wrt.

the event, e.g. for preassigned decays or decays in flight from the simulator.

Implements EVENT::MCParticle.

void IMPL::MCParticleImpl::setPDG ( int  pdg  ) 

Sets the parent.

Sets a second parent. Sets the PDG code.

Referenced by UTIL::LCStdHepRdr::readEvent().


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Friends

Generated on 6 Mar 2020 for LCIO by  doxygen 1.6.1