EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t > Class Template Reference

Propagator Actor plugin for the KalmanFilter. More...

+ Collaboration diagram for Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >:

Public Types

using result_type = KalmanFitterResult< source_link_t >
 Broadcast the result_type.
 

Public Member Functions

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<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<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<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<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<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.
 

Public Attributes

const SurfacetargetSurface = nullptr
 The target surface.
 
std::map< const Surface
*, source_link_t > 
inputMeasurements
 Allows retrieving measurements for a surface.
 
bool multipleScattering = true
 Whether to consider multiple scattering.
 
bool energyLoss = true
 Whether to consider energy loss.
 
bool backwardFiltering = false
 Whether run smoothing as backward filtering.
 
updater_t m_updater
 The Kalman updater.
 
smoother_t m_smoother
 The Kalman smoother.
 
outlier_finder_t m_outlierFinder
 The outlier finder.
 
calibrator_t m_calibrator
 The Measuremetn calibrator.
 
SurfaceReached targetReached
 The Surface beeing.
 

Detailed Description

template<typename propagator_t, typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t, typename parameters_t>
class Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >

Propagator Actor plugin for the KalmanFilter.

Template Parameters
source_link_tis an type fulfilling the SourceLinkConcept
parameters_tThe type of parameters used for "local" paremeters.

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

Definition at line 225 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 225 of file KalmanFitter.hpp

Member Typedef Documentation

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
using Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::result_type = KalmanFitterResult<source_link_t>

Broadcast the result_type.

Definition at line 228 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 228 of file KalmanFitter.hpp

Member Function Documentation

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
template<typename propagator_state_t , typename stepper_t >
Result<void> Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::backwardFilter ( const Surface surface,
propagator_state_t &  state,
const stepper_t &  stepper,
result_type result 
) const
inline

Kalman actor operation : backward update.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper
Parameters
surfaceThe surface where the update happens
stateThe mutable propagator state object
stepperThe stepper in use
resultThe mutable result state object

Definition at line 640 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 640 of file KalmanFitter.hpp

References ACTS_ERROR, ACTS_VERBOSE, Acts::backward, Acts::KalmanFitterResult< source_link_t >::fittedStates, Acts::MultiTrajectoryHelpers::freeFiltered(), Acts::GeometryObject::geometryId(), Acts::KalmanFitterResult< source_link_t >::passedAgainSurfaces, ActsTests::PropagationDatasets::pathLength, Acts::postUpdate, Acts::preUpdate, and Acts::KalmanFitterResult< source_link_t >::trackTip.

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
template<typename propagator_state_t , typename stepper_t >
Result<void> Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter ( const Surface surface,
propagator_state_t &  state,
const stepper_t &  stepper,
result_type result 
) const
inline

Kalman actor operation : update.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper
Parameters
surfaceThe surface where the update happens
stateThe mutable propagator state object
stepperThe stepper in use
resultThe mutable result state object

Definition at line 465 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 465 of file KalmanFitter.hpp

References ACTS_ERROR, ACTS_VERBOSE, Acts::Surface::associatedDetectorElement(), Acts::KalmanFitterResult< source_link_t >::fittedStates, Acts::forward, Acts::MultiTrajectoryHelpers::freeFiltered(), Acts::fullUpdate, Acts::GeometryObject::geometryId(), Acts::Surface::getSharedPtr(), Acts::HoleFlag, Acts::MaterialFlag, Acts::MeasurementFlag, Acts::KalmanFitterResult< source_link_t >::measurementStates, Acts::KalmanFitterResult< source_link_t >::missedActiveSurfaces, Acts::OutlierFlag, Acts::ParameterFlag, ActsTests::PropagationDatasets::pathLength, Acts::postUpdate, Acts::preUpdate, Acts::KalmanFitterResult< source_link_t >::processedStates, Acts::Surface::surfaceMaterial(), and Acts::KalmanFitterResult< source_link_t >::trackTip.

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
template<typename propagator_state_t , typename stepper_t >
Result<void> Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::finalize ( propagator_state_t &  state,
const stepper_t &  stepper,
result_type result 
) const
inline

Kalman actor operation : finalize.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
resultis the mutable result state object

Definition at line 823 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 823 of file KalmanFitter.hpp

References Acts::KalmanFitterResult< source_link_t >::fittedStates, Acts::MeasurementFlag, Acts::KalmanFitterResult< source_link_t >::measurementStates, Acts::KalmanFitterResult< source_link_t >::smoothed, and Acts::KalmanFitterResult< source_link_t >::trackTip.

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().

+ Here is the caller graph for this function:

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
template<typename propagator_state_t , typename stepper_t >
void Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::materialInteractor ( const Surface surface,
propagator_state_t &  state,
stepper_t &  stepper,
const MaterialUpdateStage updateStage = fullUpdate 
) const
inline

