Class Acts::SingleCurvilinearTrackParameters¶
-
template<typename charge_t>
class Acts::SingleCurvilinearTrackParameters : public Acts::SingleBoundTrackParameters<charge_t>¶ Curvilinear track parameters for a single track.
This is intended as a user-facing data class that adds additional accessors and charge/momentum interpretation on top of the pure parameters vector. All parameters and their corresponding covariance matrix are stored in curvilinear parametrization.
- tparam charge_t
Helper type to interpret the particle charge/momentum
- See
SingleBoundTrackParameters
Public Types
-
using CovarianceMatrix = BoundSymMatrix¶
-
using ParametersVector = BoundVector¶
-
using Scalar = ActsScalar¶
Public Functions
-
inline SingleCurvilinearTrackParameters(const Vector4 &pos4, const Vector3 &dir, Scalar p, Scalar q, std::optional<CovarianceMatrix> cov = std::nullopt)¶
Construct from four-position, direction, absolute momentum, and charge.
- Parameters
pos4 – Track position/time four-vector
dir – Track direction three-vector; normalization is ignored.
p – Absolute momentum
q – Particle charge
cov – Curvilinear bound parameters covariance matrix
-
template<typename T = charge_t, std::enable_if_t<std::is_default_constructible_v<T>, int> = 0>
inline SingleCurvilinearTrackParameters(const Vector4 &pos4, const Vector3 &dir, Scalar qOverP, std::optional<CovarianceMatrix> cov = std::nullopt)¶ Construct from four-position, direction, 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
dir – Track direction three-vector; normalization is ignored.
qOverP – Charge-over-momentum-like parameter
cov – Curvilinear bound parameters covariance matrix
-
inline SingleCurvilinearTrackParameters(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 – Curvilinear bound parameters covariance matrix
-
template<typename T = charge_t, std::enable_if_t<std::is_default_constructible_v<T>, int> = 0>
inline SingleCurvilinearTrackParameters(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 – Curvilinear bound parameters covariance matrix
-
SingleCurvilinearTrackParameters() = delete¶
Parameters are not default constructible due to the charge type.
-
SingleCurvilinearTrackParameters(const SingleCurvilinearTrackParameters&) = default¶
-
SingleCurvilinearTrackParameters(SingleCurvilinearTrackParameters&&) = default¶
-
~SingleCurvilinearTrackParameters() = default¶
-
SingleCurvilinearTrackParameters &operator=(const SingleCurvilinearTrackParameters&) = default¶
-
SingleCurvilinearTrackParameters &operator=(SingleCurvilinearTrackParameters&&) = default¶