A simulation hit on a surface.
This is the undigitized, truth hit, i.e. just a recording of the particle state at the surface intersection. Since Fatras is surface-based, the hit position is always constrained to a surface. Depending on the simulated interactions the momentum state before and after might differ and is thus stored as two separate four-vectors.
using Scalar = Acts::ActsScalar¶
using Vector3 = Acts::ActsVector<3>¶
using Vector4 = Acts::ActsVector<4>¶
Hit() = default¶
Construct default hit with (mostly) invalid information.
inline Hit(Acts::GeometryIdentifier geometryId, Barcode particleId, const Vector4 &pos4, const Vector4 &before4, const Vector4 &after4, int32_t index_ = -1)¶
Construct from four-position and four-momenta.
All quantities are given in the global coordinate system. It is the users responsibility to ensure that the position correspond to a position on the given surface.
geometryId – Geometry identifier of the surface
particleId – Particle identifier of the particle that created the hit
pos4 – Particle space-time four-vector on the surface
before4 – Particle four-momentum before the interaction
after4 – Particle four-momentum after the interaction
index_ – Hit index along the particle trajectory
inline Scalar depositedEnergy() const¶
Energy deposited by the hit.
- Return values
positive – if the particle lost energy when it passed the surface
negative – if magic was involved
inline constexpr Acts::GeometryIdentifier geometryId() const¶
Geometry identifier of the hit surface.
inline constexpr int32_t index() const¶
Hit index along the particle trajectory.
- Return values
negative – if the hit index is undefined.
inline constexpr Barcode particleId() const¶
Particle identifier of the particle that generated the hit.
inline auto position() const¶
Three-position, i.e. spatial coordinates without the time.
inline Vector3 unitDirection() const¶
Average normalized particle direction vector through the surface.
- using Scalar = Acts::ActsScalar¶