Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/EventData/Measurement.hpp>
Public Types | |
using | Scalar = ActsScalar |
using | ParametersVector = ActsVector< kSize > |
Vector type containing for measured parameter values. | |
using | CovarianceMatrix = ActsSquareMatrix< kSize > |
Matrix type for the measurement covariance. | |
using | FullParametersVector = ActsVector< kFullSize > |
Vector type containing all parameters in the same space. | |
using | ProjectionMatrix = ActsMatrix< kSize, kFullSize > |
using | ExpansionMatrix = ActsMatrix< kFullSize, kSize > |
Public Member Functions | |
template<typename parameters_t , typename covariance_t > | |
Measurement (SourceLink source, const std::array< indices_t, kSize > &indices, const Eigen::MatrixBase< parameters_t > ¶ms, const Eigen::MatrixBase< covariance_t > &cov) | |
Measurement ()=delete | |
A measurement can only be constructed with valid parameters. | |
Measurement (const Measurement &)=default | |
Measurement (Measurement &&)=default | |
~Measurement ()=default | |
Measurement & | operator= (const Measurement &)=default |
Measurement & | operator= (Measurement &&)=default |
const SourceLink & | sourceLink () const |
Source link that connects to the underlying detector readout. | |
bool | contains (indices_t i) const |
Check if a specific parameter is part of this measurement. | |
constexpr std::array < indices_t, kSize > | indices () const |
The measurement indices. | |
const ParametersVector & | parameters () const |
Measured parameters values. | |
const CovarianceMatrix & | covariance () const |
Measured parameters covariance. | |
ProjectionMatrix | projector () const |
Projection matrix from the full space into the measured subspace. | |
ExpansionMatrix | expander () const |
ParametersVector | residuals (const FullParametersVector &reference) const |
std::ostream & | operator<< (std::ostream &os) const |
Static Public Member Functions | |
static constexpr size_t | size () |
Number of measured parameters. | |
Private Types | |
using | Subspace = detail::FixedSizeSubspace< kFullSize, kSize > |
Private Attributes | |
SourceLink | m_source |
Subspace | m_subspace |
ParametersVector | m_params |
CovarianceMatrix | m_cov |
Static Private Attributes | |
static constexpr size_t | kFullSize = detail::kParametersSize<indices_t> |
A measurement of a fixed-size subspace of the full parameters.
indices_t | Parameter index type, determines the full parameter space |
kSize | Size of the parameter subset. |
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.
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 anyway (as discussed above), not storing it removes all these complications altogether.
Definition at line 47 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 47 of file Measurement.hpp
using Acts::Measurement< indices_t, kSize >::CovarianceMatrix = ActsSquareMatrix<kSize> |
Matrix type for the measurement covariance.
Definition at line 57 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 57 of file Measurement.hpp
using Acts::Measurement< indices_t, kSize >::ExpansionMatrix = ActsMatrix<kFullSize, kSize> |
Definition at line 61 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 61 of file Measurement.hpp
using Acts::Measurement< indices_t, kSize >::FullParametersVector = ActsVector<kFullSize> |
Vector type containing all parameters in the same space.
Definition at line 59 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 59 of file Measurement.hpp
using Acts::Measurement< indices_t, kSize >::ParametersVector = ActsVector<kSize> |
Vector type containing for measured parameter values.
Definition at line 55 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 55 of file Measurement.hpp
using Acts::Measurement< indices_t, kSize >::ProjectionMatrix = ActsMatrix<kSize, kFullSize> |
Definition at line 60 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 60 of file Measurement.hpp
using Acts::Measurement< indices_t, kSize >::Scalar = ActsScalar |
Definition at line 53 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 53 of file Measurement.hpp
|
private |
Definition at line 50 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 50 of file Measurement.hpp
|
inline |
Construct from source link, subset indices, and measured data.
parameters_t | Input parameters vector type |
covariance_t | Input covariance matrix type |
source | The link that connects to the underlying detector readout |
indices | Which parameters are measured |
params | Measured parameters values |
cov | Measured parameters covariance |
Definition at line 75 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 75 of file Measurement.hpp
|
delete |
A measurement can only be constructed with valid parameters.
|
default |
|
default |
|
default |
|
inline |
Check if a specific parameter is part of this measurement.
Definition at line 104 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 104 of file Measurement.hpp
|
inline |
Measured parameters covariance.
Definition at line 120 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 120 of file Measurement.hpp
Referenced by Acts::detail_lt::TrackStateProxy< trajectory_t, M, ReadOnly >::setCalibrated().
|
inline |
Expansion matrix from the measured subspace into the full space.
This is equivalent to the transpose 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 explicitly used.
Definition at line 133 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 133 of file Measurement.hpp
|
inline |
The measurement indices.
Definition at line 107 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 107 of file Measurement.hpp
|
inline |
Definition at line 151 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 151 of file Measurement.hpp
|
default |
|
default |
|
inline |
Measured parameters values.
Definition at line 117 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 117 of file Measurement.hpp
Referenced by Acts::detail_lt::TrackStateProxy< trajectory_t, M, ReadOnly >::setCalibrated(), ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::RootPlanarClusterWriter::writeT().
|
inline |
Projection matrix from the full space into the measured subspace.
Definition at line 123 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 123 of file Measurement.hpp
Referenced by Acts::detail_lt::TrackStateProxy< trajectory_t, M, ReadOnly >::setCalibrated().
|
inline |
Compute residuals in the measured subspace.
reference | Reference parameters in the full space. |
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.
Definition at line 144 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 144 of file Measurement.hpp
|
inlinestatic |
Number of measured parameters.
Definition at line 101 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 101 of file Measurement.hpp
Referenced by Calibrator::calibrate(), and ActsExamples::PlanarSteppingAlgorithm::execute().
|
inline |
Source link that connects to the underlying detector readout.
Definition at line 98 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 98 of file Measurement.hpp
Referenced by ActsExamples::CsvPlanarClusterWriter::writeT(), and ActsExamples::RootPlanarClusterWriter::writeT().
|
staticprivate |
Definition at line 48 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 48 of file Measurement.hpp
|
private |
Definition at line 162 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 162 of file Measurement.hpp
Referenced by Acts::Measurement< BoundIndices, 3 >::covariance(), and Acts::Measurement< BoundIndices, 3 >::operator<<().
|
private |
Definition at line 161 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 161 of file Measurement.hpp
Referenced by Acts::Measurement< BoundIndices, 3 >::operator<<(), Acts::Measurement< BoundIndices, 3 >::parameters(), and Acts::Measurement< BoundIndices, 3 >::residuals().
|
private |
Definition at line 159 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 159 of file Measurement.hpp
Referenced by Acts::Measurement< BoundIndices, 3 >::sourceLink().
|
private |
Definition at line 160 of file Measurement.hpp.
View newest version in sPHENIX GitHub at line 160 of file Measurement.hpp
Referenced by Acts::Measurement< BoundIndices, 3 >::contains(), Acts::Measurement< BoundIndices, 3 >::expander(), Acts::Measurement< BoundIndices, 3 >::indices(), Acts::Measurement< BoundIndices, 3 >::operator<<(), Acts::Measurement< BoundIndices, 3 >::projector(), and Acts::Measurement< BoundIndices, 3 >::residuals().