EVENT::MCParticle Class Reference

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

List of all members.

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.
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.
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.
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.
virtual const double * getEndpoint () const =0
 Returns the endpoint of the particle in [mm] if the endpoint has been set explicetly.
virtual const double * getMomentum () const =0
 Returns the particle's 3-momentum at the production vertex in [GeV]

  • only float used in files.

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.

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

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 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:
 All Classes Namespaces Functions Variables Typedefs Friends

Generated on 6 Mar 2020 for LCIO by  doxygen 1.6.1