Kalman actor operation : material interaction.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper
Parameters
surfaceThe surface where the material interaction happens
stateThe mutable propagator state object
stepperThe stepper in use
updateStageThe materal update stage

Definition at line 770 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 770 of file KalmanFitter.hpp

References ACTS_VERBOSE, Acts::detail::PointwiseMaterialInteraction::Eloss, Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab(), Acts::detail::PointwiseMaterialInteraction::evaluatePointwiseMaterialInteraction(), Acts::GeometryObject::geometryId(), Acts::Surface::surfaceMaterial(), Acts::detail::PointwiseMaterialInteraction::updateState(), Acts::detail::PointwiseMaterialInteraction::variancePhi, Acts::detail::PointwiseMaterialInteraction::varianceQoverP, and Acts::detail::PointwiseMaterialInteraction::varianceTheta.

+ Here is the call graph for this function:

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
template<typename propagator_state_t , typename stepper_t >
void Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator() ( propagator_state_t &  state,
const stepper_t &  stepper,
result_type result 
) const
inline

Kalman actor operation.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
resultis the mutable result state object

Definition at line 254 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 254 of file KalmanFitter.hpp

References ACTS_ERROR, ACTS_VERBOSE, Acts::backward, Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::backwardFilter(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::backwardFiltering, Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::filter(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::finalize(), Acts::KalmanFitterResult< source_link_t >::finished, Acts::KalmanFitterResult< source_link_t >::fittedParameters, Acts::KalmanFitterResult< source_link_t >::fittedStates, Acts::forward, Acts::KalmanFitterResult< source_link_t >::forwardFiltered, Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::inputMeasurements, Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::isDirectNavigator, Acts::detail_lt::IndexData::kInvalid, Acts::KalmanFitterResult< source_link_t >::measurementStates, Acts::KalmanFitterResult< source_link_t >::passedAgainSurfaces, Acts::KalmanFitterResult< source_link_t >::reset, Acts::KalmanFitterResult< source_link_t >::result, Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::reverse(), Acts::UnitConstants::s, Acts::KalmanFitterResult< source_link_t >::smoothed, surface(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::targetReached, Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::targetSurface, and Acts::KalmanFitterResult< source_link_t >::trackTip.

+ Here is the call graph for this function:

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
template<typename propagator_state_t , typename stepper_t >
void Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::reverse ( propagator_state_t &  state,
stepper_t &  stepper,
result_type result 
) const
inline

Kalman actor operation : reverse direction.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
resultis the mutable result state objecte

Definition at line 407 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 407 of file KalmanFitter.hpp

References Acts::backward, Acts::KalmanFitterResult< source_link_t >::fittedStates, Acts::MeasurementFlag, Acts::KalmanFitterResult< source_link_t >::passedAgainSurfaces, Acts::KalmanFitterResult< source_link_t >::reset, and Acts::KalmanFitterResult< source_link_t >::trackTip.

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().

+ Here is the caller graph for this function:

Member Data Documentation

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
bool Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::backwardFiltering = false

Whether run smoothing as backward filtering.

Definition at line 243 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 243 of file KalmanFitter.hpp

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
bool Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::energyLoss = true

Whether to consider energy loss.

Definition at line 240 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 240 of file KalmanFitter.hpp

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
std::map<const Surface*, source_link_t> Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::inputMeasurements

Allows retrieving measurements for a surface.

Definition at line 234 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 234 of file KalmanFitter.hpp

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
calibrator_t Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::m_calibrator

The Measuremetn calibrator.

Definition at line 900 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 900 of file KalmanFitter.hpp

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
outlier_finder_t Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::m_outlierFinder

The outlier finder.

Definition at line 897 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 897 of file KalmanFitter.hpp

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
smoother_t Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::m_smoother

The Kalman smoother.

Definition at line 894 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 894 of file KalmanFitter.hpp

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
updater_t Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::m_updater

The Kalman updater.

Definition at line 891 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 891 of file KalmanFitter.hpp

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
bool Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::multipleScattering = true

Whether to consider multiple scattering.

Definition at line 237 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 237 of file KalmanFitter.hpp

template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
SurfaceReached Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::targetReached
template<typename propagator_t , typename updater_t = VoidKalmanUpdater, typename smoother_t = VoidKalmanSmoother, typename outlier_finder_t = VoidOutlierFinder, typename calibrator_t = VoidMeasurementCalibrator>
template<typename source_link_t , typename parameters_t >
const Surface* Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::targetSurface = nullptr

The target surface.

Definition at line 231 of file KalmanFitter.hpp.

View newest version in sPHENIX GitHub at line 231 of file KalmanFitter.hpp

Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t >::Actor< source_link_t, parameters_t >::operator()().


The documentation for this class was generated from the following file: