Template Class SingleFreeTrackParameters¶
Defined in File SingleFreeTrackParameters.hpp
Class Documentation¶
-
template<class
charge_t
>
classActs
::
SingleFreeTrackParameters
¶ 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
charge_t
: Helper type to interpret the particle charge
Public Types
-
using
CovarianceMatrix
= FreeSymMatrix¶
-
using
ParametersVector
= FreeVector¶
-
using
Scalar
= ActsScalar¶
Public Functions
-
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 vectorq
: Particle chargecov
: Free parameters covariance matrix
-
template<typename
T
= charge_t, std::enable_if_t<std::is_default_constructible_v<T>, int> = 0>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 vectorcov
: Free parameters covariance matrix
- Template Parameters
T
: Internal helper template be able to check charge type
-
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-vectorphi
: Transverse track direction angletheta
: Longitudinal track direction anglep
: Absolute momentumq
: Particle chargecov
: Free parameters covariance matrix
-
template<typename
T
= charge_t, std::enable_if_t<std::is_default_constructible_v<T>, int> = 0>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-vectorphi
: Transverse track direction angletheta
: Longitudinal track direction angleqOverP
: Charge-over-momentum-like parametercov
: 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¶
-
const std::optional<CovarianceMatrix> &
covariance
() const¶ Optional covariance matrix.
-
template<FreeIndices
kIndex
>
Scalarget
() const¶ Access a single parameter value indentified by its index.
- Template Parameters
kIndex
: Track parameter index
-
SingleFreeTrackParameters &
operator=
(const SingleFreeTrackParameters&) = default¶
-
SingleFreeTrackParameters &
operator=
(SingleFreeTrackParameters&&) = default¶
-
const ParametersVector &
parameters
() const¶ Parameters vector.