Class Acts::CombinatorialKalmanFilter::Actor¶
-
template<typename source_link_accessor_t, typename parameters_t, typename calibrator_t, typename measurement_selector_t>
class Acts::CombinatorialKalmanFilter::Actor¶ Propagator Actor plugin for the CombinatorialKalmanFilter.
The Calibrator is a dedicated calibration algorithm that allows to calibrate measurements using track information, this could be e.g. sagging for wires, module deformations, etc.
The measurement selector is called during the filtering by the Actor.
- tparam source_link_accessor_t
The type of source link accessor
- tparam parameters_t
The type of parameters used for “local” paremeters.
- tparam calibrator_t
The type of source link calibrator.
- tparam measurement_selector_t
The type of the measurement selector.
The CombinatorialKalmanFilter Actor does not rely on the measurements to be sorted along the track.
Public Types
-
using BoundState = std::tuple<BoundTrackParameters, BoundMatrix, double>¶
-
using CurvilinearState = std::tuple<CurvilinearTrackParameters, BoundMatrix, double>¶
-
using result_type = CombinatorialKalmanFilterResult<SourceLink>¶
Broadcast the result_type.
-
using SourceLink = typename source_link_accessor_t::Value¶
-
using SourceLinkContainer = typename source_link_accessor_t::Container¶
-
using TipState = CombinatorialKalmanFilterTipState¶
Public Functions
-
inline size_t addNonSourcelinkState(const TrackStatePropMask &stateMask, const BoundState &boundState, result_type &result, size_t prevTip = SIZE_MAX, LoggerWrapper logger = getDummyLogger()) const¶
CombinatorialKalmanFilter actor operation : add hole track state.
- Parameters
stateMask – The bitmask that instructs which components to allocate
boundState – The bound state on current surface
result – is the mutable result state object and which to leave invalid
prevTip – The index of the previous state
logger – The logger wrapper
- Returns
The tip of added state
-
inline Result<std::pair<size_t, TipState>> addSourcelinkState(const TrackStatePropMask &stateMask, const BoundState &boundState, const SourceLink &sourcelink, const BoundVariantMeasurement<SourceLink> &measurement, bool isOutlier, result_type &result, const GeometryContext &geoContext, const size_t &prevTip, const TipState &prevTipState, size_t neighborTip = SIZE_MAX, size_t sharedTip = SIZE_MAX, LoggerWrapper logger = getDummyLogger()) const¶
CombinatorialKalmanFilter actor operation : add track state with source link: measurement or outlier.
- Parameters
stateMask – The bitmask that instructs which components to allocate and which to leave invalid
boundState – The bound state on current surface
sourcelink – The source link to be stored
measurement – The calibrated measurement to be stored
isOutlier – Indicator for outlier or not
result – is the mutable result state object
geoContext – The geometry context (needed for Kalman update)
prevTip – Previous tip index
prevTipState – Previous tip state
neighborTip – The neighbor state tip on this surface (the predicted parameters could be shared between neighbors)
sharedTip – The tip of state with shared source link
logger – The logger wrapper
- Returns
The tip of added state and its state
-
template<typename propagator_state_t, typename stepper_t>
inline Result<void> filter(const Surface *surface, propagator_state_t &state, const stepper_t &stepper, result_type &result) const¶ CombinatorialKalmanFilter actor operation :
filtering for all measurement(s) on surface
store selected track states in multiTrajectory
update propagator state to the (last) selected track state
- Template Parameters
propagator_state_t – Type of the 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>
inline 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>
inline void materialInteractor(const Surface *surface, propagator_state_t &state, stepper_t &stepper, const MaterialUpdateStage &updateStage = fullUpdate) const¶ CombinatorialKalmanFilter 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>
inline void operator()(propagator_state_t &state, const stepper_t &stepper, result_type &result) const¶ CombinatorialKalmanFilter actor operation.
- Template Parameters
propagator_state_t – Type of the Propagagor state
stepper_t – Type of the stepper
- Parameters
state – is the mutable propagator state object
stepper – is the stepper in use
result – is the mutable result state object
-
template<typename propagator_state_t, typename stepper_t>
inline void reset(propagator_state_t &state, stepper_t &stepper, result_type &result) const¶ Kalman actor operation : reset propagation.
- Template Parameters
propagator_state_t – Type of Propagagor state
stepper_t – Type of the stepper
- Parameters
state – is the mutable propagator state object
stepper – is the stepper in use
result – is the mutable result state object
Public Members
-
bool energyLoss = true¶
Whether to consider energy loss.
-
branch_stopper_t m_branchStopper¶
The branch propagation stopper.
-
calibrator_t m_calibrator¶
The source link calibrator.
-
measurement_selector_t m_measurementSelector¶
The measurement selector.
-
smoother_t m_smoother¶
The CombinatorialKalmanFilter smoother.
-
source_link_accessor_t m_sourcelinkAccessor¶
The source link accesor.
-
updater_t m_updater¶
The CombinatorialKalmanFilter updater.
-
bool multipleScattering = true¶
Whether to consider multiple scattering.
-
bool smoothing = true¶
Whether to run smoothing to get fitted parameter.
-
SurfaceReached targetReached¶
The Surface beeing.