Template Class SingleBoundTrackParameters

Inheritance Relationships

Base Type

Class Documentation

template<class ChargePolicy>
class Acts::SingleBoundTrackParameters : public Acts::SingleTrackParameters<ChargePolicy>

Charged and Neutrial Track Parameterisation classes bound to to a reference surface.

This is a single-component representation

Bound track parameters are delegating the transformation of local to global coordinate transformations to the reference surface Surface and thus need at contruction a Context object

Note

This class holds shared ownership on the surface it is associated to.

Public Types

using CovMatrix_t = typename SingleTrackParameters<ChargePolicy>::CovMatrix_t
using ParVector_t = typename SingleTrackParameters<ChargePolicy>::ParVector_t

Public Functions

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>
SingleBoundTrackParameters(const GeometryContext &gctx, std::optional<CovMatrix_t> cov, const ParVector_t &parValues, std::shared_ptr<const Surface> surface)

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for charged representations.

The transformations declared in the coordinate_transformation yield the global parameters and momentum representation

Parameters
  • [in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation

  • [in] cov: The covaraniance matrix (optional, can be nullptr) it is given in the measurement frame

  • [in] parValues: The parameter vector

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

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>
SingleBoundTrackParameters(const GeometryContext &gctx, std::optional<CovMatrix_t> cov, const ActsVectorD<3> &position, const ActsVectorD<3> &momentum, double dCharge, double dTime, std::shared_ptr<const Surface> surface)

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for charged representations.

The transformations declared in the coordinate_transformation yield the local parameters

Parameters
  • [in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation

  • [in] cov: The covaraniance matrix (optional, can be nullptr) it is given in the curvilinear frame

  • [in] position: The global position of the track parameterisation

  • [in] momentum: The global momentum of the track parameterisation

  • [in] dCharge: The charge of the particle track parameterisation

  • [in] dTime: The time component of the parameters

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

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>
SingleBoundTrackParameters(const GeometryContext &gctx, std::optional<CovMatrix_t> cov, const ParVector_t &parValues, std::shared_ptr<const Surface> surface)

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for neutral representations.

The transformations declared in the coordinate_transformation yield the global parameters and momentum representation

Parameters
  • [in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation

  • [in] cov: The covaraniance matrix (optional, can be nullptr) it is given in the measurement frame

  • [in] parValues: The parameter vector

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

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>
SingleBoundTrackParameters(const GeometryContext &gctx, std::optional<CovMatrix_t> cov, const ActsVectorD<3> &position, const ActsVectorD<3> &momentum, double dTime, std::shared_ptr<const Surface> surface)

Constructor of track parameters bound to a surface This is the constructor from global parameters, enabled only for neutral representations.

The transformations declared in the coordinate_transformation yield the local parameters

Parameters
  • [in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation

  • [in] cov: The covaraniance matrix (optional, can be nullptr) it is given in the curvilinear frame

  • [in] position: The global position of the track parameterisation

  • [in] momentum: The global momentum of the track parameterisation

  • [in] dCharge: The charge of the particle track parameterisation

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

SingleBoundTrackParameters(const SingleBoundTrackParameters<ChargePolicy> &copy)

copy constructor - charged/neutral

Parameters
  • [in] copy: The source parameters

SingleBoundTrackParameters(SingleBoundTrackParameters<ChargePolicy> &&other)

move constructor - charged/neutral

Parameters
  • [in] other: The source parameters

~SingleBoundTrackParameters() final = default

desctructor - charged/neutral checks if the surface is free and in such a case deletes it

SingleBoundTrackParameters<ChargePolicy> &operator=(const SingleBoundTrackParameters<ChargePolicy> &rhs)

copy assignment operator - charged/neutral

SingleBoundTrackParameters<ChargePolicy> &operator=(SingleBoundTrackParameters<ChargePolicy> &&rhs)

move assignment operator - charged/neutral checks if the surface is free and in such a case delete-clones it

RotationMatrix3D referenceFrame(const GeometryContext &gctx) const

access to the measurement frame, i.e.

the rotation matrix with respect to the global coordinate system, in which the local error is described.

For planar surface, this is identical to the rotation matrix of the surface frame, for measurements with respect to a line this has to be constructed by the point of clostest approach to the line, for cylindrical surfaces this is (by convention) the tangential plane.

Parameters
  • [in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation

const Surface &referenceSurface() const final

access method to the reference surface

template<ParID_t par>
void set(const GeometryContext &gctx, ParValue_t newValue)

set method for parameter updates obviously only allowed on non-const objects

Parameters
  • [in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation