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 CovMatrix_t = BoundSymMatrix

type of covariance matrix

using ParVector_t = BoundVector

vector type for stored track parameters

Public Functions

~SingleTrackParameters() = default

default destructor

double charge() const

retrieve electric charge

Return

value of electric charge

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

access covariance matrix of track parameters

Note

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

Return

raw pointer to covariance matrix (can be a nullptr)

See

ParameterSet::getCovariance

double eta() const

convenience method to retrieve pseudorapidity

template<ParID_t par>
ParValue_t 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

ParVector_t 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

double 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

double time() const

retrieve time

Return

value of time

template<ParID_t par>
ParValue_t 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<CovMatrix_t> cov, const ParVector_t &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<CovMatrix_t> cov, const ParVector_t &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

std::ostream &print(std::ostream &sl) const

print information to output stream

Return

modified output stream object

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

Friends

friend std::ostream &operator<<(std::ostream &out, const SingleTrackParameters &stp)

output stream operator

Prints information about this object to the output stream using the virtual TrackParameters::print or SingleFreeParameters::print method.

Return

modified output stream object