7 #ifndef EVENT_MCPARTICLE_H
8 #define EVENT_MCPARTICLE_H 1
44 virtual const float*
getSpin()
const = 0;
60 virtual int getPDG()
const = 0;
146 virtual const double*
getVertex()
const = 0;
152 virtual float getTime()
const = 0;
174 virtual double getMass()
const = 0;
The generic object that is held in an LCCollection.
std::vector< MCParticle * > MCParticleVec
Vector of (pointers to) MCParticles.
static const int BITOverlay
virtual const MCParticleVec & getParents() const =0
Returns the parents of this particle.
virtual const double * getMomentumAtEndpoint() const =0
Returns the particle's 3-momentum at the endpoint in [GeV] Only float used in files.
static const int BITStopped
virtual bool isCreatedInSimulation() const =0
True if the particle has been created by the simulation program (rather than the generator).
virtual bool isDecayedInCalorimeter() const =0
True if the particle decayed or interacted (non-continuous interaction, particle terminated) in non-t...
virtual const float * getSpin() const =0
Returns the spin (helicity) vector of the particle.
static const int BITDecayedInCalorimeter
virtual int getPDG() const =0
Returns the PDG code of the particle.
virtual bool isStopped() const =0
True if the particle lost all kinetic energy inside the world volume and did not decay.
virtual const int * getColorFlow() const =0
Returns the color flow as defined by the generator.
virtual double getMass() const =0
Returns the mass of the particle in [GeV] - only float used in files.
virtual bool hasLeftDetector() const =0
True if the particle left the world volume undecayed.
virtual bool isBackscatter() const =0
True if the particle was created by the simulator as a result of an interaction or decay in non-track...
virtual double getEnergy() const =0
Returns the energy of the particle (at the vertex) in [GeV] computed from the particle's momentum and...
virtual bool isDecayedInTracker() const =0
True if the particle decayed or interacted in a tracking region.
virtual int getGeneratorStatus() const =0
Returns the status for particles as defined by the generator, typically 0 empty line 1 undecayed ...
virtual const double * getVertex() const =0
Returns the production vertex of the particle in [mm].
virtual int getSimulatorStatus() const =0
Returns the status for particles from the simulation, e.g.
static const int BITLeftDetector
static const int BITVertexIsNotEndpointOfParent
The LCIO Monte Carlo particle.
virtual float getCharge() const =0
Returns the particle's charge.
static const int BITBackscatter
MCParticle lcobject_type
Useful typedef for template programming with LCIO.
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 bool isOverlay() const =0
True if the particle has been overlayed by the simulation (or digitization) program.
virtual const MCParticleVec & getDaughters() const =0
Returns the daughters of this particle.
virtual bool vertexIsNotEndpointOfParent() const =0
True if the particle was created as a result of a continuous process where the parent particle contin...
static const int BITCreatedInSimulation
static const int BITDecayedInTracker
virtual float getTime() const =0
The creation time of the particle in [ns] wrt.
virtual ~MCParticle()
Destructor.
static const int BITEndpoint