File GenericFreeTrackParameters.hpp
-
namespace Acts
Note
This file is foreseen for the
Geometry
module to replaceExtent
-
template<class particle_hypothesis_t>
class GenericFreeTrackParameters - #include <Acts/EventData/GenericFreeTrackParameters.hpp>
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 Scalar absoluteMomentum() const
Absolute momentum.
-
inline Scalar charge() const
Particle electric charge.
-
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.
-
inline Vector4 fourPosition() const
Space-time position four-vector.
-
template<FreeIndices kIndex>
inline Scalar get() const Access a single parameter value identified by its index.
- Template Parameters
kIndex – Track parameter index
-
inline Vector3 momentum() const
Momentum three-vector.
-
GenericFreeTrackParameters &operator=(const GenericFreeTrackParameters&) = default
-
GenericFreeTrackParameters &operator=(GenericFreeTrackParameters&&) = default
-
inline const ParametersVector ¶meters() const
Parameters vector.
-
inline const ParticleHypothesis &particleHypothesis() const
Particle hypothesis.
-
inline Scalar phi() const
Phi direction.
-
inline Vector3 position() const
Spatial position three-vector.
-
inline Scalar qOverP() const
Charge over momentum.
-
inline Scalar theta() const
Theta direction.
-
inline Scalar time() const
Time coordinate.
-
inline Scalar transverseMomentum() const
Transverse momentum.
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.
Private Members
-
std::optional<FreeSquareMatrix> m_cov
-
FreeVector m_params
-
ParticleHypothesis m_particleHypothesis
Friends
-
inline friend std::ostream &operator<<(std::ostream &os, const GenericFreeTrackParameters &tp)
Print information to the output stream.
-
template<class particle_hypothesis_t>