Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | Related Pages

EVENT::MCParticle Class Reference

The LCIO Monte Carlo particle. More...

#include <MCParticle.h>

Inheritance diagram for EVENT::MCParticle:

EVENT::LCObject 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 MCParticleVec & getParents () const=0
 Returns the parents of this particle.

virtual const MCParticleVec & getDaughters () const=0
 Returns the daughters of this particle.

virtual int getNumberOfParents () const=0
 Returns the number of parents of this particle - 0 if mother.

virtual MCParticlegetParent (int i) const=0
 Returns the i-th parent 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 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 momentum at the production vertex 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.

virtual int getNumberOfDaughters () const=0
 Returns the number of daughters of this particle.

virtual MCParticlegetDaughter (int i) const=0
 Returns the i-th daughter of this particle.


Static Public Attributes

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

Detailed Description

The LCIO Monte Carlo particle.

Author:
gaede
Version:
Id
MCParticle.aid,v 1.24 2006/03/24 13:25:52 gaede Exp


Member Function Documentation

virtual MCParticle* EVENT::MCParticle::getDaughter int  i  )  const [pure virtual]
 

Returns the i-th daughter of this particle.

Deprecated:
use getDaughters()

Implemented in IMPL::MCParticleImpl.

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.

virtual int EVENT::MCParticle::getNumberOfDaughters  )  const [pure virtual]
 

Returns the number of daughters of this particle.

Deprecated:
use getDaughters()

Implemented in IMPL::MCParticleImpl.

virtual int EVENT::MCParticle::getNumberOfParents  )  const [pure virtual]
 

Returns the number of parents of this particle - 0 if mother.

Deprecated:
use getParents()

Implemented in IMPL::MCParticleImpl.

virtual MCParticle* EVENT::MCParticle::getParent int  i  )  const [pure virtual]
 

Returns the i-th parent of this particle.

Deprecated:
use getParents()
See also:
MCParticle::getNumberOfParents()

Implemented in IMPL::MCParticleImpl.

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

Implemented in IMPL::MCParticleImpl.

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.

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.

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.


The documentation for this class was generated from the following file:
Generated on Wed Mar 29 16:14:53 2006 for LCIO by doxygen 1.3.2