Template Class CombinatorialKalmanFilter::Actor¶
Defined in File CombinatorialKalmanFilter.hpp
Nested Relationships¶
This class is a nested type of Template Class CombinatorialKalmanFilter.
Class Documentation¶
-
template<typename
source_link_t
, typenameparameters_t
, typenamecalibrator_t
, typenamemeasurement_selector_t
>
classActs::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.
- Template Parameters
source_link_t
: is an type fulfilling theSourceLinkConcept
parameters_t
: The type of parameters used for “local” paremeters.calibrator_t
: The type of source link calibrator.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<source_link_t>¶ Broadcast the result_type.
-
using
TipState
= CombinatorialKalmanFilterTipState¶
Public Functions
-
size_t
addHoleState
(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.
- Return
The tip of added state
- Parameters
stateMask
: The bitmask that instructs which components to allocateboundState
: The bound state on current surfaceresult
: is the mutable result state object and which to leave invalidprevTip
: The index of the previous statelogger
: The logger wrapper
-
size_t
addPassiveState
(const TrackStatePropMask &stateMask, const CurvilinearState &curvilinearState, result_type &result, size_t prevTip = SIZE_MAX, LoggerWrapper logger = getDummyLogger()) const¶ CombinatorialKalmanFilter actor operation : add passive track state.
- Return
The tip of added state
- Parameters
stateMask
: The bitmask that instructs which components to allocatecurvilinearState
: The curvilinear state on in-sensive material surfaceresult
: is the mutable result state object and which to leave invalidprevTip
: The index of the previous statelogger
: The logger wrapper
-
Result<std::pair<size_t, TipState>>
addSourcelinkState
(const TrackStatePropMask &stateMask, const BoundState &boundState, const source_link_t &sourcelink, const BoundVariantMeasurement<source_link_t> &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.
- Return
The tip of added state and its state
- Parameters
stateMask
: The bitmask that instructs which components to allocate and which to leave invalidboundState
: The bound state on current surfacesourcelink
: The source link to be storedmeasurement
: The calibrated measurement to be storedisOutlier
: Indicator for outlier or notresult
: is the mutable result state objectgeoContext
: The geometry context (needed for Kalman update)neighborTip
: The neighbor state tip on this surface (the predicted parameters could be shared between neighbors)sharedTip
: The tip of state with shared source linklogger
: The logger wrapper
-
template<typename
propagator_state_t
, typenamestepper_t
>
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 statestepper_t
: Type of the stepper
- Parameters
surface
: The surface where the update happensstate
: The mutable propagator state objectstepper
: The stepper in useresult
: The mutable result state object
-
template<typename
propagator_state_t
, typenamestepper_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 statestepper_t
: Type of the stepper
- Parameters
state
: is the mutable propagator state objectstepper
: The stepper in useresult
: is the mutable result state object
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidmaterialInteractor
(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 statestepper_t
: Type of the stepper
- Parameters
surface
: The surface where the material interaction happensstate
: The mutable propagator state objectstepper
: The stepper in useupdateStage
: The materal update stage
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidoperator()
(propagator_state_t &state, const stepper_t &stepper, result_type &result) const¶ CombinatorialKalmanFilter actor operation.
- Template Parameters
propagator_state_t
: Type of the Propagagor statestepper_t
: Type of the stepper
- Parameters
state
: is the mutable propagator state objectstepper
: is the stepper in useresult
: is the mutable result state object
-
template<typename
propagator_state_t
, typenamestepper_t
>
voidreset
(propagator_state_t &state, stepper_t &stepper, result_type &result) const¶ Kalman actor operation : reset propagation.
- Template Parameters
propagator_state_t
: Type of Propagagor statestepper_t
: Type of the stepper
- Parameters
state
: is the mutable propagator state objectstepper
: is the stepper in useresult
: is the mutable result state object
Public Members
-
bool
energyLoss
= true¶ Whether to consider energy loss.
-
const std::unordered_map<GeometryIdentifier, std::vector<source_link_t>> *
inputMeasurements
¶ Allows retrieving measurements for a surface.
-
branch_stopper_t
m_branchStopper
¶ The branch propagation stopper.
-
calibrator_t
m_calibrator
¶ The measurement calibrator.
-
measurement_selector_t
m_measurementSelector
¶ The measurement selector.
-
smoother_t
m_smoother
¶ The CombinatorialKalmanFilter smoother.
-
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.