ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::TrackStateProxyCommon< Derived, read_only > Class Template Reference

Common CRTP implementation shared by track state proxy front-ends. More...

#include <Acts/EventData/TrackStateProxyCommon.hpp>

Inheritance diagram for Acts::TrackStateProxyCommon< Derived, read_only >:
[legend]

Public Types

Type aliases for parameter and covariance access
using ParametersMap
 Mutable Eigen map type for bound track parameters.
using ConstParametersMap
 Const Eigen map type for bound track parameters.
using CovarianceMap
 Mutable Eigen map type for bound track parameter covariance.
using ConstCovarianceMap
 Const Eigen map type for bound track parameter covariance.
using EffectiveCalibratedMap
 Mutable Eigen map type for calibrated measurements (dynamic size).
using ConstEffectiveCalibratedMap
 Const Eigen map type for calibrated measurements (dynamic size).
using EffectiveCalibratedCovarianceMap
 Mutable Eigen map type for calibrated measurement covariance (dynamic size).
using ConstEffectiveCalibratedCovarianceMap
 Const Eigen map type for calibrated measurement covariance (dynamic size).

Public Member Functions

template<typename val_t, typename cov_t>
requires (!read_only && Concepts::eigen_base_is_fixed_size<val_t> && Concepts::eigen_bases_have_same_num_rows<val_t, cov_t> && Concepts::eigen_base_is_square<cov_t> && Eigen::PlainObjectBase<val_t>::RowsAtCompileTime <= static_cast<std::underlying_type_t<BoundIndices>>(eBoundSize))
void allocateCalibrated (const Eigen::DenseBase< val_t > &val, const Eigen::DenseBase< cov_t > &cov)
 Allocate and initialize calibrated data from static-size Eigen objects.
template<std::size_t measdim>
requires (!read_only)
TrackStateTraits< measdim, false >::Calibrated calibrated ()
 Access calibrated measurement data with compile-time dimension.
template<std::size_t measdim>
TrackStateTraits< measdim, true >::Calibrated calibrated () const
 Access calibrated measurement data with compile-time dimension.
template<std::size_t measdim>
requires (!read_only)
TrackStateTraits< measdim, false >::CalibratedCovariance calibratedCovariance ()
 Access calibrated covariance data with compile-time dimension.
template<std::size_t measdim>
TrackStateTraits< measdim, true >::CalibratedCovariance calibratedCovariance () const
 Access calibrated covariance data with compile-time dimension.
float & chi2 ()
 Retrieve a mutable reference to the local chi2 contribution.
float chi2 () const
 Retrieve the local chi2 contribution.
ConstCovarianceMap covariance () const
 Access the best available covariance (smoothed, filtered, or predicted).
EffectiveCalibratedMap effectiveCalibrated ()
 Access mutable calibrated measurement values with runtime dimension.
ConstEffectiveCalibratedMap effectiveCalibrated () const
 Access the calibrated measurement values with runtime dimension.
EffectiveCalibratedCovarianceMap effectiveCalibratedCovariance ()
 Access mutable calibrated covariance with runtime dimension.
ConstEffectiveCalibratedCovarianceMap effectiveCalibratedCovariance () const
 Access the calibrated covariance with runtime dimension.
ParametersMap filtered ()
 Access the filtered parameter vector.
ConstParametersMap filtered () const
 Access the filtered parameter vector.
CovarianceMap filteredCovariance ()
 Access the filtered covariance matrix.
ConstCovarianceMap filteredCovariance () const
 Access the filtered covariance matrix.
TrackStatePropMask getMask () const
 Compute the property mask describing which components are present.
bool hasCalibrated () const
 Check for presence of calibrated measurement data.
bool hasFiltered () const
 Check for presence of filtered track parameters.
bool hasJacobian () const
 Check for presence of a transport Jacobian.
bool hasPredicted () const
 Check for presence of predicted track parameters.
bool hasPrevious () const
 Check whether this state links to a previous state.
bool hasProjector () const
 Check for presence of a measurement projector.
bool hasSmoothed () const
 Check for presence of smoothed track parameters.
ConstParametersMap parameters () const
 Access the best available parameters (smoothed, filtered, or predicted).
double & pathLength ()
 Retrieve a mutable reference to the accumulated path length.
