Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

EVENT::MCParticle Class Reference

#include <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

Public Member Functions

virtual ~MCParticle ()
 Destructor.
virtual double getEnergy () const =0
virtual const MCParticleVecgetParents () const =0
virtual const MCParticleVecgetDaughters () const =0
virtual int getNumberOfParents () const =0
virtual MCParticlegetParent (int i) const =0
virtual int getPDG () const =0
virtual int getGeneratorStatus () const =0
virtual int getSimulatorStatus () const =0
virtual bool isCreatedInSimulation () const =0
virtual bool isBackscatter () const =0
virtual bool vertexIsNotEndpointOfParent () const =0
virtual bool isDecayedInTracker () const =0
virtual bool isDecayedInCalorimeter () const =0
virtual bool hasLeftDetector () const =0
virtual bool isStopped () const =0
virtual const double * getVertex () const =0
virtual float getTime () const =0
virtual const double * getEndpoint () const =0
virtual const double * getMomentum () const =0
virtual double getMass () const =0
virtual float getCharge () const =0
virtual int getNumberOfDaughters () const =0
virtual MCParticlegetDaughter (int i) const =0
virtual int id () const =0
virtual LCObjectclone () const
template<class V>
V::ext_type ext ()
template<class V>
V::rel_type rel ()

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

Protected Member Functions

template<class V>
V::ptr & ptr ()

Detailed Description

The LCIO Monte Carlo particle.

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

Definition at line 27 of file MCParticle.h.


Member Typedef Documentation

typedef MCParticle EVENT::MCParticle::lcobject_type
 

Useful typedef for template programming with LCIO

Definition at line 35 of file MCParticle.h.


Constructor & Destructor Documentation

virtual EVENT::MCParticle::~MCParticle  )  [inline, virtual]
 

Destructor.

Definition at line 31 of file MCParticle.h.


Member Function Documentation

virtual LCObject* EVENT::LCObject::clone  )  const [inline, virtual, inherited]
 

Deep copy of the object. C++ implementations should return the concrete type (virtual constructor). No reasonable implementation yet. Do not use this method.

Reimplemented in IMPL::SimCalorimeterHitImpl.

Definition at line 52 of file LCObject.h.

template<class V>
V::ext_type lcrtrel::LCRTRelations::ext  )  [inline, inherited]
 

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,...

Definition at line 430 of file LCRTRelations.h.

virtual float EVENT::MCParticle::getCharge  )  const [pure virtual]
 

Returns the particle's charge.

Implemented in IMPL::MCParticleImpl.

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

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

Returns the i-th daughter of this particle.

Implemented in IMPL::MCParticleImpl.

virtual const MCParticleVec& EVENT::MCParticle::getDaughters  )  const [pure virtual]
 

Returns the daughters of this particle.

Implemented in IMPL::MCParticleImpl.

Referenced by tpc_tracking::MCParticle::get_children(), tpc_tracking::MCParticle::get_nchildren(), UTIL::LCTOOLS::printDaughterParticles(), UTIL::LCTOOLS::printMCParticles(), and marlin::SimpleFastMCProcessor::processEvent().

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 tpc_tracking::MCParticle::get_position(), UTIL::LCTOOLS::printDaughterParticles(), UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().

virtual double EVENT::MCParticle::getEnergy  )  const [pure virtual]
 

Returns the energy of the particle (at the vertex) in [GeV] computed from the particle's momentum and mass - only float used in files.

Implemented in IMPL::MCParticleImpl.

Referenced by marlin::SimpleFastMCProcessor::check(), UTIL::LCTOOLS::printDaughterParticles(), and UTIL::LCTOOLS::printMCParticles().

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

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

Implemented in IMPL::MCParticleImpl.

Referenced by tpc_tracking::MCParticle::get_status(), UTIL::LCTOOLS::printDaughterParticles(), UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().

virtual double EVENT::MCParticle::getMass  )  const [pure virtual]
 

Returns the mass of the particle in [GeV] - only float used in files.

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::printDaughterParticles(), 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 marlin::SimpleFastMCProcessor::check(), UTIL::LCTOOLS::printDaughterParticles(), UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().

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

Returns the number of daughters of this particle.

Implemented in IMPL::MCParticleImpl.

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

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

Implemented in IMPL::MCParticleImpl.

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

Returns the i-th parent of this particle.

See also:
MCParticle.getNumberOfParents()

Implemented in IMPL::MCParticleImpl.

virtual const MCParticleVec& EVENT::MCParticle::getParents  )  const [pure virtual]
 

Returns the parents of this particle.

Implemented in IMPL::MCParticleImpl.

Referenced by tpc_tracking::MCParticle::get_nparents(), tpc_tracking::MCParticle::get_parents(), UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().

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

Returns the PDG code of the particle.

Implemented in IMPL::MCParticleImpl.

Referenced by tpc_tracking::MCParticle::get_name(), tpc_tracking::MCParticle::get_pdg_id(), UTIL::LCTOOLS::printDaughterParticles(), UTIL::LCTOOLS::printMCParticles(), UTIL::LCTOOLS::printSimCalorimeterHits(), UTIL::LCTOOLS::printSimTrackerHits(), 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()

