8#ifndef PANDORA_MC_PARTICLE_H
9#define PANDORA_MC_PARTICLE_H 1
17template<
typename T>
class InputObjectManager;
18template<
typename T,
typename S>
class PandoraObjectFactory;
217 return m_parentList.empty();
Header file for pandora object creation classes.
Header file defining status codes and relevant preprocessor macros.
const MCParticleType m_mcParticleType
The type of the mc particle, e.g. vertex, 2D-projection, etc.
StatusCode AddDaughter(const MCParticle *const pMCParticle)
Add daughter particle.
const int m_particleId
The PDG code of the mc particle.
MCParticleType GetMCParticleType() const
Get the type of the mc particle, e.g. vertex, 2D-projection, etc.
Uid GetUid() const
Get the mc particle unique identifier.
bool IsRootParticle() const
Whether the mc particle is a root particle.
StatusCode RemoveDaughter(const MCParticle *const pMCParticle)
Remove daughter particle.
float GetEnergy() const
Get energy of mc particle, units GeV.
MCParticleList m_daughterList
The list of mc daughter particles.
const CartesianVector m_vertex
The production vertex of the mc particle, units mm.
const MCParticle * GetPfoTarget() const
Get pfo target particle.
const MCParticleList & GetDaughterList() const
Get list of daughters of mc particle.
StatusCode AddParent(const MCParticle *const pMCParticle)
Add parent particle.
const Uid m_uid
Unique identifier for the mc particle.
virtual ~MCParticle()
Destructor.
const CartesianVector & GetMomentum() const
Get momentum of mc particle, units GeV.
const float m_innerRadius
Inner radius of the particle's path, units mm.
StatusCode SetPfoTarget(const MCParticle *const pMCParticle)
Set pfo target particle.
bool IsPfoTargetSet() const
Whether the pfo target been set.
const CartesianVector & GetEndpoint() const
Get the endpoint of the mc particle, units mm.
const MCParticle * m_pPfoTarget
The address of the pfo target.
const float m_energy
The energy of the mc particle, units GeV.
const CartesianVector m_endpoint
The endpoint of the mc particle, units mm.
StatusCode RemoveParent(const MCParticle *const pMCParticle)
Remove parent particle.
float GetInnerRadius() const
Get inner radius of mc particle, units mm.
bool operator<(const MCParticle &rhs) const
operator< sorting by vertex position, then energy
float GetOuterRadius() const
Get outer radius of mc particle, units mm.
const CartesianVector & GetVertex() const
Get the production vertex of the mc particle, units mm.
const MCParticleList & GetParentList() const
Get list of parents of mc particle.
const float m_outerRadius
Outer radius of the particle's path, units mm.
int GetParticleId() const
Get the PDG code of the mc particle.
StatusCode RemovePfoTarget()
Remove pfo target particle.
MCParticleList m_parentList
The list of mc parent particles.
const CartesianVector m_momentum
The momentum of the mc particle, units GeV.
bool IsPfoTarget() const
Whether the mc particle is a pfo target.
PandoraObjectFactory class.
MANAGED_CONTAINER< const MCParticle * > MCParticleList
MCParticleType
MC particle type enum.
StatusCode
The StatusCode enum.