12 #include <tracking/ckf/general/findlets/LayerToggledApplier.dcl.h>
13 #include <tracking/ckf/general/findlets/OnStateApplier.icc.h>
14 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
22 template <
class AState,
class AFindlet>
32 template <
class AState,
class AFindlet>
34 const std::string& prefix)
36 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"toggleOnLayer"),
37 m_param_toggleOnLayer,
"Where to toggle between low, equal and high filter",
38 m_param_toggleOnLayer);
40 m_highLayerFindlet.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(prefix,
"high"));
41 m_equalLayerFindlet.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(prefix,
"equal"));
42 m_lowLayerFindlet.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(prefix,
"low"));
46 template <
class AState,
class AFindlet>
50 const AState* previousState = currentPath.back();
51 const int layer = previousState->getGeometricalLayer();
53 if (layer > m_param_toggleOnLayer) {
54 m_highLayerFindlet.apply(currentPath, childStates);
55 }
else if (layer == m_param_toggleOnLayer) {
56 m_equalLayerFindlet.apply(currentPath, childStates);
58 m_lowLayerFindlet.apply(currentPath, childStates);