Implemented in IMPL::MCParticleImpl.

Referenced by UTIL::LCTOOLS::printDaughterParticles(), UTIL::LCTOOLS::printMCParticles(), 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 const double* EVENT::MCParticle::getVertex  )  const [pure virtual]
 

Returns the production vertex of the particle in [mm].

Implemented in IMPL::MCParticleImpl.

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

virtual bool EVENT::MCParticle::hasLeftDetector  )  const [pure virtual]
 

True if the particle left the world volume undecayed.

Implemented in IMPL::MCParticleImpl.

virtual int EVENT::LCObject::id  )  const [pure virtual, inherited]
 

Returns an object id for internal (debugging) use in LCIO.

Implemented in tpc_tracking::CustomLCIOObject, EVENT::LCFloatVec, EVENT::LCGenericObject, EVENT::LCIntVec, EVENT::LCStrVec, IMPL::CalorimeterHitImpl, IMPL::ClusterImpl, IMPL::LCGenericObjectImpl, IMPL::LCRelationImpl, IMPL::LCRunHeaderImpl, IMPL::MCParticleImpl, IMPL::ParticleIDImpl, IMPL::RawCalorimeterHitImpl, IMPL::ReconstructedParticleImpl, IMPL::SimCalorimeterHitImpl, IMPL::SimTrackerHitImpl, IMPL::TPCHitImpl, IMPL::TrackerDataImpl, IMPL::TrackerHitImpl, IMPL::TrackerPulseImpl, IMPL::TrackerRawDataImpl, IMPL::TrackImpl, IMPL::VertexImpl, and tpc_tracking::CustomLCIOObject.

Referenced by UTIL::operator<<(), UTIL::LCTOOLS::printCalorimeterHits(), UTIL::LCTOOLS::printClusters(), UTIL::LCTOOLS::printMCParticles(), UTIL::LCTOOLS::printRawCalorimeterHits(), UTIL::LCTOOLS::printReconstructedParticles(), UTIL::LCTOOLS::printRelation(), UTIL::LCTOOLS::printSimCalorimeterHits(), UTIL::LCTOOLS::printTPCHits(), UTIL::LCTOOLS::printTrackerData(), UTIL::LCTOOLS::printTrackerHits(), UTIL::LCTOOLS::printTrackerPulse(), UTIL::LCTOOLS::printTrackerRawData(), and UTIL::LCTOOLS::printTracks().

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::isCreatedInSimulation  )  const [pure virtual]
 

True if the particle has been created by the simulation program (rather than the generator).

Implemented in IMPL::MCParticleImpl.

Referenced by tpc_tracking::MCParticle::get_status().

virtual bool EVENT::MCParticle::isDecayedInCalorimeter  )  const [pure virtual]
 

True if the particle decayed or interacted (non-continuous interaction, particle terminated) in non-tracking region.

Implemented in IMPL::MCParticleImpl.

virtual bool EVENT::MCParticle::isDecayedInTracker  )  const [pure virtual]
 

True if the particle decayed or interacted in a tracking region.

Implemented in IMPL::MCParticleImpl.

virtual bool EVENT::MCParticle::isStopped  )  const [pure virtual]
 

True if the particle lost all kinetic energy inside the world volume and did not decay

Implemented in IMPL::MCParticleImpl.

template<class V>
V::ptr& lcrtrel::LCRTRelations::ptr  )  [inline, protected, inherited]
 

Returns the reference to the pointer to the extension/relation object

Definition at line 508 of file LCRTRelations.h.

template<class V>
V::rel_type lcrtrel::LCRTRelations::rel  )  [inline, inherited]
 

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.

Definition at line 444 of file LCRTRelations.h.

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.


Member Data Documentation

const int EVENT::MCParticle::BITBackscatter = 29 [static]
 

Definition at line 92 of file MCParticle.h.

const int EVENT::MCParticle::BITCreatedInSimulation = 30 [static]
 

Definition at line 91 of file MCParticle.h.

const int EVENT::MCParticle::BITDecayedInCalorimeter = 26 [static]
 

Definition at line 95 of file MCParticle.h.

const int EVENT::MCParticle::BITDecayedInTracker = 27 [static]
 

Definition at line 94 of file MCParticle.h.

const int EVENT::MCParticle::BITEndpoint = 31 [static]
 

Definition at line 90 of file MCParticle.h.

const int EVENT::MCParticle::BITLeftDetector = 25 [static]
 

Definition at line 96 of file MCParticle.h.

const int EVENT::MCParticle::BITStopped = 24 [static]
 

Definition at line 97 of file MCParticle.h.

const int EVENT::MCParticle::BITVertexIsNotEndpointOfParent = 28 [static]
 

Definition at line 93 of file MCParticle.h.


The documentation for this class was generated from the following file:
Generated on Sun Jun 3 06:32:24 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1