Class ActsFatras::Particle¶
-
class Particle¶
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
-
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 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 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 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
-
using Scalar = Acts::ActsScalar¶