File SingleFreeTrackParameters.hpp¶
-
namespace Acts
Set the Geometry Context PLUGIN.
Set the Calibration Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.
Set the Mangetic Field Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.
Currently implemented for the two most common formats: rz and xyz.
-
template<class charge_t>
class SingleFreeTrackParameters - #include <Acts/EventData/SingleFreeTrackParameters.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
.- tparam charge_t
Helper type to interpret the particle charge
Public Types
-
using CovarianceMatrix = FreeSymMatrix
-
using ParametersVector = FreeVector
-
using Scalar = ActsScalar
Public Functions
-
inline SingleFreeTrackParameters(const ParametersVector ¶ms, Scalar q, std::optional<CovarianceMatrix> cov = std::nullopt)
Construct from a parameters vector and and particle charge.
In principle, only the charge magnitude is needed her to allow unambigous 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
q – Particle charge
cov – Free parameters covariance matrix
-
template<typename T = charge_t, std::enable_if_t<std::is_default_constructible_v<T>, int> = 0>
inline SingleFreeTrackParameters(const ParametersVector ¶ms, std::optional<CovarianceMatrix> cov = std::nullopt) Construct from a parameters vector.
This constructor is only available if there are no potential charge ambiguities, i.e. the charge interpretation type is default-constructible.
- Parameters
params – Free parameters vector
cov – Free parameters covariance matrix
- Template Parameters
T – Internal helper template be able to check charge type
-
inline SingleFreeTrackParameters(const Vector4 &pos4, Scalar phi, Scalar theta, Scalar p, Scalar q, std::optional<CovarianceMatrix> cov = std::nullopt)
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
p – Absolute momentum
q – Particle charge
cov – Free parameters covariance matrix
-
template<typename T = charge_t, std::enable_if_t<std::is_default_constructible_v<T>, int> = 0>
inline SingleFreeTrackParameters(const Vector4 &pos4, Scalar phi, Scalar theta, Scalar qOverP, std::optional<CovarianceMatrix> cov = std::nullopt) Construct from four-position, angles, and charge-over-momentum.
This constructor is only available if there are no potential charge ambiguities, i.e. the charge interpretation type is default-constructible.
- Parameters
pos4 – Track position/time four-vector
phi – Transverse track direction angle
theta – Longitudinal track direction angle
qOverP – Charge-over-momentum-like parameter
cov – Free parameters covariance matrix
-
SingleFreeTrackParameters() = delete
Parameters are not default constructible due to the charge type.
-
SingleFreeTrackParameters(const SingleFreeTrackParameters&) = default
-
SingleFreeTrackParameters(SingleFreeTrackParameters&&) = default
-
~SingleFreeTrackParameters() = 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 Vector4 fourPosition() const
Space-time position four-vector.
-
template<FreeIndices kIndex>
inline Scalar get() const Access a single parameter value indentified by its index.
- Template Parameters
kIndex – Track parameter index
-
inline Vector3 momentum() const
Momentum three-vector.
-
SingleFreeTrackParameters &operator=(const SingleFreeTrackParameters&) = default
-
SingleFreeTrackParameters &operator=(SingleFreeTrackParameters&&) = default
-
inline const ParametersVector ¶meters() const
Parameters vector.
-
inline Vector3 position() const
Spatial position three-vector.
-
inline Scalar time() const
Time coordinate.
-
inline Scalar transverseMomentum() const
Transverse momentum.
-
inline Vector3 unitDirection() const
Unit direction three-vector, i.e. the normalized momentum three-vector.
Friends
- inline friend friend std::ostream & operator<< (std::ostream &os, const SingleFreeTrackParameters &tp)
Print information to the output stream.
-
template<class charge_t>