10#include <tracking/ckf/general/findlets/OnStateApplier.dcl.h>
11#include <tracking/trackingUtilities/numerics/WeightComperator.h>
12#include <tracking/trackingUtilities/utilities/Algorithms.h>
19 template <
class AState>
23 if (childStates.empty()) {
28 AState& state = *stateWithWeight;
29 const TrackingUtilities::Weight& weight = this->
operator()({currentPath, &state});
30 stateWithWeight.setWeight(weight);
33 TrackingUtilities::erase_remove_if(childStates, TrackingUtilities::HasNaNWeight());
36 template <
class AState>
std::pair< const std::vector< TrackingUtilities::WithWeight< const AState * > >, AState * > Object
The object this filter refers to.
A mixin class to attach a weight to an object.
virtual TrackingUtilities::Weight operator()(const Object &object)
The filter operator for this class.
void apply(const std::vector< TrackingUtilities::WithWeight< const AState * > > ¤tPath, std::vector< TrackingUtilities::WithWeight< AState * > > &childStates) override
Apply the () operator to all pairs of state and current path.
Abstract base class for different kinds of events.