ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::GaussianSumFitter< propagator_t, traj_t > Struct Template Reference

Gaussian Sum Fitter implementation. More...

#include <Acts/TrackFitting/GaussianSumFitter.hpp>

Collaboration diagram for Acts::GaussianSumFitter< propagator_t, traj_t >:
[legend]

Public Types

using GsfActor = detail::Gsf::GsfActor<traj_t>
 The actor type.
using GsfNavigator = typename propagator_t::Navigator
 The navigator type.

Public Member Functions

 GaussianSumFitter (propagator_t &&propagator, std::shared_ptr< const BetheHeitlerApprox > bha, std::unique_ptr< const Logger > _logger=getDefaultLogger("GSF", Logging::INFO))
 Constructor with propagator, Bethe-Heitler approximation, and logger.
template<typename source_link_it_t, typename start_parameters_t, TrackContainerFrontend track_container_t>
auto fit (source_link_it_t begin, source_link_it_t end, const start_parameters_t &sParameters, const GsfOptions< traj_t > &options, const std::vector< const Surface * > &sSequence, track_container_t &trackContainer) const
 The fit function for the Direct navigator.
template<typename source_link_it_t, typename start_parameters_t, TrackContainerFrontend track_container_t>
auto fit (source_link_it_t begin, source_link_it_t end, const start_parameters_t &sParameters, const GsfOptions< traj_t > &options, track_container_t &trackContainer) const
 The fit function for the standard navigator.
template<typename source_link_it_t, typename start_parameters_t, typename fwd_prop_initializer_t, typename bwd_prop_initializer_t, TrackContainerFrontend track_container_t>
Acts::Result< typename track_container_t::TrackProxy > fit_impl (source_link_it_t begin, source_link_it_t end, const start_parameters_t &sParameters, const GsfOptions< traj_t > &options, const fwd_prop_initializer_t &fwdPropInitializer, const bwd_prop_initializer_t &bwdPropInitializer, track_container_t &trackContainer) const
 The generic implementation of the fit function.
const Loggerlogger () const
 Get the logger instance.

Public Attributes

std::unique_ptr< const Loggerm_actorLogger
 Logger instance for actor debugging.
std::shared_ptr< const BetheHeitlerApproxm_betheHeitlerApproximation
 The fitter holds the instance of the bethe heitler approx.
std::unique_ptr< const Loggerm_logger
 The logger.
propagator_t m_propagator
 The propagator instance used by the fit function.

Detailed Description

template<typename propagator_t, typename traj_t>
struct Acts::GaussianSumFitter< propagator_t, traj_t >

Gaussian Sum Fitter implementation.

Template Parameters
propagator_tThe propagator type on which the algorithm is built on, usually an instance of Acts::Propagator
traj_tThe MultiTrajectory type (backend)
Note
This GSF implementation tries to be as compatible to the KalmanFitter as possible. However, strict compatibility is not garantueed.
Currently there is no possibility to export the states of the individual components from the GSF, the only information returned in the MultiTrajectory are the means of the states. Therefore, also NO dedicated component smoothing is performed as described e.g. by R. Fruewirth.

Member Typedef Documentation

◆ GsfActor

template<typename propagator_t, typename traj_t>
using Acts::GaussianSumFitter< propagator_t, traj_t >::GsfActor = detail::Gsf::GsfActor<traj_t>

The actor type.

◆ GsfNavigator

template<typename propagator_t, typename traj_t>
using Acts::GaussianSumFitter< propagator_t, traj_t >::GsfNavigator = typename propagator_t::Navigator

The navigator type.

Constructor & Destructor Documentation

◆ GaussianSumFitter()

template<typename propagator_t, typename traj_t>
Acts::GaussianSumFitter< propagator_t, traj_t >::GaussianSumFitter ( propagator_t && propagator,
std::shared_ptr< const BetheHeitlerApprox > bha,
std::unique_ptr< const Logger > _logger = getDefaultLogger("GSF", Logging::INFO) )

