Template Class CombinatorialKalmanFilter¶
Defined in File CombinatorialKalmanFilter.hpp
Nested Relationships¶
Nested Types¶
Class Documentation¶
-
template<typename
propagator_t
, typenameupdater_t
= VoidKalmanUpdater, typenamesmoother_t
= VoidKalmanSmoother, typenamebranch_stopper_t
= VoidBranchStopper>
classActs
::
CombinatorialKalmanFilter
¶ Combinatorial Kalman filter to find tracks.
The CombinatorialKalmanFilter 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 propagatorupdater_t
: Type of the Kalman updatersmoother_t
: Type of the Kalman smootherbranch_stopper_t
: Type of the branch stopper
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 filtering (track finding) by the Actor.
Measurements are not required to be ordered for the CombinatorialKalmanFilter, measurement ordering needs to be figured out by the navigation of the propagator.
The void components are provided mainly for unit testing.
Public Functions
-
CombinatorialKalmanFilter
() = delete¶ Default constructor is deleted.
-
CombinatorialKalmanFilter
(propagator_t pPropagator)¶ Constructor from arguments.
-
template<typename
source_link_container_t
, typenamestart_parameters_container_t
, typenamecalibrator_t
, typenamemeasurement_selector_t
, typenameparameters_t
= BoundTrackParameters>
std::vector<Result<CombinatorialKalmanFilterResult<typename source_link_container_t::value_type>>>findTracks
(const source_link_container_t &sourcelinks, const start_parameters_container_t &initialParameters, const CombinatorialKalmanFilterOptions<calibrator_t, measurement_selector_t> &tfOptions) const¶ Combinatorial Kalman Filter implementation, calls the the Kalman filter and 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 track finding.- Return
a container of track finding result for all the initial track parameters
- Template Parameters
source_link_container_t
: Type of the source link containerstart_parameters_container_t
: Type of the initial parameters containercalibrator_t
: Type of the source link calibratormeasurement_selector_t
: Type of the measurement selectorparameters_t
: Type of parameters used for local parameters
- Parameters
sourcelinks
: The fittable uncalibrated measurementsinitialParameters
: The initial track parameterstfOptions
: CombinatorialKalmanFilterOptions steering the track finding