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
>
classActs::CombinatorialKalmanFilter
::
Actor
¶ Propagator Actor plugin for the CombinatorialKalmanFilter.
The CombinatorialKalmanFilterActor does not rely on the measurements to be sorted along the track.
- Template Parameters
source_link_t
: is an type fulfilling theSourceLinkConcept
parameters_t
: The type of parameters used for “local” paremeters.
Public Types
-
using
BoundState
= std::tuple<BoundParameters, BoundMatrix, double>¶
-
using
CurvilinearState
= std::tuple<CurvilinearParameters, 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) 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 state
-
size_t
addPassiveState
(const TrackStatePropMask &stateMask, const CurvilinearState &curvilinearState, result_type &result, size_t prevTip = SIZE_MAX) 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 state
-
Result<std::pair<size_t, TipState>>
addSourcelinkState
(const TrackStatePropMask &stateMask, const BoundState &boundState, const source_link_t &sourcelink, bool isOutlier, result_type &result, std::reference_wrapper<const GeometryContext> geoContext, const size_t &prevTip, const TipState &prevTipState, size_t neighborTip = SIZE_MAX, size_t sharedTip = SIZE_MAX) 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 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 link
-
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
: is the type of 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
: 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
>
voidreset
(propagator_state_t &state, stepper_t &stepper, result_type &result) const¶ Kalman actor operation : reset propagation.
- 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
Public Members
-
bool
energyLoss
= true¶ Whether to consider energy loss.
-
std::unordered_map<const Surface*, 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 Measuremetn calibrator.
-
smoother_t
m_smoother
¶ The CombinatorialKalmanFilter smoother.
-
source_link_selector_t
m_sourcelinkSelector
¶ The source link selector.
-
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.