ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::GainMatrixSmoother Class Reference

Kalman trajectory smoother based on gain matrix formalism. More...

#include <Acts/TrackFitting/GainMatrixSmoother.hpp>

Public Types

using GetCovariance
 Type alias for delegate to get track state covariance matrix.
using GetParameters
 Type alias for delegate to get track state parameters.

Public Member Functions

Result< void > calculate (AnyMutableTrackStateProxy ts, AnyConstTrackStateProxy prev_ts, const Logger &logger) const
 Calculate smoothed parameters for a single track state using gain matrix formalism.
template<typename traj_t>
Result< void > operator() (const GeometryContext &gctx, traj_t &trajectory, std::size_t entryIndex, const Logger &logger=getDummyLogger()) const
 Run the Kalman smoothing for one trajectory.

Public Attributes

bool doCovCheckAndAttemptFix = false
 Whether to check the covariance matrices if they are semi-positive and if not attempt to correct them.

Detailed Description

Kalman trajectory smoother based on gain matrix formalism.

This implements not a single smoothing step, but the full backwards smoothing procedure for a filtered, forward trajectory using the stored linearization.

Member Typedef Documentation

◆ GetCovariance

Initial value:

Type alias for delegate to get track state covariance matrix.

◆ GetParameters

Initial value:

Type alias for delegate to get track state parameters.

Member Function Documentation

◆ calculate()

Result< void > Acts::GainMatrixSmoother::calculate ( AnyMutableTrackStateProxy ts,
AnyConstTrackStateProxy prev_ts,
const Logger & logger ) const

Calculate smoothed parameters for a single track state using gain matrix formalism.

Parameters
tsCurrent track state to be smoothed
prev_tsPrevious track state (in forward direction)
loggerLogger for verbose output
Returns
Success or failure of the smoothing calculation

◆ operator()()

template<typename traj_t>
Result< void > Acts::GainMatrixSmoother::operator() ( const GeometryContext & gctx,
traj_t & trajectory,
std::size_t entryIndex,
const Logger & logger = getDummyLogger() ) const

Run the Kalman smoothing for one trajectory.

Parameters
[in]gctxThe geometry context to be used
[in,out]trajectoryThe trajectory to be smoothed
[in]entryIndexThe index of state to start the smoothing
[in]loggerWhere to write logging information to
Returns
Success or failure of the smoothing procedure

Member Data Documentation

◆ doCovCheckAndAttemptFix

bool Acts::GainMatrixSmoother::doCovCheckAndAttemptFix = false

Whether to check the covariance matrices if they are semi-positive and if not attempt to correct them.