10#include <tracking/ckf/general/findlets/StateRejecter.dcl.h>
11#include <tracking/trackFindingCDC/utilities/StringManipulation.h>
12#include <framework/logging/Logger.h>
20 template <
class AState,
class AFindlet>
31 template <
class AState,
class AFindlet>
34 m_firstFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"first", prefix));
35 m_advanceFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"advance", prefix));
36 m_secondFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"second", prefix));
37 m_updateFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"update", prefix));
38 m_thirdFilter.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"third", prefix));
41 template <
class AState,
class AFindlet>
45 B2DEBUG(29,
"Starting with " << childStates.size() <<
" states.");
46 m_firstFilter.apply(currentPath, childStates);
47 B2DEBUG(29,
"After first filter " << childStates.size() <<
" states.");
49 if (childStates.size() == 0) {
52 m_advanceFilter.apply(currentPath, childStates);
53 B2DEBUG(29,
"After advance filter " << childStates.size() <<
" states.");
55 if (childStates.size() == 0) {
58 m_secondFilter.apply(currentPath, childStates);
59 B2DEBUG(29,
"After second filter " << childStates.size() <<
" states.");
61 if (childStates.size() == 0) {
64 m_updateFilter.apply(currentPath, childStates);
65 B2DEBUG(29,
"After update filter " << childStates.size() <<
" states.");
67 if (childStates.size() == 0) {
70 m_thirdFilter.apply(currentPath, childStates);
71 B2DEBUG(29,
"After third filter " << childStates.size() <<
" states.");
The Module parameter list class.
AFilter m_updateFilter
State filter to kalman update all states.
AFilter m_secondFilter
State filter to decide which available continuations should be traversed next.
AFilter m_advanceFilter
State filter to advance all states.
AFilter m_thirdFilter
State filter to decide which available continuations should be traversed next.
AFilter m_firstFilter
State filter to decide which available continuations should be traversed next.
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
A mixin class to attach a weight to an object.
StateRejecter()
Construct this findlet and add the subfindlet as listener.
void apply(const std::vector< TrackFindingCDC::WithWeight< const AState * > > ¤tPath, std::vector< TrackFindingCDC::WithWeight< AState * > > &childStates) final
Apply all five filters to the child states.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters of the subfindlet.
Abstract base class for different kinds of events.