File GaussianSumFitter.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

template<typename propagator_t, typename traj_t, typename bethe_heitler_approx_t = detail::BetheHeitlerApprox<6, 5>>
struct GaussianSumFitter
#include <Acts/TrackFitting/GaussianSumFitter.hpp>

Gaussian Sum Fitter implementation.


This GSF implementation tries to be as compatible to the KalmanFitter as possible. However, there are certain differences at the moment:

  • There is always a backward pass during fitting.

  • There are only measurement states in the result

  • Passed-again-surfaces is always empty at the moment

  • Probably some more differences which I don’t think of at the moment.

Template Parameters
  • propagator_t – The propagator type on which the algorithm is built on

  • bethe_heitler_approx_t – The type of the Bethe-Heitler-Approximation

Public Types

using GsfActor = detail::GsfActor<bethe_heitler_approx_t, traj_t>

The actor type.

using GsfNavigator = typename propagator_t::Navigator

The navigator type.

Public Functions

inline GaussianSumFitter(propagator_t &&propagator, bethe_heitler_approx_t &&bha = bethe_heitler_approx_t(detail::bh_cdf_cmps6_order5_data))

The fit function for the Direct navigator.

The fit function for the standard navigator.

The generic implementation of the fit function.

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

Public Members

bethe_heitler_approx_t m_bethe_heitler_approx

The fitter holds the instance of the bethe heitler approx.

propagator_t m_propagator

The propagator instance used by the fit function.