double pathLength () const
 Retrieve the accumulated path length.
ParametersMap predicted ()
 Access the predicted parameter vector.
ConstParametersMap predicted () const
 Access the predicted parameter vector.
CovarianceMap predictedCovariance ()
 Access the predicted covariance matrix.
ConstCovarianceMap predictedCovariance () const
 Access the predicted covariance matrix.
TrackIndexTypeprevious ()
 Retrieve a mutable reference to the previous track state index.
TrackIndexType previous () const
 Retrieve the previous track state index in the linked trajectory.
template<std::size_t measdim>
FixedBoundSubspaceHelper< measdim > projectorSubspaceHelper () const
 Creates a fixed size subspace helper.
VariableBoundSubspaceHelper projectorSubspaceHelper () const
 Creates a variable size subspace helper.
template<std::size_t measdim>
SubspaceIndices< measdim > projectorSubspaceIndices () const
 Returns the projector subspace indices.
BoundSubspaceIndices projectorSubspaceIndices () const
 Decode the measurement projector indices.
template<std::ranges::sized_range index_range_t>
requires (!read_only && std::convertible_to<std::ranges::range_value_t<index_range_t>, std::uint8_t>)
void setProjectorSubspaceIndices (const index_range_t &subspaceIndices)
 Store subspace indices describing the measurement projector.
ParametersMap smoothed ()
 Access the smoothed parameter vector.
ConstParametersMap smoothed () const
 Access the smoothed parameter vector.
CovarianceMap smoothedCovariance ()
 Access the smoothed covariance matrix.
ConstCovarianceMap smoothedCovariance () const
 Access the smoothed covariance matrix.
MutableTrackStateTypeMap typeFlags ()
 Retrieve mutable track-state type flags.
ConstTrackStateTypeMap typeFlags () const
 Retrieve the track-state type flags.

Protected Types

using IndexType = Acts::TrackIndexType

Protected Member Functions

constexpr Derived & derived ()
constexpr const Derived & derived () const

Detailed Description

template<typename Derived, bool read_only>
class Acts::TrackStateProxyCommon< Derived, read_only >

Common CRTP implementation shared by track state proxy front-ends.

This base class provides access to track state components including predicted, filtered, and smoothed parameters and covariances, as well as calibrated measurement data and various metadata. The derived proxy must expose the underlying storage access methods.

Template Parameters
DerivedThe proxy implementation inheriting from this base
read_onlyWhether the proxy provides mutable access

Member Typedef Documentation

◆ ConstCovarianceMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::ConstCovarianceMap
Initial value:
typename detail_tsp::FixedSizeTypes<eBoundSize, true>::CovarianceMap

Const Eigen map type for bound track parameter covariance.

◆ ConstEffectiveCalibratedCovarianceMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::ConstEffectiveCalibratedCovarianceMap
Initial value:
typename detail_tsp::DynamicSizeTypes<true>::CovarianceMap

Const Eigen map type for calibrated measurement covariance (dynamic size).

◆ ConstEffectiveCalibratedMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::ConstEffectiveCalibratedMap
Initial value:
typename detail_tsp::DynamicSizeTypes<true>::CoefficientsMap

Const Eigen map type for calibrated measurements (dynamic size).

◆ ConstParametersMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::ConstParametersMap
Initial value:
typename detail_tsp::FixedSizeTypes<eBoundSize, true>::CoefficientsMap

Const Eigen map type for bound track parameters.

◆ CovarianceMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::CovarianceMap
Initial value:
typename detail_tsp::FixedSizeTypes<eBoundSize, false>::CovarianceMap

Mutable Eigen map type for bound track parameter covariance.

◆ EffectiveCalibratedCovarianceMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::EffectiveCalibratedCovarianceMap
Initial value:
typename detail_tsp::DynamicSizeTypes<false>::CovarianceMap

Mutable Eigen map type for calibrated measurement covariance (dynamic size).

◆ EffectiveCalibratedMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::EffectiveCalibratedMap
Initial value:
typename detail_tsp::DynamicSizeTypes<false>::CoefficientsMap

Mutable Eigen map type for calibrated measurements (dynamic size).

◆ IndexType

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::IndexType = Acts::TrackIndexType
protected

◆ ParametersMap

