Template Class SingleBoundTrackParameters

Inheritance Relationships

Derived Type

Class Documentation

template<class charge_policy_t>
class Acts::SingleBoundTrackParameters

Single track parameters bound to a reference surface.

This is a base class for bound parameters. 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.

Template Parameters
  • charge_policy_t: Selection type for the particle charge

Note

This class holds shared ownership on its reference surface.

Subclassed by Acts::SingleCurvilinearTrackParameters< charge_policy_t >

Public Types

using CovarianceMatrix = BoundSymMatrix
using ParametersVector = BoundVector
using Scalar = BoundParametersScalar

Public Functions

template<typename T = charge_policy_t, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>
SingleBoundTrackParameters(std::shared_ptr<const Surface> surface, const ParametersVector &params, std::optional<CovarianceMatrix> cov = std::nullopt)

Construct charged bound parameters from parameters vector on the surface.

Parameters
  • [in] surface: The reference surface the parameters are defined on

  • [in] params: The parameter vector

  • [in] cov: Optional covariance in the reference frame

template<typename T = charge_policy_t, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>
SingleBoundTrackParameters(std::shared_ptr<const Surface> surface, const ParametersVector &params, std::optional<CovarianceMatrix> cov = std::nullopt)

Construct neutral bound parameters from parameters vector on the surface.

Parameters
  • [in] surface: The reference surface the parameters are defined on

  • [in] params: The parameter vector

  • [in] cov: Optional covariance in the reference frame

template<typename T = charge_policy_t, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>
SingleBoundTrackParameters(const GeometryContext &geoCtx, std::optional<CovarianceMatrix> cov, const Vector3D &pos, const Vector3D &mom, Scalar charge, Scalar time, std::shared_ptr<const Surface> surface)

Construct charged bound parameters from global position and momentum.

Parameters
  • [in] geoCtx: Geometry context for the local-to-global transformation

  • [in] cov: Optional covariance in the reference frame

  • [in] pos: The global track three-position vector

  • [in] mom: The global track three-momentum vector

  • [in] charge: The particle charge

  • [in] time: The time coordinate

  • [in] surface: The reference surface the parameters are bound to

template<typename T = charge_policy_t, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>
SingleBoundTrackParameters(const GeometryContext &geoCtx, std::optional<CovarianceMatrix> cov, const Vector3D &pos, const Vector3D &mom, Scalar time, std::shared_ptr<const Surface> surface)

Construct neutral bound parameters from global position and momentum.

Parameters
  • [in] geoCtx: Geometry context for the local-to-global transformation

  • [in] cov: Optional covariance in the reference frame

  • [in] pos: The global track three-position vector

  • [in] mom: The global track three-momentum vector

  • [in] time: The time coordinate

  • [in] surface: The reference surface the parameters are bound to

Scalar charge() const

Access the particle electric charge.

const std::optional<CovarianceMatrix> &covariance() const

Access the optional covariance matrix.

Scalar eta() const

Access the direction pseudo-rapidity.

template<BoundParametersIndices kIndex>
Scalar get() const

Access a single parameter value indentified by its index.

Template Parameters
  • kIndex: Track parameter index

const FullParameterSet &getParameterSet() const

Access the parameter set holding the parameters vector and covariance.

Vector3D momentum() const

Access the momentum three-vector.

ParametersVector parameters() const

Access the bound parameters vector.

Vector3D position(const GeometryContext &geoCtx) const

Access the spatial position vector.

This uses the associated surface to transform the local position to global coordinates. This requires a geometry context to select the appropriate transformation and might be a computationally expensive operation.

Parameters
  • [in] geoCtx: Geometry context for the local-to-global transformation

Scalar pT() const

Access the absolute transverse momentum.

RotationMatrix3D referenceFrame(const GeometryContext &geoCtx) const

Access the 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
  • [in] geoCtx: Geometry context for the local-to-global transformation

const Surface &referenceSurface() const

Access the reference surface onto which the parameters are bound.

Scalar time() const

Access the time coordinate.

template<BoundParametersIndices kIndex>
Scalar uncertainty() const

Access a single parameter uncertainty identified by its index.

Template Parameters
  • kIndex: Track parameter index

Return Value
  • zero: if the track parameters have no associated covariance

  • parameter: standard deviation if the covariance is available