LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Types | Public Member Functions | Static Public Attributes | List of all members
EVENT::MCParticle Class Referenceabstract

The LCIO Monte Carlo particle. More...

#include <pre-generated/EVENT/MCParticle.h>

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

Public Types

typedef MCParticle lcobject_type
 Useful typedef for template programming with LCIO.
 

Public Member Functions

virtual ~MCParticle ()
 Destructor.
 
virtual double getEnergy () const =0
 Returns the energy of the particle (at the vertex) in [GeV] computed from the particle's momentum and mass - only float used in files.
 
virtual const float * getSpin () const =0
 Returns the spin (helicity) vector of the particle.
 
virtual const int * getColorFlow () const =0
 Returns the color flow as defined by the generator.
 
virtual const MCParticleVecgetParents () const =0
 Returns the parents of this particle.
 
virtual const MCParticleVecgetDaughters () const =0
 Returns the daughters of this particle.
 
virtual int getPDG () const =0
 Returns the PDG code of the particle.
 
virtual int getGeneratorStatus () const =0
 Returns the status for particles as defined by the generator, typically
0 empty line
1 undecayed particle, stable in the generator
2 particle decayed in the generator
3 documentation line.
 
virtual int getSimulatorStatus () const =0
 Returns the status for particles from the simulation, e.g. More...
 
virtual bool isCreatedInSimulation () const =0
 True if the particle has been created by the simulation program (rather than the generator).
 
virtual bool isBackscatter () const =0
 True if the particle was created by the simulator as a result of an interaction or decay in non-tracking region, e.g. More...
 
virtual bool vertexIsNotEndpointOfParent () const =0
 True if the particle was created as a result of a continuous process where the parent particle continues, i.e. More...
 
virtual bool isDecayedInTracker () const =0
 True if the particle decayed or interacted in a tracking region.
 
virtual bool isDecayedInCalorimeter () const =0
 True if the particle decayed or interacted (non-continuous interaction, particle terminated) in non-tracking region.
 
virtual bool hasLeftDetector () const =0
 True if the particle left the world volume undecayed.
 
virtual bool isStopped () const =0
 True if the particle lost all kinetic energy inside the world volume and did not decay.
 
virtual bool isOverlay () const =0
 True if the particle has been overlayed by the simulation (or digitization) program.
 
virtual const double * getVertex () const =0
 Returns the production vertex of the particle in [mm].
 
virtual float getTime () const =0
 The creation time of the particle in [ns] wrt. More...
 
virtual const double * getEndpoint () const =0
 Returns the endpoint of the particle in [mm] if the endpoint has been set explicetly. More...
 
virtual const double * getMomentum () const =0
 Returns the particle's 3-momentum at the production vertex in [GeV]. More...
 
virtual const double * getMomentumAtEndpoint () const =0
 Returns the particle's 3-momentum at the endpoint in [GeV] Only float used in files.
 
virtual double getMass () const =0
 Returns the mass of the particle in [GeV] - only float used in files.
 
virtual float getCharge () const =0
 Returns the particle's charge.
 
- Public Member Functions inherited from EVENT::LCObject
virtual ~LCObject ()
 Destructor.
 
virtual int id () const =0
 Returns an object id for internal (debugging) use in LCIO.
 
virtual LCObjectclone () const
 Returns an object id for internal (debugging) use in LCIO. More...
 
- Public Member Functions inherited from lcrtrel::LCRTRelations
template<class V >
V::ext_type ext ()
 Provides access to an extension object - the type and ownership is defined by the class V which should be a subtype of LCExtension, LCOwnedExtension, LCExtensionVector, LCExtensionList,...
 
template<class V >
const V::ext_type ext () const
 
template<class V >
V::rel_type rel ()
 Provides read access to relations - the object types and their connectivity are defined by the class V which has to be a subtype of either LC1To1Relation, LC1ToNRelation or LCNToNRelation.
 

Static Public Attributes

static const int BITEndpoint = 31
 
static const int BITCreatedInSimulation = 30
 
static const int BITBackscatter = 29
 
static const int BITVertexIsNotEndpointOfParent = 28
 
static const int BITDecayedInTracker = 27
 
static const int BITDecayedInCalorimeter = 26
 
static const int BITLeftDetector = 25
 
static const int BITStopped = 24
 
static const int BITOverlay = 23
 

Additional Inherited Members

- Protected Member Functions inherited from lcrtrel::LCRTRelations
template<class V >
V::ptr & ptr () const
 Returns the reference to the pointer to the extension/relation object.
 

Detailed Description

The LCIO Monte Carlo particle.

Author
gaede
Version
Id:
MCParticle.aid,v 1.26 2006-08-03 16:53:34 gaede Exp

Member Function Documentation

virtual const double* EVENT::MCParticle::getEndpoint ( ) const
pure virtual

Returns the endpoint of the particle in [mm] if the endpoint has been set explicetly.

If not, the vertex of the first daughter that has vertexIsNotEndpointOfParent==false is returned. If no such daughter exists (0,0,0) is returned.

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().

virtual const double* EVENT::MCParticle::getMomentum ( ) const
pure virtual

Returns the particle's 3-momentum at the production vertex in [GeV].

  • only float used in files.

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().

virtual int EVENT::MCParticle::getSimulatorStatus ( ) const
pure 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()

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::getSimulatorStatusString(), and SIO::SIOParticleHandler::write().

virtual float EVENT::MCParticle::getTime ( ) const
pure virtual

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

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

Implemented in IMPL::MCParticleImpl.

Referenced by SIO::SIOParticleHandler::write().

virtual bool EVENT::MCParticle::isBackscatter ( ) const
pure virtual

True if the particle was created by the simulator as a result of an interaction or decay in non-tracking region, e.g.

a calorimeter. By convention, such particles are not saved. However, if this particle creates a tracker hit, the particle is added to the MCParticle list with this flag set, and the parent set to the particle that initially decayed or interacted in a non-tracking region.

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::getSimulatorStatusString().

virtual bool EVENT::MCParticle::vertexIsNotEndpointOfParent ( ) const
pure virtual

True if the particle was created as a result of a continuous process where the parent particle continues, i.e.

hard ionization, Bremsstrahlung, elastic interactions, etc.

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::getSimulatorStatusString().


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