Template Class SingleCurvilinearTrackParameters

Inheritance Relationships

Base Type

Class Documentation

template<typename ChargePolicy>
class Acts::SingleCurvilinearTrackParameters : public Acts::SingleTrackParameters<ChargePolicy>

Charged and Neutrial Curvilinear Track representation This is a single-component representation.

Note

the curvilinear representation is bound to the curvilinear planar surface represenation. I.e. the local parameters are by construction (0,0), the curvilinear surface is characterised by being perpendicular to the track direction. It’s internal frame is constructed with the help of the global z axis.

Public Types

using CovMatrix_t = typename SingleTrackParameters<ChargePolicy>::CovMatrix_t

type of covariance matrix

Public Functions

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

constructor for curvilienear representation This is the constructor from global parameters, enabled only for charged representations.

Parameters
  • [in] cov: The covariance matrix w.r.t. curvilinear frame

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

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

  • [in] dCharge: The charge of this track parameterisation

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

constructor for curvilienear representation This is the constructor from global parameters, enabled only for charged representations.

Parameters
  • [in] cov: The covariance matrix w.r.t. curvilinear frame

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

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

SingleCurvilinearTrackParameters(const SingleCurvilinearTrackParameters<ChargePolicy> &copy)

copy constructor - charged/neutral

Parameters
  • [in] copy: The source parameters

SingleCurvilinearTrackParameters(SingleCurvilinearTrackParameters<ChargePolicy> &&other)

move constructor - charged/neutral

Parameters
  • [in] other: The source parameters

~SingleCurvilinearTrackParameters() final = default
SingleCurvilinearTrackParameters<ChargePolicy> &operator=(const SingleCurvilinearTrackParameters<ChargePolicy> &rhs)

copy assignment operator - charged/netural virtual constructor for type creation without casting

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

move assignment operator - charged/netural virtual constructor for type creation without casting

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.

Note

For a curvilinear track parameterisation this is identical to the rotation matrix of the intrinsic planar surface.

Parameters
  • gctx: The current geometry context object, e.g. alignment It is ignored for Curvilinear parameters

const Surface &referenceSurface() const final

access to the reference surface

template<ParID_t par, std::enable_if_t<std::is_same_v<BoundParameterType<par>, local_parameter>, int> = 0>
void set(const GeometryContext &gctx, ParValue_t newValue)

update of the track parameterisation only possible on non-const objects, enable for local parameters

For curvilinear parameters the local parameters are forced to be (0,0), hence an update is an effective shift of the reference

Template Parameters
  • ParID_t: The parameter type

Parameters
  • gctx: The current geometry context object, e.g. alignment

  • newValue: The new updaed value

template<ParID_t par, std::enable_if_t<not std::is_same_v<BoundParameterType<par>, local_parameter>, int> = 0>
void set(const GeometryContext &gctx, ParValue_t newValue)

update of the track parameterisation only possible on non-const objects enable for parameters that are not local parameters

For curvilinear parameters the directional change of parameters causes a recalculation of the surface

Template Parameters
  • ParID_t: The parameter type

Parameters
  • gctx: The current geometry context object, e.g. alignment

  • newValue: The new updaed value