File GenericFreeTrackParameters.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

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 &params, 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 &parameters() 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.