ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::CombinatorialKalmanFilter< propagator_t, track_container_t > Class Template Reference

Combinatorial Kalman filter to find tracks. More...

#include <Acts/TrackFinding/CombinatorialKalmanFilter.hpp>

Public Member Functions

 CombinatorialKalmanFilter ()=delete
 Default constructor is deleted.
 CombinatorialKalmanFilter (propagator_t pPropagator, std::unique_ptr< const Logger > _logger=getDefaultLogger("CKF", Logging::INFO))
 Constructor with propagator and logging level.
auto findTracks (const BoundTrackParameters &initialParameters, const CombinatorialKalmanFilterOptions< track_container_t > &tfOptions, track_container_t &trackContainer) const -> Result< std::vector< typename std::decay_t< decltype(trackContainer)>::TrackProxy > >
 Combinatorial Kalman Filter implementation, calls the Kalman filter.
auto findTracks (const BoundTrackParameters &initialParameters, const CombinatorialKalmanFilterOptions< track_container_t > &tfOptions, track_container_t &trackContainer, typename track_container_t::TrackProxy rootBranch) const -> Result< std::vector< typename std::decay_t< decltype(trackContainer)>::TrackProxy > >
 Combinatorial Kalman Filter implementation, calls the Kalman filter.

Detailed Description

template<typename propagator_t, typename track_container_t>
class Acts::CombinatorialKalmanFilter< propagator_t, track_container_t >

Combinatorial Kalman filter to find tracks.

Template Parameters
propagator_tType of the propagator

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.

The Actor is part of the Propagation call and does the Kalman update. Updater 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.

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.

Constructor & Destructor Documentation

◆ CombinatorialKalmanFilter() [1/2]

template<typename propagator_t, typename track_container_t>
Acts::CombinatorialKalmanFilter< propagator_t, track_container_t >::CombinatorialKalmanFilter ( )
delete

Default constructor is deleted.

◆ CombinatorialKalmanFilter() [2/2]

template<typename propagator_t, typename track_container_t>
Acts::CombinatorialKalmanFilter< propagator_t, track_container_t >::CombinatorialKalmanFilter ( propagator_t pPropagator,
std::unique_ptr< const Logger > _logger = getDefaultLogger("CKF", Logging::INFO) )
explicit

Constructor with propagator and logging level.

Parameters
pPropagatorThe propagator used for the track finding
_loggerThe logger for messages

Member Function Documentation

◆ findTracks() [1/2]

template<typename propagator_t, typename track_container_t>
auto Acts::CombinatorialKalmanFilter< propagator_t, track_container_t >::findTracks ( const BoundTrackParameters & initialParameters,
const CombinatorialKalmanFilterOptions< track_container_t > & tfOptions,
track_container_t & trackContainer ) const->Result< std::vector< typenamestd::decay_t< decltype(trackContainer)>::TrackProxy > >

Combinatorial Kalman Filter implementation, calls the Kalman filter.

Parameters
initialParametersThe initial track parameters
tfOptionsCombinatorialKalmanFilterOptions steering the track finding
trackContainerTrack container in which to store the results
Note
The input measurements are given in the form of SourceLinks. It's calibrator_t's job to turn them into calibrated measurements used in the track finding.
Returns
a container of track finding result for all the initial track parameters

◆ findTracks() [2/2]

template<typename propagator_t, typename track_container_t>
auto Acts::CombinatorialKalmanFilter< propagator_t, track_container_t >::findTracks ( const BoundTrackParameters & initialParameters,
const CombinatorialKalmanFilterOptions< track_container_t > & tfOptions,
track_container_t & trackContainer,
typename track_container_t::TrackProxy rootBranch ) const->Result< std::vector< typenamestd::decay_t< decltype(trackContainer)>::TrackProxy > >

Combinatorial Kalman Filter implementation, calls the Kalman filter.

Parameters
initialParametersThe initial track parameters
tfOptionsCombinatorialKalmanFilterOptions steering the track finding
trackContainerTrack container in which to store the results
rootBranchThe track to be used as the root branch
Note
The input measurements are given in the form of SourceLinks. It's calibrator_t's job to turn them into calibrated measurements used in the track finding.
Returns
a container of track finding result for all the initial track parameters