template<typename Derived, bool read_only>
using Acts::TrackStateProxyCommon< Derived, read_only >::ParametersMap
Initial value:
typename detail_tsp::FixedSizeTypes<eBoundSize, false>::CoefficientsMap

Mutable Eigen map type for bound track parameters.

Member Function Documentation

◆ allocateCalibrated()

template<typename Derived, bool read_only>
template<typename val_t, typename cov_t>
requires (!read_only && Concepts::eigen_base_is_fixed_size<val_t> && Concepts::eigen_bases_have_same_num_rows<val_t, cov_t> && Concepts::eigen_base_is_square<cov_t> && Eigen::PlainObjectBase<val_t>::RowsAtCompileTime <= static_cast<std::underlying_type_t<BoundIndices>>(eBoundSize))
void Acts::TrackStateProxyCommon< Derived, read_only >::allocateCalibrated ( const Eigen::DenseBase< val_t > & val,
const Eigen::DenseBase< cov_t > & cov )

Allocate and initialize calibrated data from static-size Eigen objects.

Template Parameters
val_tEigen vector type holding calibrated values.
cov_tEigen matrix type holding the covariance.
Parameters
valVector to copy into the calibrated storage.
covCovariance matrix to copy into the calibrated storage.

◆ calibrated() [1/2]

template<typename Derived, bool read_only>
template<std::size_t measdim>
requires (!read_only)
TrackStateTraits< measdim, false >::Calibrated Acts::TrackStateProxyCommon< Derived, read_only >::calibrated ( )

Access calibrated measurement data with compile-time dimension.

Template Parameters
measdimMeasurement dimension.
Returns
Mutable Eigen map referencing the calibrated measurement vector.

◆ calibrated() [2/2]

template<typename Derived, bool read_only>
template<std::size_t measdim>
TrackStateTraits< measdim, true >::Calibrated Acts::TrackStateProxyCommon< Derived, read_only >::calibrated ( ) const

Access calibrated measurement data with compile-time dimension.

Template Parameters
measdimMeasurement dimension.
Returns
Eigen map referencing the calibrated measurement vector.

◆ calibratedCovariance() [1/2]

template<typename Derived, bool read_only>
template<std::size_t measdim>
requires (!read_only)
TrackStateTraits< measdim, false >::CalibratedCovariance Acts::TrackStateProxyCommon< Derived, read_only >::calibratedCovariance ( )

Access calibrated covariance data with compile-time dimension.

Template Parameters
measdimMeasurement dimension.
Returns
Mutable Eigen map referencing the covariance matrix.

◆ calibratedCovariance() [2/2]

template<typename Derived, bool read_only>
template<std::size_t measdim>
TrackStateTraits< measdim, true >::CalibratedCovariance Acts::TrackStateProxyCommon< Derived, read_only >::calibratedCovariance ( ) const

Access calibrated covariance data with compile-time dimension.

Template Parameters
measdimMeasurement dimension.
Returns
Eigen map referencing the covariance matrix.

◆ chi2() [1/2]

template<typename Derived, bool read_only>
float & Acts::TrackStateProxyCommon< Derived, read_only >::chi2 ( )

Retrieve a mutable reference to the local chi2 contribution.

Returns
Mutable chi2 value.

◆ chi2() [2/2]

template<typename Derived, bool read_only>
float Acts::TrackStateProxyCommon< Derived, read_only >::chi2 ( ) const

Retrieve the local chi2 contribution.

Returns
Chi2 value associated with this state.

◆ covariance()

template<typename Derived, bool read_only>
ConstCovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::covariance ( ) const

Access the best available covariance (smoothed, filtered, or predicted).

Returns
Bound covariance map for the state.

◆ derived() [1/2]

template<typename Derived, bool read_only>
Derived & Acts::TrackStateProxyCommon< Derived, read_only >::derived ( )
constexprprotected

◆ derived() [2/2]

template<typename Derived, bool read_only>
const Derived & Acts::TrackStateProxyCommon< Derived, read_only >::derived ( ) const
constexprprotected

◆ effectiveCalibrated() [1/2]

template<typename Derived, bool read_only>
EffectiveCalibratedMap Acts::TrackStateProxyCommon< Derived, read_only >::effectiveCalibrated ( )

