12 #include <tracking/ckf/general/findlets/LimitedOnStateApplier.dcl.h>
13 #include <tracking/trackFindingCDC/utilities/Functional.h>
14 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
16 #include <framework/core/ModuleParamList.templateDetails.h>
25 template <
class AState,
class AFilter>
28 this->addProcessingSignalListener(&m_filter);
31 template <
class AState,
class AFilter>
33 std::vector<TrackFindingCDC::WithWeight<AState*>>& childStates)
35 Super::apply(currentPath, childStates);
37 if (m_param_useNStates > 0 and childStates.size() >
static_cast<unsigned int>(m_param_useNStates)) {
39 childStates.erase(childStates.begin() + m_param_useNStates, childStates.end());
43 template <
class AState,
class AFilter>
46 return m_filter(
object);
49 template <
class AState,
class AFilter>
52 m_filter.exposeParameters(moduleParamList, prefix);
54 moduleParamList->addParameter(TrackFindingCDC::prefixed(prefix,
"useNStates"), m_param_useNStates,
"Only use the best N states",