Class Acts::SingleBoundTrackParameters¶
-
template<class charge_t>
class Acts::SingleBoundTrackParameters¶ Track parameters bound to a reference surface 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 bound parametrization. The specific definition of the local spatial parameters is defined by the associated surface.
- tparam charge_t
Helper type to interpret the particle charge/momentum
Note
This class holds shared ownership on its reference surface.
Subclassed by Acts::SingleCurvilinearTrackParameters< charge_t >
Public Types
-
using CovarianceMatrix = BoundSymMatrix¶
-
using ParametersVector = BoundVector¶
-
using Scalar = ActsScalar¶
Public Functions
Construct from a parameters vector on the surface 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
surface – Reference surface the parameters are defined on
params – Bound parameters vector
q – Particle charge
cov – Bound parameters covariance matrix
Construct from a parameters vector on the surface.
This constructor is only available if there are no potential charge ambiguities, i.e. the charge type is default-constructible.
- Parameters
surface – Reference surface the parameters are defined on
params – Bound parameters vector
cov – Bound parameters covariance matrix
-
SingleBoundTrackParameters() = delete¶
Parameters are not default constructible due to the charge type.
-
SingleBoundTrackParameters(const SingleBoundTrackParameters&) = default¶
-
SingleBoundTrackParameters(SingleBoundTrackParameters&&) = default¶
-
~SingleBoundTrackParameters() = default¶
-
inline const std::optional<CovarianceMatrix> &covariance() const¶
Optional covariance matrix.
-
inline Vector4 fourPosition(const GeometryContext &geoCtx) const¶
Space-time position four-vector.
This uses the associated surface to transform the local position on the surface to globalcoordinates. This requires a geometry context to select the appropriate transformation and might be a computationally expensive operation.
- Parameters
geoCtx – [in] Geometry context for the local-to-global transformation
-
template<BoundIndices kIndex>
inline Scalar get() const¶ Access a single parameter value indentified by its index.
- Template Parameters
kIndex – Track parameter index
-
SingleBoundTrackParameters &operator=(const SingleBoundTrackParameters&) = default¶
-
SingleBoundTrackParameters &operator=(SingleBoundTrackParameters&&) = default¶
-
inline const ParametersVector ¶meters() const¶
Parameters vector.
-
inline Vector3 position(const GeometryContext &geoCtx) const¶
Spatial position three-vector.
This uses the associated surface to transform the local position on the surface to globalcoordinates. This requires a geometry context to select the appropriate transformation and might be a computationally expensive operation.
- Parameters
geoCtx – [in] Geometry context for the local-to-global transformation
-
inline RotationMatrix3 referenceFrame(const GeometryContext &geoCtx) const¶
Reference frame in which the local error is defined.
For planar surfaces, this is the transformation local-to-global rotation matrix. For non-planar surfaces, it is the local-to-global rotation matrix of the tangential plane at the track position.
- Parameters
geoCtx – [in] Geometry context for the local-to-global transformation
Public Static Functions
Factory to construct from four-position, direction, absolute momentum, and charge.
Note
The returned result indicates whether the free parameters could successfully be converted to on-surface parameters.
- Parameters
surface – Reference surface the parameters are defined on
geoCtx – Geometry context for the local-to-global transformation
pos4 – Track position/time four-vector
dir – Track direction three-vector; normalization is ignored.
p – Absolute momentum
q – Particle charge
cov – Bound parameters covariance matrix
Factory to construct from four-position, direction, and charge-over-momentum.
Note
This factory is only available if there are no potential charge ambiguities, i.e. the charge type is default-constructible. The position must be located on the surface.
Note
The returned result indicates whether the free parameters could successfully be converted to on-surface parameters.
- Parameters
surface – Reference surface the parameters are defined on
geoCtx – Geometry context for the local-to-global transformation
pos4 – Track position/time four-vector
dir – Track direction three-vector; normalization is ignored.
qOverP – Charge-over-momentum-like parameter
cov – Bound parameters covariance matrix