30 if (std::fabs(deltaPosition.
GetZ()) > std::numeric_limits<float>::epsilon())
31 return (deltaPosition.
GetZ() > std::numeric_limits<float>::epsilon());
33 if (std::fabs(deltaPosition.
GetX()) > std::numeric_limits<float>::epsilon())
34 return (deltaPosition.
GetX() > std::numeric_limits<float>::epsilon());
36 if (std::fabs(deltaPosition.
GetY()) > std::numeric_limits<float>::epsilon())
37 return (deltaPosition.
GetY() > std::numeric_limits<float>::epsilon());
45 m_uid(parameters.m_pParentAddress.Get()),
46 m_energy(parameters.m_energy.Get()),
47 m_momentum(parameters.m_momentum.Get()),
48 m_vertex(parameters.m_vertex.Get()),
49 m_endpoint(parameters.m_endpoint.Get()),
50 m_innerRadius(parameters.m_vertex.Get().GetMagnitude()),
51 m_outerRadius(parameters.m_endpoint.Get().GetMagnitude()),
52 m_particleId(parameters.m_particleId.Get()),
53 m_mcParticleType(parameters.m_mcParticleType.Get()),
69 return STATUS_CODE_ALREADY_PRESENT;
72 return STATUS_CODE_SUCCESS;
80 return STATUS_CODE_ALREADY_PRESENT;
83 return STATUS_CODE_SUCCESS;
93 return STATUS_CODE_NOT_FOUND;
96 return STATUS_CODE_SUCCESS;
106 return STATUS_CODE_NOT_FOUND;
109 return STATUS_CODE_SUCCESS;
117 return STATUS_CODE_FAILURE;
120 return STATUS_CODE_SUCCESS;
128 return STATUS_CODE_SUCCESS;
Header file for the mc particle class.
float GetX() const
Get the cartesian x coordinate.
float GetZ() const
Get the cartesian z coordinate.
float GetY() const
Get the cartesian y coordinate.
StatusCode AddDaughter(const MCParticle *const pMCParticle)
Add daughter particle.
MCParticle(const object_creation::MCParticle::Parameters ¶meters)
Constructor.
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 MCParticle * GetPfoTarget() const
Get pfo target particle.
StatusCode AddParent(const MCParticle *const pMCParticle)
Add parent particle.
virtual ~MCParticle()
Destructor.
StatusCode SetPfoTarget(const MCParticle *const pMCParticle)
Set pfo target particle.
const MCParticle * m_pPfoTarget
The address of the pfo target.
StatusCode RemoveParent(const MCParticle *const pMCParticle)
Remove parent particle.
bool operator<(const MCParticle &rhs) const
operator< sorting by vertex position, then energy
const CartesianVector & GetVertex() const
Get the production vertex of the mc particle, units mm.
StatusCode RemovePfoTarget()
Remove pfo target particle.
MCParticleList m_parentList
The list of mc parent particles.
StatusCodeException class.
StatusCode
The StatusCode enum.