2 #ifndef IMPL_MCPARTICLEIMPL_H
3 #define IMPL_MCPARTICLEIMPL_H 1
6 #include "EVENT/LCIO.h"
79 virtual int getPDG()
const ;
138 virtual const double*
getVertex()
const ;
144 virtual float getTime()
const ;
157 virtual double getMass()
const ;
171 virtual const float*
getSpin()
const ;
245 void setSpin(
const float spin[3] );
EVENT::MCParticleVec _daughters
virtual bool vertexIsNotEndpointOfParent() const
True if the particle's vertex is not the endpoint of the parent particle.
virtual const int * getColorFlow() const
Returns the color flow.
virtual const double * getMomentumAtEndpoint() const
Returns the particle momentum at the endpoint.
void setTime(float time)
Sets the createion time.
virtual const double * getMomentum() const
Returns the particle momentum at the production vertex.
void setEndpoint(const double pnt[3])
Sets the particle endpoint.
virtual float getTime() const
The creation time of the particle in [ns] wrt.
virtual double getMass() const
Returns the mass of the particle in [GeV].
virtual const EVENT::MCParticleVec & getParents() const
Returns the parents of this particle.
virtual bool hasLeftDetector() const
True if the particle has left the world volume undecayed.
virtual int getGeneratorStatus() const
Returns the status for particles from the generator 0 empty line 1 undecayed particle, stable in the generator 2 particle decayed in the generator 3 documentation line.
virtual bool isBackscatter() const
True if the particle is the result of a backscatter from a calorimeter shower.
std::bitset< 32 > _simstatus
void setGeneratorStatus(int status)
Sets the Generator status.
virtual const double * getEndpoint() const
Returns the i-th daughter of this particle.
void addParent(EVENT::MCParticle *mom)
Adds a parent particle.
virtual void setDecayedInCalorimeter(bool val)
void addDaughter(EVENT::MCParticle *daughter)
Adds a daughter particle - only called from addParent().
virtual bool isDecayedInTracker() const
True if the particle has interacted in a tracking region.
void setColorFlow(const int cflow[2])
Sets the color flow.
void setSimulatorStatus(int status)
Sets the Simulator status.
void setMass(float m)
Sets the mass.
virtual void setCreatedInSimulation(bool val)
virtual void setDecayedInTracker(bool val)
void setMomentum(const float p[3])
Sets the momentum.
void setMomentumAtEndpoint(const float p[3])
Sets the momentum at the endpoint.
void setVertex(const double vtx[3])
Sets the production vertex.
virtual void setVertexIsNotEndpointOfParent(bool val)
void setCharge(float c)
Sets the charge.
virtual const EVENT::MCParticleVec & getDaughters() const
Returns the daughters of this particle.
virtual double getEnergy() const
Returns the energy of the particle (at the vertex) in [GeV] computed from the particle's momentum and...
The LCIO Monte Carlo particle.
virtual bool isCreatedInSimulation() const
True if the particle has been created by the simulation program (rather than the generator).
void setPDG(int pdg)
Sets the parent.
virtual bool isStopped() const
True if the particle has been stopped by the simulation program.
virtual void setStopped(bool val)
virtual void setHasLeftDetector(bool val)
virtual int simpleUID() const
virtual bool isDecayedInCalorimeter() const
True if the particle has interacted in a calorimeter region.
virtual bool isOverlay() const
True if the particle has been overlayed by the simulation (or digitization) program.
virtual void setOverlay(bool val)
virtual const double * getVertex() const
Returns the production vertex of the particle.
void setSpin(const float spin[3])
Sets the spin.
virtual int getPDG() const
Returns the number of daughters of this particle.
Controls access to objects.
virtual int getSimulatorStatus() const
Returns the status for particles from the simulation, e.g.
EVENT::MCParticleVec _parents
virtual void setBackscatter(bool val)
virtual float getCharge() const
Returns the particle's charge.
Implementation of MCParticle.
virtual ~MCParticleImpl()
Copy c'tor.
virtual const float * getSpin() const
Returns the spin.
virtual int id() const
Returns an object id for internal (debugging) use in LCIO.