File GainMatrixSmoother.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

class GainMatrixSmoother
#include <Acts/TrackFitting/GainMatrixSmoother.hpp>

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.

Public Types

using GetCovariance = Acts::Delegate<TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::Covariance(void*)>
using GetParameters = Acts::Delegate<TrackStateTraits<MultiTrajectoryTraits::MeasurementSizeMax, false>::Parameters(void*)>

Public Functions

Result<void> calculate(void *ts, void *prev_ts, const GetParameters &filtered, const GetCovariance &filteredCovariance, const GetParameters &smoothed, const GetParameters &predicted, const GetCovariance &predictedCovariance, const GetCovariance &smoothedCovariance, const GetCovariance &jacobian, const Logger &logger) const
template<typename traj_t>
inline Result<void> operator()(const GeometryContext &gctx, traj_t &trajectory, size_t entryIndex, const Logger &logger = getDummyLogger()) const

Run the Kalman smoothing for one trajectory.

  • gctx[in] The geometry context for the smoothing

  • trajectory[inout] The trajectory to be smoothed

  • entryIndex[in] The index of state to start the smoothing

  • logger[in] Where to write logging information to