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. | |
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]
| |
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 |
The LCIO Monte Carlo particle.
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:
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().