Template Class Measurement¶
Defined in File Measurement.hpp
Class Documentation¶
-
template<typename
source_link_t
, typenameindices_t
, size_tkSize
>
classActs
::
Measurement
¶ A measurement of a fixed-size subspace of the full parameters.
The measurement intentionally does not store a pointer/reference to the reference object in the geometry hierarchy, i.e. the surface or volume. The reference object can already be identified via the geometry identifier provided by the source link. Since a measurement
must be anchored within the geometry hierarchy, all measurement surfaces and volumes must provide valid geometry identifiers. In all use-cases, e.g. Kalman filtering, a pointer/reference to the reference object is available before the measurement is accessed; e.g. the propagator provides the surface pointer during navigation, which is then used to lookup possible measurements.- Template Parameters
source_link_t
: Source link type to connect to the detector readoutindices_t
: Parameter index type, determines the full parameter spacekSize
: Size of the parameter subset.
The pointed-to geometry object would differ depending on the parameter type. This means either, that there needs to be an additional variable type or that a pointer to a base object is stored (requiring a
dynamic_cast
later on). Both variants add additional complications. Since the geometry object is not required anyways (as discussed above), not storing it removes all these complications altogether.Public Types
-
using
CovarianceMatrix
= ActsSymMatrix<kSize>¶ Matrix type for the measurement covariance.
-
using
ExpansionMatrix
= ActsMatrix<kFullSize, kSize>¶
-
using
FullParametersVector
= ActsVector<kFullSize>¶ Vector type containing all parameters in the same space.
-
using
ParametersVector
= ActsVector<kSize>¶ Vector type containing for measured parameter values.
-
using
ProjectionMatrix
= ActsMatrix<kSize, kFullSize>¶
-
using
Scalar
= ActsScalar¶
Public Functions
-
template<typename
parameters_t
, typenamecovariance_t
>Measurement
(source_link_t source, const std::array<indices_t, kSize> &indices, const Eigen::MatrixBase<parameters_t> ¶ms, const Eigen::MatrixBase<covariance_t> &cov)¶ Construct from source link, subset indices, and measured data.
- Note
The indices must be ordered and must describe/match the content of parameters and covariance.
- Template Parameters
parameters_t
: Input parameters vector typecovariance_t
: Input covariance matrix type
- Parameters
source
: The link that connects to the underlying detector readoutindices
: Which parameters are measuredparams
: Measured parameters valuescov
: Measured parameters covariance
-
Measurement
() = delete¶ A measurement can only be constructed with valid parameters.
-
Measurement
(const Measurement&) = default¶
-
Measurement
(Measurement&&) = default¶
-
~Measurement
() = default¶
-
const CovarianceMatrix &
covariance
() const¶ Measured parameters covariance.
-
ExpansionMatrix
expander
() const¶ Expansion matrix from the measured subspace into the full space.
This is equivalent to the tranpose of the projection matrix only in the case of a trivial projection matrix. While this is the case here, it is still recommended to use the expansion matrix directly in cases where it is explicitely used.
-
std::ostream &
operator<<
(std::ostream &os) const¶
-
Measurement &
operator=
(const Measurement&) = default¶
-
Measurement &
operator=
(Measurement&&) = default¶
-
const ParametersVector &
parameters
() const¶ Measured parameters values.
-
ProjectionMatrix
projector
() const¶ Projection matrix from the full space into the measured subspace.
-
ParametersVector
residuals
(const FullParametersVector &reference) const¶ Compute residuals in the measured subspace.
This computes the difference
measured - reference
taking into account the allowed parameter ranges. Only the reference values in the measured subspace are used for the computation.- Parameters
reference
: Reference parameters in the full space.
-
const source_link_t &
sourceLink
() const¶ Source link that connects to the underlying detector readout.
Public Static Functions
-
constexpr size_t
size
()¶ Number of measured parameters.