Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t > Class Template Reference

Propagator Actor plugin for the KalmanFilter. More...

#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/KalmanFitter.hpp>

+ Collaboration diagram for Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >:

Public Types

using result_type = KalmanFitterResult< traj_t >
 Broadcast the result_type.
 

Public Member Functions

const Loggerlogger () const
 Logger helper.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void operator() (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, const Logger &) const
 Kalman actor operation.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result< void > reverse (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result) const
 Kalman actor operation: reverse direction.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result< void > filter (const Surface *surface, propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result) const
 Kalman actor operation: update.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result< void > reversedFilter (const Surface *surface, propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result) const
 Kalman actor operation: update in reversed direction.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void materialInteractor (const Surface *surface, propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const MaterialUpdateStage &updateStage) const
 Kalman actor operation: material interaction.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result< void > finalize (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result) const
 Kalman actor operation: finalize.
 

Public Attributes

const SurfacetargetSurface = nullptr
 The target surface.
 
KalmanFitterTargetSurfaceStrategy targetSurfaceStrategy
 Strategy to propagate to target surface.
 
const std::map
< GeometryIdentifier,
SourceLink > * 
inputMeasurements = nullptr
 Allows retrieving measurements for a surface.
 
bool multipleScattering = true
 Whether to consider multiple scattering.
 
bool energyLoss = true
 Whether to consider energy loss.
 
bool reversedFiltering = false
 Whether run reversed filtering.
 
double reversedFilteringCovarianceScaling = 1.0
 
FreeToBoundCorrection freeToBoundCorrection
 
std::shared_ptr< traj_t > outputStates
 Input MultiTrajectory.
 
const LoggeractorLogger {nullptr}
 The logger instance.
 
KalmanFitterExtensions< traj_t > extensions
 
SurfaceReached targetReached {std::numeric_limits<double>::lowest()}
 The Surface being.
 
const CalibrationContextcalibrationContext {nullptr}
 Calibration context for the fit.
 

Detailed Description

template<typename propagator_t, typename traj_t>
template<typename parameters_t>
class Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >

Propagator Actor plugin for the KalmanFilter.

Template Parameters
parameters_tThe type of parameters used for "local" parameters.
calibrator_tThe type of calibrator
outlier_finder_tType of the outlier finder class

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

Definition at line 302 of file KalmanFitter.hpp.

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

Member Typedef Documentation

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
using Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::result_type = KalmanFitterResult<traj_t>

Broadcast the result_type.

Definition at line 305 of file KalmanFitter.hpp.

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

Member Function Documentation

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result<void> Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::filter ( const Surface surface,
propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result 
) const
inline

Kalman actor operation: update.

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

Definition at line 601 of file KalmanFitter.hpp.

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

References Acts::ACTS_VERBOSE(), Acts::Surface::associatedDetectorElement(), conf::extensions, Acts::KalmanFitterResult< traj_t >::fittedStates, Acts::MultiTrajectoryHelpers::freeFiltered(), Acts::GeometryObject::geometryId(), Acts::HoleFlag, Acts::detail::kalmanHandleMeasurement(), Acts::detail::kalmanHandleNoMeasurement(), Acts::KalmanFitterResult< traj_t >::lastMeasurementIndex, Acts::KalmanFitterResult< traj_t >::lastTrackIndex, Acts::KalmanFitter< propagator_t, traj_t >::logger(), Acts::MeasurementFlag, Acts::KalmanFitterResult< traj_t >::measurementHoles, Acts::KalmanFitterResult< traj_t >::measurementStates, Acts::KalmanFitterResult< traj_t >::missedActiveSurfaces, Acts::KalmanFitterResult< traj_t >::processedStates, writeMapConfig::surface, and Acts::Surface::surfaceMaterial().

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result<void> Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::finalize ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result 
) const
inline

Kalman actor operation: finalize.

Template Parameters
propagator_state_tis the type of Propagator state
stepper_tType of the stepper
navigator_tType of the navigator
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
navigatorThe navigator in use
resultis the mutable result state object

Definition at line 915 of file KalmanFitter.hpp.

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

References Acts::KalmanFitterResult< traj_t >::fittedStates, Acts::KalmanFitterResult< traj_t >::lastMeasurementIndex, Acts::MeasurementFlag, Acts::OutlierFlag, and Acts::KalmanFitterResult< traj_t >::smoothed.

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

+ Here is the caller graph for this function:

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
const Logger& Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::logger ( ) const
inline

Logger helper.

Definition at line 340 of file KalmanFitter.hpp.

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

References Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::actorLogger.

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

+ Here is the caller graph for this function:

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::materialInteractor ( const Surface surface,
propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const MaterialUpdateStage updateStage 
) const
inline

Kalman actor operation: material interaction.

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

Definition at line 859 of file KalmanFitter.hpp.

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

References Acts::ACTS_VERBOSE(), Acts::addNoise, 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.

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator() ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result,
const Logger  
) const
inline

Kalman actor operation.

Template Parameters
propagator_state_tis the type of Propagator state
stepper_tType of the stepper
navigator_tType of the navigator
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
navigatorThe navigator in use
resultis the mutable result state object

