Template Class KalmanFitter::Actor

Nested Relationships

This class is a nested type of Template Class KalmanFitter.

Class Documentation

template<typename source_link_t, typename parameters_t>
class Acts::KalmanFitter::Actor

Propagator Actor plugin for the KalmanFilter.

The KalmanActor does not rely on the measurements to be sorted along the track.

Template Parameters
  • source_link_t: is an type fulfilling the SourceLinkConcept

  • parameters_t: The type of parameters used for “local” paremeters.

Public Types

using result_type = KalmanFitterResult<source_link_t>

Broadcast the result_type.

using TrackStateType = TrackState<source_link_t, parameters_t>

Public Functions

Actor(updater_t pUpdater = updater_t(), smoother_t pSmoother = smoother_t(), outlier_finder_t pOutlierFinder = outlier_finder_t(), calibrator_t pCalibrator = calibrator_t())

Explicit constructor with updater and calibrator.

template<typename propagator_state_t, typename stepper_t>
Result<void> backwardFilter(const Surface *surface, propagator_state_t &state, const stepper_t &stepper, result_type &result) const

Kalman actor operation : backward update.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • surface: The surface where the update happens

  • state: The mutable propagator state object

  • stepper: The stepper in use

  • result: The mutable result state object

template<typename propagator_state_t, typename stepper_t>
Result<void> filter(const Surface *surface, propagator_state_t &state, const stepper_t &stepper, result_type &result) const

Kalman actor operation : update.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • surface: The surface where the update happens

  • state: The mutable propagator state object

  • stepper: The stepper in use

  • result: The mutable result state object

template<typename propagator_state_t, typename stepper_t>
Result<void> finalize(propagator_state_t &state, const stepper_t &stepper, result_type &result) const

Kalman actor operation : finalize.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • state: is the mutable propagator state object

  • stepper: The stepper in use

  • result: is the mutable result state object

template<typename propagator_state_t, typename stepper_t>
void initialize(propagator_state_t&, const stepper_t&, result_type&) const

Kalman actor operation : initialize.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • state: is the mutable propagator state object

  • stepper: The stepper in use

  • result: is the mutable result state object

const Logger &logger() const

Getter for the logger, to support logging macros.

template<typename propagator_state_t, typename stepper_t>
void materialInteractor(const Surface *surface, propagator_state_t &state, stepper_t &stepper, const MaterialUpdateStage &updateStage = fullUpdate) const

Kalman actor operation : material interaction.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • surface: The surface where the material interaction happens

  • state: The mutable propagator state object

  • stepper: The stepper in use

  • updateStage: The materal update stage

template<typename propagator_state_t, typename stepper_t>
void operator()(propagator_state_t &state, const stepper_t &stepper, result_type &result) const

Kalman actor operation.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • state: is the mutable propagator state object

  • stepper: The stepper in use

  • result: is the mutable result state object

template<typename propagator_state_t, typename stepper_t>
void reverse(propagator_state_t &state, stepper_t &stepper, result_type &result) const

Kalman actor operation : reverse direction.

Template Parameters
  • propagator_state_t: is the type of Propagagor state

  • stepper_t: Type of the stepper

Parameters
  • state: is the mutable propagator state object

  • stepper: The stepper in use

  • result: is the mutable result state object

Public Members

bool backwardFiltering = false

Whether run smoothing as backward filtering.

bool energyLoss = true

Whether to consider energy loss.

std::map<const Surface*, source_link_t> inputMeasurements

Allows retrieving measurements for a surface.

calibrator_t m_calibrator

The Measuremetn calibrator.

const Logger *m_logger

Pointer to a logger that is owned by the parent, KalmanFilter.

outlier_finder_t m_outlierFinder

The outlier finder.

smoother_t m_smoother

The Kalman smoother.

updater_t m_updater

The Kalman updater.

bool multipleScattering = true

Whether to consider multiple scattering.

SurfaceReached targetReached

The Surface beeing.

const Surface *targetSurface = nullptr

The target surface.