Constructor with propagator, Bethe-Heitler approximation, and logger.

Parameters
propagatorPropagator for track propagation
bhaBethe-Heitler approximation for energy loss modeling
_loggerLogger for diagnostic output

Member Function Documentation

◆ fit() [1/2]

template<typename propagator_t, typename traj_t>
template<typename source_link_it_t, typename start_parameters_t, TrackContainerFrontend track_container_t>
auto Acts::GaussianSumFitter< propagator_t, traj_t >::fit ( source_link_it_t begin,
source_link_it_t end,
const start_parameters_t & sParameters,
const GsfOptions< traj_t > & options,
const std::vector< const Surface * > & sSequence,
track_container_t & trackContainer ) const

The fit function for the Direct navigator.

Parameters
beginIterator to the start of source links
endIterator to the end of source links
sParametersStarting track parameters for the fit
optionsOptions for the GSF fit
sSequenceSequence of surfaces to navigate through
trackContainerContainer to store the fitted track
Returns
Result containing fitted track proxy or error

◆ fit() [2/2]

template<typename propagator_t, typename traj_t>
template<typename source_link_it_t, typename start_parameters_t, TrackContainerFrontend track_container_t>
auto Acts::GaussianSumFitter< propagator_t, traj_t >::fit ( source_link_it_t begin,
source_link_it_t end,
const start_parameters_t & sParameters,
const GsfOptions< traj_t > & options,
track_container_t & trackContainer ) const

The fit function for the standard navigator.

Parameters
beginIterator to the start of source links
endIterator to the end of source links
sParametersStarting track parameters for the fit
optionsOptions for the GSF fit
trackContainerContainer to store the fitted track
Returns
Result containing fitted track proxy or error

◆ fit_impl()

template<typename propagator_t, typename traj_t>
template<typename source_link_it_t, typename start_parameters_t, typename fwd_prop_initializer_t, typename bwd_prop_initializer_t, TrackContainerFrontend track_container_t>
Acts::Result< typename track_container_t::TrackProxy > Acts::GaussianSumFitter< propagator_t, traj_t >::fit_impl ( source_link_it_t begin,
source_link_it_t end,
const start_parameters_t & sParameters,
const GsfOptions< traj_t > & options,
const fwd_prop_initializer_t & fwdPropInitializer,
const bwd_prop_initializer_t & bwdPropInitializer,
track_container_t & trackContainer ) const

The generic implementation of the fit function.

TODO check what this function does with the referenceSurface is e.g. the first measurementSurface

Parameters
beginIterator to the start of source links
endIterator to the end of source links
sParametersStarting track parameters for the fit
optionsOptions for the GSF fit
fwdPropInitializerInitializer for forward propagation
bwdPropInitializerInitializer for backward propagation
trackContainerContainer to store the fitted track
Returns
Result containing fitted track proxy with forward and backward propagation results

◆ logger()

template<typename propagator_t, typename traj_t>
const Logger & Acts::GaussianSumFitter< propagator_t, traj_t >::logger ( ) const

Get the logger instance.

Returns
Reference to the logger

Member Data Documentation

◆ m_actorLogger

template<typename propagator_t, typename traj_t>
std::unique_ptr<const Logger> Acts::GaussianSumFitter< propagator_t, traj_t >::m_actorLogger

Logger instance for actor debugging.

◆ m_betheHeitlerApproximation

template<typename propagator_t, typename traj_t>
std::shared_ptr<const BetheHeitlerApprox> Acts::GaussianSumFitter< propagator_t, traj_t >::m_betheHeitlerApproximation

The fitter holds the instance of the bethe heitler approx.

◆ m_logger

template<typename propagator_t, typename traj_t>
std::unique_ptr<const Logger> Acts::GaussianSumFitter< propagator_t, traj_t >::m_logger

The logger.

◆ m_propagator

template<typename propagator_t, typename traj_t>
propagator_t Acts::GaussianSumFitter< propagator_t, traj_t >::m_propagator

The propagator instance used by the fit function.