Template Class SingleTrackParameters

Inheritance Relationships

Derived Types

Class Documentation

template<class ChargePolicy>
class Acts::SingleTrackParameters

base class for a single set of track parameters

This class implements the interface for charged/neutral track parameters for the case that it represents a single set of track parameters (opposed to a list of different sets of track parameters as used by e.g. GSF or multi-track fitters).

The track parameters and their uncertainty are defined in local reference frame which depends on the associated surface of the track parameters.

Template Parameters
  • ChargePolicy: type for distinguishing charged and neutral tracks/particles (must be either ChargedPolicy or NeutralPolicy)

Subclassed by Acts::SingleBoundTrackParameters< ChargePolicy >, Acts::SingleCurvilinearTrackParameters< ChargePolicy >

Public Types

using CovarianceMatrix = BoundSymMatrix

type of covariance matrix

using ParametersVector = BoundVector

vector type for stored track parameters

using Scalar = BoundParametersScalar

Public Functions

~SingleTrackParameters() = default

default destructor

Scalar charge() const

retrieve electric charge

Return

value of electric charge

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

access covariance matrix of track parameters

Note

The ownership of the covariance matrix is not transferred with this call.

See

ParameterSet::getCovariance

Scalar eta() const

convenience method to retrieve pseudorapidity

template<BoundParametersIndices par>
Scalar get() const

access track parameter

Return

value of the requested track parameter

See

ParameterSet::get

Template Parameters
  • par: identifier of track parameter which is to be retrieved

const FullParameterSet &getParameterSet() const

access to the internally stored ParameterSet

Return

ParameterSet object holding parameter values and their covariance matrix

FullParameterSet &getParameterSet()
Vector3D momentum() const

access momentum in global coordinate system

Return

3D vector with global momentum

bool operator==(const SingleTrackParameters &rhs) const

equality operator

Return

true of both objects have the same charge policy, parameter values, position and momentum, otherwise false

ParametersVector parameters() const

access track parameters

Return

Eigen vector of dimension Acts::eBoundParametersSize with values of the track parameters (in the order as defined by the ParID_t enumeration)

Vector3D position() const

access position in global coordinate system

Return

3D vector with global position

Scalar pT() const

convenience method to retrieve transverse momentum

const Surface &referenceSurface() const = 0

access associated surface defining the coordinate system for track parameters and their covariance

Return

associated surface

Scalar time() const

retrieve time

Return

value of time

template<BoundParametersIndices par>
Scalar uncertainty() const

access track parameter uncertainty

Return

value of the requested track parameter uncertainty

Template Parameters
  • par: identifier of track parameter which is to be retrieved

Protected Functions

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>
SingleTrackParameters(std::optional<CovarianceMatrix> cov, const ParametersVector &parValues, const Vector3D &position, const Vector3D &momentum)

standard constructor for track parameters of charged particles

Parameters
  • cov: unique pointer to covariance matrix (nullptr is accepted)

  • parValues: vector with parameter values

  • position: 3D vector with global position

  • momentum: 3D vector with global momentum

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>
SingleTrackParameters(std::optional<CovarianceMatrix> cov, const ParametersVector &parValues, const Vector3D &position, const Vector3D &momentum)

standard constructor for track parameters of neutral particles

Parameters
  • cov: unique pointer to covariance matrix (nullptr is accepted)

  • parValues: vector with parameter values

  • position: 3D vector with global position

  • momentum: 3D vector with global momentum

SingleTrackParameters(const SingleTrackParameters<ChargePolicy> &copy) = default

default copy constructor

SingleTrackParameters(SingleTrackParameters<ChargePolicy> &&copy) = default

default move constructor

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

copy assignment operator

Parameters
  • rhs: object to be copied

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

move assignment operator

Parameters
  • rhs: object to be movied into *this

template<typename T>
void updateGlobalCoordinates(const GeometryContext&, const T&)

update global momentum from current parameter values

Note

This function is triggered when called with an argument of a type different from Acts::local_parameter

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

void updateGlobalCoordinates(const GeometryContext &gctx, const local_parameter&)

update global position from current parameter values

Note

This function is triggered when called with an argument of a type Acts::local_parameter

Protected Attributes

ChargePolicy m_oChargePolicy

charge policy object distinguishing between charged and neutral tracks

FullParameterSet m_oParameters

ParameterSet object holding the parameter values and covariance matrix.

Vector3D m_vMomentum

3D vector with global momentum

Vector3D m_vPosition

3D vector with global position