4 #include "EVENT/LCIO.h"
28 using namespace EVENT ;
32 MCParticleImpl::MCParticleImpl() :
239 checkAccess(
"MCParticleImpl::setGeneratorStatus") ;
244 checkAccess(
"MCParticleImpl::setSimulatorStatus") ;
275 checkAccess(
"MCParticleImpl::setMomentumAtEndpoint") ;
281 checkAccess(
"MCParticleImpl::setMomentumAtEndpoint") ;
static const int BITOverlay
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.
static const int BITStopped
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].
static const int BITDecayedInCalorimeter
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.
static const int BITLeftDetector
void setVertex(const double vtx[3])
Sets the production vertex.
static const int BITVertexIsNotEndpointOfParent
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 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.
static const int BITBackscatter
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.
virtual int getSimulatorStatus() const
Returns the status for particles from the simulation, e.g.
EVENT::MCParticleVec _parents
virtual void setBackscatter(bool val)
static const int BITCreatedInSimulation
static const int BITDecayedInTracker
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.
static const int BITEndpoint