Access mutable calibrated measurement values with runtime dimension.

Returns
Eigen map referencing the calibrated measurement vector.

◆ effectiveCalibrated() [2/2]

template<typename Derived, bool read_only>
ConstEffectiveCalibratedMap Acts::TrackStateProxyCommon< Derived, read_only >::effectiveCalibrated ( ) const

Access the calibrated measurement values with runtime dimension.

Returns
Eigen map referencing the calibrated measurement vector.

◆ effectiveCalibratedCovariance() [1/2]

template<typename Derived, bool read_only>
EffectiveCalibratedCovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::effectiveCalibratedCovariance ( )

Access mutable calibrated covariance with runtime dimension.

Returns
Eigen map referencing the measurement covariance matrix.

◆ effectiveCalibratedCovariance() [2/2]

template<typename Derived, bool read_only>
ConstEffectiveCalibratedCovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::effectiveCalibratedCovariance ( ) const

Access the calibrated covariance with runtime dimension.

Returns
Eigen map referencing the measurement covariance matrix.

◆ filtered() [1/2]

template<typename Derived, bool read_only>
ParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::filtered ( )

Access the filtered parameter vector.

Returns
Mutable bound parameter map for the filtered state.

◆ filtered() [2/2]

template<typename Derived, bool read_only>
ConstParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::filtered ( ) const

Access the filtered parameter vector.

Returns
Bound parameter map for the filtered state.

◆ filteredCovariance() [1/2]

template<typename Derived, bool read_only>
CovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::filteredCovariance ( )

Access the filtered covariance matrix.

Returns
Mutable bound covariance map for the filtered state.

◆ filteredCovariance() [2/2]

template<typename Derived, bool read_only>
ConstCovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::filteredCovariance ( ) const

Access the filtered covariance matrix.

Returns
Bound covariance map for the filtered state.

◆ getMask()

template<typename Derived, bool read_only>
TrackStatePropMask Acts::TrackStateProxyCommon< Derived, read_only >::getMask ( ) const

Compute the property mask describing which components are present.

Returns
Bit mask of available properties.

◆ hasCalibrated()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasCalibrated ( ) const

Check for presence of calibrated measurement data.

Returns
True if calibrated measurements exist.

◆ hasFiltered()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasFiltered ( ) const

Check for presence of filtered track parameters.

Returns
True if the filtered component exists.

◆ hasJacobian()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasJacobian ( ) const

Check for presence of a transport Jacobian.

Returns
True if a Jacobian is stored.

◆ hasPredicted()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasPredicted ( ) const

Check for presence of predicted track parameters.

Returns
True if the predicted component exists.

◆ hasPrevious()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasPrevious ( ) const

Check whether this state links to a previous state.

Returns
True if the previous index is valid.

◆ hasProjector()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasProjector ( ) const

Check for presence of a measurement projector.

Returns
True if projector indices are stored.

◆ hasSmoothed()

template<typename Derived, bool read_only>
bool Acts::TrackStateProxyCommon< Derived, read_only >::hasSmoothed ( ) const

Check for presence of smoothed track parameters.

Returns
True if the smoothed component exists.

◆ parameters()

template<typename Derived, bool read_only>
ConstParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::parameters ( ) const

Access the best available parameters (smoothed, filtered, or predicted).

Returns
Bound parameter map for the state.

◆ pathLength() [1/2]

template<typename Derived, bool read_only>
double & Acts::TrackStateProxyCommon< Derived, read_only >::pathLength ( )

Retrieve a mutable reference to the accumulated path length.

Returns
Mutable path length.

◆ pathLength() [2/2]

template<typename Derived, bool read_only>
double Acts::TrackStateProxyCommon< Derived, read_only >::pathLength ( ) const

Retrieve the accumulated path length.

Returns
Path length stored on the state.

◆ predicted() [1/2]

template<typename Derived, bool read_only>
ParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::predicted ( )

Access the predicted parameter vector.

Returns
Mutable bound parameter map for the predicted state.

◆ predicted() [2/2]

template<typename Derived, bool read_only>
ConstParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::predicted ( ) const

Access the predicted parameter vector.

Returns
Bound parameter map for the predicted state.

◆ predictedCovariance() [1/2]

