Template Class Measurement¶
Defined in File Measurement.hpp
Class Documentation¶
-
template<typename
source_link_t
, ParID_t...params
>
classActs
::
Measurement
¶ base class for Measurements
This class describes the measurement of track parameters at a certain Surface in the TrackingGeometry.
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 measurementparams
: parameter pack containing the measured parameters
Public Types
-
using
CovMatrix_t
= typename ParSet_t::CovMatrix_t¶ type of the covariance matrix of the measurement
-
using
ParVector_t
= typename ParSet_t::ParVector_t¶ type of the vector containing the parameter values
-
using
Projection_t
= typename ParSet_t::Projection_t¶ matrix type for projecting full parameter vector onto local parameters
Public Functions
-
Measurement
() = delete¶ Delete the default constructor.
standard constructor
Concrete class for all possible measurements.
- Note
Only a reference to the given surface is stored. The user must ensure that the lifetime of the
Surface
object surpasses the lifetime of this Measurement object. The given parameter values are interpreted as values to the parameters as defined in the class template argumentparams
.- Attention
The current design will fail if the in-memory location of the
Surface
object is changed (e.g. if it is stored in a container and this gets relocated).- Parameters
surface
: surface at which the measurement took placesource
: object for this measurementcov
: covariance matrix of the measurement.headvalues
: consistent number of parameter values of the measurement
-
Measurement
(const Measurement<source_link_t, params...> ©)¶ copy constructor
- Template Parameters
source_link_t
: The identifier typeparams...The
: local parameter pack
- Parameters
copy
: is the source for the copy
-
Measurement
(Measurement<source_link_t, params...> &&other)¶ move constructor
- Template Parameters
source_link_t
: The identifier typeparams...The
: local parameter pack
- Parameters
other
: is the source for the move
-
~Measurement
() = default¶ virtual destructor
-
CovMatrix_t
covariance
() const¶ access covariance matrix of the measured parameter values
- Return
covariance matrix of the measurement
-
template<ParID_t
parameter
>
ParValue_tget
() const¶ retrieve stored value for given parameter
- Remark
parameter
must be part of the template parameter packparams
. Otherwise a compile-time error is generated.- Return
value of the stored parameter
- Template Parameters
parameter
: identifier for the parameter to be retrieved
-
bool
operator!=
(const Measurement<source_link_t, params...> &rhs) const¶ inequality operator
- Return
true
if both objects are not equal, otherwisefalse
- See
Measurement::operator==
-
Measurement<source_link_t, params...> &
operator=
(const Measurement<source_link_t, params...> &rhs)¶ copy assignment operator
- Template Parameters
source_link_t
: The identifier typeparams...The
: local parameter pack
- Parameters
rhs
: is the source for the assignment
-
Measurement<source_link_t, params...> &
operator=
(Measurement<source_link_t, params...> &&rhs)¶ move assignment operator
- Template Parameters
source_link_t
: The identifier typeparams...The
: local parameter pack
- Parameters
rhs
: is the source for the move assignment
-
bool
operator==
(const Measurement<source_link_t, params...> &rhs) const¶ equality operator
- Return
true
if parameter sets and associated surfaces compare equal, otherwisefalse
-
ParVector_t
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 Acts::Surface &
referenceSurface
() const¶ access associated surface
- Pre
The
Surface
object used to construct thisMeasurement
object must still be valid at the same memory location.- Return
reference to surface at which the measurement took place
-
ParVector_t
residual
(const TrackParameters &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
-
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<ParID_t
parameter
>
ParValue_tuncertainty
() const¶ retrieve stored uncertainty for given parameter
- Remark
parameter
must be part of the template parameter packparams
. 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_t
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
-
friend std::ostream &
operator<<
(std::ostream &out, const Measurement<source_link_t, params...> &m)¶