Class Acts::GenericFreeTrackParameters
-
template<class particle_hypothesis_t>
class GenericFreeTrackParameters Track parameters not bound to a surface for a single track.
Parameters and covariance matrix are stored using the free parametrization defined in
enum FreeIndices
.- Template Parameters
particle_hypothesis_t – Helper type to interpret the particle charge/momentum
Public Types
-
using CovarianceMatrix = FreeSquareMatrix
-
using ParametersVector = FreeVector
-
using ParticleHypothesis = particle_hypothesis_t
-
using Scalar = ActsScalar
Public Functions
-
GenericFreeTrackParameters() = delete
Parameters are not default constructible due to the charge type.
-
GenericFreeTrackParameters(const GenericFreeTrackParameters&) = default
-
template<typename other_particle_hypothesis_t>
inline GenericFreeTrackParameters(const GenericFreeTrackParameters<other_particle_hypothesis_t> &other) Converts a free track parameter with a different hypothesis.
-
inline GenericFreeTrackParameters(const ParametersVector ¶ms, std::optional<CovarianceMatrix> cov, ParticleHypothesis particleHypothesis)
Construct from a parameters vector and particle charge.
In principle, only the charge magnitude is needed her to allow unambiguous extraction of the absolute momentum. The particle charge is required as an input here to be consistent with the other constructors below that that also take the charge as an input. The charge sign is only used in debug builds to check for consistency with the q/p parameter.
- Parameters
params – Free parameters vector
cov – Free parameters covariance matrix
particleHypothesis – Particle hypothesis
-
inline GenericFreeTrackParameters(const Vector4 &pos4, Scalar phi, Scalar theta, Scalar qOverP, std::optional<CovarianceMatrix> cov, ParticleHypothesis particleHypothesis)
Construct from four-position, angles, absolute momentum, and charge.
- Parameters
pos4 – Track position/time four-vector
phi – Transverse track direction angle
theta – Longitudinal track direction angle
qOverP – Charge over momentum
cov – Free parameters covariance matrix
particleHypothesis – Particle hypothesis
-
GenericFreeTrackParameters(GenericFreeTrackParameters&&) = default
-
~GenericFreeTrackParameters() = default
-
inline const std::optional<CovarianceMatrix> &covariance() const
Optional covariance matrix.
-
inline Vector3 direction() const
Unit direction three-vector, i.e. the normalized momentum three-vector.
-
template<FreeIndices kIndex>
inline Scalar get() const Access a single parameter value identified by its index.
- Template Parameters
kIndex – Track parameter index
-
GenericFreeTrackParameters &operator=(const GenericFreeTrackParameters&) = default
-
GenericFreeTrackParameters &operator=(GenericFreeTrackParameters&&) = default
-
inline const ParametersVector ¶meters() const
Parameters vector.
-
inline const ParticleHypothesis &particleHypothesis() const
Particle hypothesis.
Public Static Functions
-
template<typename other_track_parameter_t>
static inline GenericFreeTrackParameters create(const other_track_parameter_t &other) Converts an unknown bound track parameter.