Template Class Measurement¶
Defined in File Measurement.hpp
Class Documentation¶
-
template<typename
source_link_t
, typenameparameter_indices_t
, parameter_indices_t...params
>
classActs
::
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 measurementparameter_indices_t
: Enum of parameter identifierparams
: parameter pack containing the measured parameters
Public Types
-
using
CovarianceMatrix
= typename ParamSet::CovarianceMatrix¶ type of the covariance matrix of the measurement
-
using
FullParametersVector
= typename ParamSet::FullParametersVector¶ Vector type containing all parameters from the same space.
-
using
ParametersVector
= typename ParamSet::ParametersVector¶ type of the vector containing the parameter values
-
using
ProjectionMatrix
= typename ParamSet::ProjectionMatrix¶ matrix type for projecting full parameter vector onto measured parameters
-
using
RefObject
= typename detail::ReferenceObject<parameter_indices_t>::type¶ Object type that corresponds to the measurement.
-
using
Scalar
= typename ParamSet::Scalar¶
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 measurementsource
: object for this measurementcov
: 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 measurementsource
: object for this measurementcov
: covariance matrix of the measurementvec
: parameter vector of the measurement
-
Measurement
(const Measurement<source_link_t, parameter_indices_t, params...> ©)¶ copy constructor
- Template Parameters
source_link_t
: The identifier typeparameter_indices_t
: Enum of parameter identifierparams...The
: local parameter pack
- Parameters
copy
: is the source for the copy
-
Measurement
(Measurement<source_link_t, parameter_indices_t, params...> &&other)¶ move constructor
- Template Parameters
source_link_t
: The identifier typeparameter_indices_t
: Enum of parameter identifierparams...The
: local parameter pack
- Parameters
other
: is the source for the move
-
~Measurement
() = default¶
-
const CovarianceMatrix &
covariance
() const¶ access covariance matrix of the measured parameter values
- Return
covariance matrix of the measurement
-
template<parameter_indices_t
parameter
>
Scalarget
() 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, parameter_indices_t, params...> &rhs) const¶ inequality operator
- Return
true
if both objects are not equal, otherwisefalse
- See
Measurement::operator==
-
Measurement<source_link_t, parameter_indices_t, params...> &
operator=
(const Measurement<source_link_t, parameter_indices_t, params...> &rhs)¶ copy assignment operator
- Template Parameters
source_link_t
: The identifier typeparameter_indices_t
: Enum of parameter identifierparams...The
: local parameter pack
- Parameters
rhs
: is the source for the assignment
-
Measurement<source_link_t, parameter_indices_t, params...> &
operator=
(Measurement<source_link_t, parameter_indices_t, params...> &&rhs)¶ move assignment operator
- Template Parameters
source_link_t
: The identifier typeparameter_indices_t
: Enum of parameter identifierparams...The
: local parameter pack
- Parameters
rhs
: is the source for the move assignment
-
bool
operator==
(const Measurement<source_link_t, parameter_indices_t, params...> &rhs) const¶ equality operator
- Return
true
if parameter sets and associated surfaces/volumes compare equal, otherwisefalse
-
const ParametersVector &
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 thisMeasurement
object must still be valid at the same memory location.- Return
reference to surface/volume associated which the measurement
-
ParametersVector
residual
(const FullParametersVector &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<parameter_indices_t
parameter
>
Scalaruncertainty
() 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
-
const ProjectionMatrix &
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, parameter_indices_t, params...> &m)¶