template<typename Derived, bool read_only>
CovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::predictedCovariance ( )

Access the predicted covariance matrix.

Returns
Mutable bound covariance map for the predicted state.

◆ predictedCovariance() [2/2]

template<typename Derived, bool read_only>
ConstCovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::predictedCovariance ( ) const

Access the predicted covariance matrix.

Returns
Bound covariance map for the predicted state.

◆ previous() [1/2]

template<typename Derived, bool read_only>
TrackIndexType & Acts::TrackStateProxyCommon< Derived, read_only >::previous ( )

Retrieve a mutable reference to the previous track state index.

Returns
Mutable index of the previous state.

◆ previous() [2/2]

template<typename Derived, bool read_only>
TrackIndexType Acts::TrackStateProxyCommon< Derived, read_only >::previous ( ) const

Retrieve the previous track state index in the linked trajectory.

Returns
Index of the previous state or kTrackIndexInvalid.

◆ projectorSubspaceHelper() [1/2]

template<typename Derived, bool read_only>
template<std::size_t measdim>
FixedBoundSubspaceHelper< measdim > Acts::TrackStateProxyCommon< Derived, read_only >::projectorSubspaceHelper ( ) const

Creates a fixed size subspace helper.

Returns
The subspace helper

◆ projectorSubspaceHelper() [2/2]

template<typename Derived, bool read_only>
VariableBoundSubspaceHelper Acts::TrackStateProxyCommon< Derived, read_only >::projectorSubspaceHelper ( ) const

Creates a variable size subspace helper.

Returns
The subspace helper

◆ projectorSubspaceIndices() [1/2]

template<typename Derived, bool read_only>
template<std::size_t measdim>
SubspaceIndices< measdim > Acts::TrackStateProxyCommon< Derived, read_only >::projectorSubspaceIndices ( ) const

Returns the projector subspace indices.

Returns
The projector subspace indices

◆ projectorSubspaceIndices() [2/2]

template<typename Derived, bool read_only>
BoundSubspaceIndices Acts::TrackStateProxyCommon< Derived, read_only >::projectorSubspaceIndices ( ) const

Decode the measurement projector indices.

Returns
Bound parameter indices used for projection.

◆ setProjectorSubspaceIndices()

template<typename Derived, bool read_only>
template<std::ranges::sized_range index_range_t>
requires (!read_only && std::convertible_to<std::ranges::range_value_t<index_range_t>, std::uint8_t>)
void Acts::TrackStateProxyCommon< Derived, read_only >::setProjectorSubspaceIndices ( const index_range_t & subspaceIndices)

Store subspace indices describing the measurement projector.

Template Parameters
index_range_tRange of indices to encode.
Parameters
subspaceIndicesCollection of bound indices forming the projector rows.

◆ smoothed() [1/2]

template<typename Derived, bool read_only>
ParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::smoothed ( )

Access the smoothed parameter vector.

Returns
Mutable bound parameter map for the smoothed state.

◆ smoothed() [2/2]

template<typename Derived, bool read_only>
ConstParametersMap Acts::TrackStateProxyCommon< Derived, read_only >::smoothed ( ) const

Access the smoothed parameter vector.

Returns
Bound parameter map for the smoothed state.

◆ smoothedCovariance() [1/2]

template<typename Derived, bool read_only>
CovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::smoothedCovariance ( )

Access the smoothed covariance matrix.

Returns
Mutable bound covariance map for the smoothed state.

◆ smoothedCovariance() [2/2]

template<typename Derived, bool read_only>
ConstCovarianceMap Acts::TrackStateProxyCommon< Derived, read_only >::smoothedCovariance ( ) const

Access the smoothed covariance matrix.

Returns
Bound covariance map for the smoothed state.

◆ typeFlags() [1/2]

template<typename Derived, bool read_only>
MutableTrackStateTypeMap Acts::TrackStateProxyCommon< Derived, read_only >::typeFlags ( )

Retrieve mutable track-state type flags.

Returns
Mutable bit mask describing the state type.

◆ typeFlags() [2/2]

template<typename Derived, bool read_only>
ConstTrackStateTypeMap Acts::TrackStateProxyCommon< Derived, read_only >::typeFlags ( ) const

Retrieve the track-state type flags.

Returns
Bit mask describing the state type.