Definition at line 362 of file KalmanFitter.hpp.

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

References ACTS_ERROR, Acts::ACTS_VERBOSE(), assert, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::extensions, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::filter(), Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::finalize(), Acts::KalmanFitterResult< traj_t >::finished, Acts::KalmanFitterResult< traj_t >::fittedParameters, Acts::KalmanFitterResult< traj_t >::fittedStates, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::freeToBoundCorrection, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::inputMeasurements, Acts::KalmanFitter< propagator_t, traj_t >::isDirectNavigator, Acts::KalmanFitterResult< traj_t >::lastMeasurementIndex, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::logger(), Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::materialInteractor(), Acts::KalmanFitterResult< traj_t >::measurementHoles, Acts::KalmanFitterResult< traj_t >::measurementStates, Acts::KalmanFitterResult< traj_t >::missedActiveSurfaces, Acts::Test::navigator, Acts::OutlierFlag, Acts::KalmanFitterResult< traj_t >::passedAgainSurfaces, Acts::KalmanFitterResult< traj_t >::processedStates, Acts::KalmanFitterResult< traj_t >::result, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reverse(), Acts::KalmanFitterResult< traj_t >::reversed, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reversedFilter(), Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reversedFiltering, physmon_simulation::s, Acts::KalmanFitterResult< traj_t >::smoothed, filter::state, propagation_timing::stepper, writeMapConfig::surface, Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::targetReached, and Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::targetSurface.

+ Here is the call graph for this function:

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result<void> Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reverse ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result 
) const
inline

Kalman actor operation: reverse direction.

Template Parameters
propagator_state_tis the type of Propagator state
stepper_tType of the stepper
navigator_tType of the navigator
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
navigatorThe navigator in use
resultis the mutable result state object

Definition at line 537 of file KalmanFitter.hpp.

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

References ACTS_ERROR, Acts::KalmanFitterResult< traj_t >::fittedStates, Acts::KalmanFitterResult< traj_t >::lastMeasurementIndex, Acts::Test::navigator, Acts::KalmanFitterResult< traj_t >::passedAgainSurfaces, Acts::KalmanFitterResult< traj_t >::reversed, filter::state, and propagation_timing::stepper.

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

+ Here is the caller graph for this function:

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result<void> Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reversedFilter ( const Surface surface,
propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result 
) const
inline

Kalman actor operation: update in reversed direction.

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

Definition at line 707 of file KalmanFitter.hpp.

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

References ACTS_ERROR, Acts::ACTS_VERBOSE(), conf::extensions, Acts::KalmanFitterResult< traj_t >::fittedStates, Acts::MultiTrajectoryHelpers::freeFiltered(), Acts::GeometryObject::geometryId(), Acts::Surface::getSharedPtr(), Acts::MultiTrajectoryTraits::kInvalid, Acts::KalmanFitterResult< traj_t >::lastMeasurementIndex, Acts::KalmanFitter< propagator_t, traj_t >::logger(), mask, testing::internal::move(), Acts::KalmanFitterResult< traj_t >::passedAgainSurfaces, ActsTests::PropagationDatasets::pathLength, Acts::KalmanFitterResult< traj_t >::reversed, and writeMapConfig::surface.

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
const Logger* Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::actorLogger {nullptr}

The logger instance.

Definition at line 337 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::logger().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
const CalibrationContext* Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::calibrationContext {nullptr}

Calibration context for the fit.

Definition at line 348 of file KalmanFitter.hpp.

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

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
bool Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::energyLoss = true

Whether to consider energy loss.

Definition at line 321 of file KalmanFitter.hpp.

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

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
KalmanFitterExtensions<traj_t> Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::extensions

Definition at line 342 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
FreeToBoundCorrection Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::freeToBoundCorrection

Whether to include non-linear correction during global to local transformation

Definition at line 331 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
const std::map<GeometryIdentifier, SourceLink>* Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::inputMeasurements = nullptr

Allows retrieving measurements for a surface.

Definition at line 315 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
bool Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::multipleScattering = true

Whether to consider multiple scattering.

Definition at line 318 of file KalmanFitter.hpp.

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

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
std::shared_ptr<traj_t> Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::outputStates

Input MultiTrajectory.

Definition at line 334 of file KalmanFitter.hpp.

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

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
bool Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reversedFiltering = false

Whether run reversed filtering.

Definition at line 324 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
double Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reversedFilteringCovarianceScaling = 1.0

Definition at line 327 of file KalmanFitter.hpp.

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

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
SurfaceReached Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::targetReached {std::numeric_limits<double>::lowest()}

The Surface being.

Definition at line 345 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
const Surface* Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::targetSurface = nullptr

The target surface.

Definition at line 308 of file KalmanFitter.hpp.

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

Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().

template<typename propagator_t , typename traj_t >
template<typename parameters_t >
KalmanFitterTargetSurfaceStrategy Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::targetSurfaceStrategy
Initial value:
=
KalmanFitterTargetSurfaceStrategy::firstOrLast

Strategy to propagate to target surface.

Definition at line 311 of file KalmanFitter.hpp.

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


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