Template Class KalmanFitter¶
Defined in File KalmanFitter.hpp
Nested Relationships¶
Class Documentation¶
-
template<typename
propagator_t
, typenameupdater_t
= VoidKalmanUpdater, typenamesmoother_t
= VoidKalmanSmoother, typenameoutlier_finder_t
= VoidOutlierFinder, typenamecalibrator_t
= VoidMeasurementCalibrator, typenameinput_converter_t
= VoidKalmanComponents, typenameoutput_converter_t
= VoidKalmanComponents>
classActs
::
KalmanFitter
¶ Kalman fitter implementation of Acts as a plugin.
to the Propgator
The Kalman filter contains an Actor and a Sequencer sub-class. The Sequencer has to be part of the Navigator of the Propagator in order to initialize and provide the measurement surfaces.
- Template Parameters
propagator_t
: Type of the propagation classupdater_t
: Type of the kalman updater classsmoother_t
: Type of the kalman smoother classoutlier_finder_t
: Type of the outlier finder classcalibrator_t
: Type of the calibrator classinput_converter_t
: Type of the input converter classoutput_converter_t
: Type of the output converter class
The Actor is part of the Propagation call and does the Kalman update and eventually the smoothing. Updater, Smoother and Calibrator are given to the Actor for further use:
The Updater is the implemented kalman updater formalism, it runs via a visitor pattern through the measurements.
The Smoother is called at the end of the forward fit by the Actor.
The outlier finder is called during the filtering by the Actor. It determines if the measurement is an outlier
The Calibrator is a dedicated calibration algorithm that allows to calibrate measurements using track information, this could be e.g. sagging for wires, module deformations, etc.
Measurements are not required to be ordered for the KalmanFilter, measurement ordering needs to be figured out by the navigation of the propagator.
The Input converter is a converter that transforms the input measurement/track/segments into a set of FittableMeasurements
The Output converter is a converter that transforms the set of track states into a given track/track particle class
The void components are provided mainly for unit testing.
Public Types
The navigator type.
Public Functions
-
KalmanFitter
() = delete¶ Default constructor is deleted.
-
KalmanFitter
(propagator_t pPropagator, std::unique_ptr<const Logger> logger = getDefaultLogger("KalmanFilter", Logging::INFO), input_converter_t pInputCnv = input_converter_t(), output_converter_t pOutputCnv = output_converter_t())¶ Constructor from arguments.
-
template<typename source_link_t, typename start_parameters_t, typename kalman_fitter_options_t, typename parameters_t = BoundParameters, typename result_t = Result<KalmanFitterResult<source_link_t>>> auto fit (const std::vector< source_link_t > &sourcelinks, const start_parameters_t &sParameters, const kalman_fitter_options_t &kfOptions) const -> std::enable_if_t<!isDirectNavigator, result_t >
Fit implementation of the foward filter, calls the the forward filter and backward smoother.
- Note
The input measurements are given in the form of
SourceLinks
. It’scalibrator_t's
job to turn them into calibrated measurements used in the fit.- Return
the output as an output track
- Template Parameters
source_link_t
: Source link type identifying uncalibrated input measurements.start_parameters_t
: Type of the initial parameterskalman_fitter_options_t
: Type of the kalman fitter optionsparameters_t
: Type of parameters used for local parameters
- Parameters
sourcelinks
: The fittable uncalibrated measurementssParameters
: The initial track parameterskfOptions
: KalmanOptions steering the fit
-
template<typename source_link_t, typename start_parameters_t, typename kalman_fitter_options_t, typename parameters_t = BoundParameters, typename result_t = Result<KalmanFitterResult<source_link_t>>> auto fit (const std::vector< source_link_t > &sourcelinks, const start_parameters_t &sParameters, const kalman_fitter_options_t &kfOptions, const std::vector< const Surface *> &sSequence) const -> std::enable_if_t< isDirectNavigator, result_t >
Fit implementation of the foward filter, calls the the forward filter and backward smoother.
- Note
The input measurements are given in the form of
SourceLinks
. It’scalibrator_t's
job to turn them into calibrated measurements used in the fit.- Return
the output as an output track
- Template Parameters
source_link_t
: Source link type identifying uncalibrated input measurements.start_parameters_t
: Type of the initial parameterskalman_fitter_options_t
: Type of the kalman fitter optionsparameters_t
: Type of parameters used for local parameters
- Parameters
sourcelinks
: The fittable uncalibrated measurementssParameters
: The initial track parameterskfOptions
: KalmanOptions steering the fitsSequence
: surface sequence used to initialize a DirectNavigator
Public Static Attributes
The navigator has DirectNavigator type or not.