File Particle.hpp¶
-
namespace ActsFatras
-
-
class Particle
- #include <ActsFatras/EventData/Particle.hpp>
Particle identity information and kinematic state.
Also stores some simulation-specific properties.
Public Types
-
using Scalar = Acts::ActsScalar
-
using Vector3 = Acts::ActsVector<3>
-
using Vector4 = Acts::ActsVector<4>
Public Functions
-
Particle() = default
Construct a default particle with invalid identity.
-
inline Particle(Barcode particleId, Acts::PdgParticle pdg, Scalar charge, Scalar mass)
Construct a particle at rest with explicit mass and charge.
Warning
It is the users responsibility that charge and mass match the PDG particle number.
- Parameters
particleId – Particle identifier within an event
pdg – PDG id
charge – Particle charge in native units
mass – Particle mass in native units
-
Particle(Barcode particleId, Acts::PdgParticle pdg)
Construct a particle at rest from a PDG particle number.
Charge and mass are retrieved from the particle data table.
- Parameters
particleId – Particle identifier within an event
pdg – PDG particle number
-
Particle(const Particle&) = default
-
Particle(Particle&&) = default
-
inline constexpr Scalar absoluteMomentum() const
Absolute momentum.
-
inline constexpr Scalar charge() const
Particle charge.
-
inline Particle &correctEnergy(Scalar delta)
Change the energy by the given amount.
Energy loss corresponds to a negative change. If the updated energy would result in an unphysical value, the particle is put to rest, i.e. its absolute momentum is set to zero.
-
inline Scalar energy() const
Total energy, i.e. norm of the four-momentum.
-
inline Vector4 fourMomentum() const
Energy-momentum four-vector.
-
inline constexpr const Vector4 &fourPosition() const
Space-time position four-vector.
-
inline constexpr Scalar mass() const
Particle mass.
-
inline constexpr operator bool() const
Check if the particle is alive, i.e. is not at rest.
-
inline constexpr bool operator!() const
Check if the particle is dead, i.e is at rest.
-
inline constexpr Barcode particleId() const
Particle identifier within an event.
-
inline constexpr Scalar pathInL0() const
Accumulated path within material measured in interaction lengths.
-
inline constexpr Scalar pathInX0() const
Accumulated path within material measured in radiation lengths.
-
inline constexpr Acts::PdgParticle pdg() const
PDG particle number that identifies the type.
-
inline auto position() const
Three-position, i.e. spatial coordinates without the time.
-
inline constexpr ProcessType process() const
Which type of process generated this particle.
-
inline constexpr Scalar properTime() const
Proper time in the particle rest frame.
-
inline Particle &setDirection(Scalar dx, Scalar dy, Scalar dz)
Set the direction three-vector from scalar components.
-
inline constexpr Particle &setMaterialPassed(Scalar pathInX0, Scalar pathInL0)
Set the accumulated material measured in radiation/interaction lengths.
- Parameters
pathInX0 – accumulated material measured in radiation lengths
pathInL0 – accumulated material measured in interaction lengths
-
inline Particle &setPosition4(const Vector3 &position, Scalar time)
Set the space-time position four-vector from three-position and time.
-
inline Particle &setPosition4(Scalar x, Scalar y, Scalar z, Scalar time)
Set the space-time position four-vector from scalar components.
-
inline Particle &setProcess(ProcessType proc)
Set the process type that generated this particle.
-
inline constexpr Particle &setProperTime(Scalar properTime)
Set the proper time in the particle rest frame.
- Parameters
properTime – passed proper time in the rest frame
-
inline Scalar time() const
Time coordinate.
-
inline Scalar transverseMomentum() const
Absolute momentum in the x-y plane.
-
inline const Vector3 &unitDirection() const
Unit three-direction, i.e. the normalized momentum three-vector.
Private Members
-
Acts::PdgParticle m_pdg = Acts::PdgParticle::eInvalid¶
PDG particle number.
-
ProcessType m_process = ProcessType::eUndefined¶
Process type specifier.
-
using Scalar = Acts::ActsScalar
-
class Particle