7 #ifndef EVENT_MCPARTICLE_H
8 #define EVENT_MCPARTICLE_H 1
10 #include "EVENT/LCObject.h"
11 #include "EVENT/MCParticle.h"
12 #include "empty_ignore.h"
44 virtual const float*
getSpin()
const = 0;
60 virtual int getPDG()
const = 0;
87 static const int BITEndpoint = 31 ;
88 static const int BITCreatedInSimulation = 30 ;
89 static const int BITBackscatter = 29 ;
90 static const int BITVertexIsNotEndpointOfParent = 28 ;
91 static const int BITDecayedInTracker = 27 ;
92 static const int BITDecayedInCalorimeter = 26 ;
93 static const int BITLeftDetector = 25 ;
94 static const int BITStopped = 24 ;
95 static const int BITOverlay = 23 ;
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.
Definition: LCObject.h:30
std::vector< MCParticle * > MCParticleVec
Vector of (pointers to) MCParticles.
Definition: MCParticle.h:19
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.
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.
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.
The LCIO Monte Carlo particle.
Definition: MCParticle.h:27
virtual float getCharge() const =0
Returns the particle's charge.
MCParticle lcobject_type
Useful typedef for template programming with LCIO.
Definition: MCParticle.h:35
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...
virtual float getTime() const =0
The creation time of the particle in [ns] wrt.
virtual ~MCParticle()
Destructor.
Definition: MCParticle.h:31