Template Class Measurement

Class Documentation

template<typename source_link_t, typename parameter_indices_t, parameter_indices_t... params>
class Acts::Measurement

base class for Measurements

This class describes the measurement of track parameters at a certain Surface/Volume in the TrackingGeometry.

If the measurement is in local parameters and will not provide localToGlobal information. It is thus free from any Context.

Template Parameters
  • source_link_t: the templated class that allows to link back to the source used to create this measurement, this can simply be an identifier or an extended object that allows to navigate back to the original source. The source link is necessary when e.g. calibrating the object or in other circumstances where the pure mathematical view of a measurement is not sufficient. The name link indicates that there is a relationship to a unique source object, i.e. if a measurement appears on several tracks, then there must be a uniquely identifyable common source for those.

Template Parameters
  • Identifier: identification object for this measurement

  • parameter_indices_t: Enum of parameter identifier

  • params: parameter pack containing the measured parameters

Public Types

using CovarianceMatrix = typename ParamSet::CovarianceMatrix

type of the covariance matrix of the measurement

using ParameterVector = typename ParamSet::ParameterVector

type of the vector containing the parameter values

using Projection = typename ParamSet::Projection

matrix type for projecting full parameter vector onto local parameters

using RefObject = typename detail::ReferenceObject<parameter_indices_t>::type

Object type that corresponds to the measurement.

Public Functions

Measurement() = delete

Delete the default constructor.

standard constructor for surface/volume measurements

Concrete class for all possible measurements.

Parameters
  • referenceObject: surface/volume origin of the measurement

  • source: object for this measurement

  • cov: covariance matrix of the measurement.

  • headvalues: consistent number of parameter values of the measurement

standard constructor for surface/volume measurements

Concrete class for all possible measurements, built from properly formatted covariance matrix and parameter vector

Parameters
  • referenceObject: surface/volume origin of the measurement

  • source: object for this measurement

  • cov: covariance matrix of the measurement

  • vec: parameter vector of the measurement

copy constructor

Template Parameters
  • source_link_t: The identifier type

  • parameter_indices_t: Enum of parameter identifier

  • params...The: local parameter pack

Parameters
  • copy: is the source for the copy

move constructor

Template Parameters
  • source_link_t: The identifier type

  • parameter_indices_t: Enum of parameter identifier

  • params...The: local parameter pack

Parameters
  • other: is the source for the move

~Measurement() = default
CovarianceMatrix covariance() const

access covariance matrix of the measured parameter values

Return

covariance matrix of the measurement

template<parameter_indices_t parameter>
ParValue_t get() const

retrieve stored value for given parameter

Remark

parameter must be part of the template parameter pack params. Otherwise a compile-time error is generated.

Return

value of the stored parameter

Template Parameters
  • parameter: identifier for the parameter to be retrieved

inequality operator

Return

true if both objects are not equal, otherwise false

See

Measurement::operator==

copy assignment operator

Template Parameters
  • source_link_t: The identifier type

  • parameter_indices_t: Enum of parameter identifier

  • params...The: local parameter pack

Parameters
  • rhs: is the source for the assignment

move assignment operator

Template Parameters
  • source_link_t: The identifier type

  • parameter_indices_t: Enum of parameter identifier

  • params...The: local parameter pack

Parameters
  • rhs: is the source for the move assignment

equality operator

Return

true if parameter sets and associated surfaces/volumes compare equal, otherwise false

ParameterVector parameters() const

access vector with measured parameter values

Return

column vector whose size is equal to the dimensionality of this Measurement. The values are given for the measured parameters in the order defined by the class template argument params.

const RefObject &referenceObject() const

access associated object

Pre

The ReferenceObject object used to construct this Measurement object must still be valid at the same memory location.

Return

reference to surface/volume associated which the measurement

ParameterVector residual(const BoundParameters &trackPars) const

calculate residual with respect to given track parameters

Note

It is checked that the residual for non-local parameters are in valid range (e.g. residuals in \(\phi\) are corrected).

Return

vector with the residual parameter values (in valid range)

See

ParameterSet::residual

Parameters
  • trackPars: reference TrackParameters object

ParameterVector residual(const ActsVectorD<detail::ParametersSize<parameter_indices_t>::size> &boundParameters) const

calculate residual with respect to given track parameters

Note

It is checked that the residual for non-local parameters are in valid range (e.g. residuals in \(\phi\) are corrected).

Note

The parameter ranges and the reference object of boundParameters are not tested

Return

vector with the residual parameter values (in valid range)

See

ParameterSet::residual

Parameters
  • boundParameters: reference bound parameters

const source_link_t &sourceLink() const

link access to the source of the measurement.

The source link can be simply an identifier or a more complicated object, see description above.

Return

source_link_t object

template<parameter_indices_t parameter>
ParValue_t uncertainty() const

retrieve stored uncertainty for given parameter

Remark

parameter must be part of the template parameter pack params. Otherwise a compile-time error is generated.

Return

uncertainty \(\sigma \ge 0\) for given parameter

Template Parameters
  • parameter: identifier for the parameter to be retrieved

Public Static Functions

Projection projector()

operator

constexpr unsigned int size()

number of measured parameters

Return

number of measured parameters

Protected Functions

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

Friends