The LCIO Monte Carlo particle. More...
#include <pre-generated/EVENT/MCParticle.h>
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 MCParticleVec & | getParents () const =0 |
Returns the parents of this particle. | |
virtual const MCParticleVec & | getDaughters () 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. | |
![]() | |
virtual | ~LCObject () |
Destructor. | |
virtual int | id () const =0 |
Returns an object id for internal (debugging) use in LCIO. | |
virtual LCObject * | clone () const |
Returns an object id for internal (debugging) use in LCIO. More... | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
template<class V > | |
V::ptr & | ptr () const |
Returns the reference to the pointer to the extension/relation object. | |
|
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().
|
pure virtual |
Returns the particle's 3-momentum at the production vertex in [GeV].
Implemented in IMPL::MCParticleImpl.
Referenced by UTIL::LCTOOLS::printMCParticles(), and SIO::SIOParticleHandler::write().
|
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:
Implemented in IMPL::MCParticleImpl.
Referenced by UTIL::LCTOOLS::getSimulatorStatusString(), and SIO::SIOParticleHandler::write().
|
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().
|
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().
|
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().