File SingleCurvilinearTrackParameters.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<typename charge_t>
class SingleCurvilinearTrackParameters : public Acts::SingleBoundTrackParameters<charge_t> - #include <Acts/EventData/SingleCurvilinearTrackParameters.hpp>
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
Private Types
-
using Base = SingleBoundTrackParameters<charge_t>¶
-
template<typename charge_t>