10#include <tracking/trackFindingCDC/filters/base/RelationFilter.dcl.h>
11#include <tracking/ckf/svd/entities/CKFToSVDState.h>
19 template <
class AFilter,
class APrefilter = AFilter>
25 using Super::operator();
35 const std::vector<CKFToSVDState*>& states)
const final;
Specialized CKF State for extrapolating into the SVD.
Base filter for CKF SVD states.
int m_param_hitJumping
Parameter: Make it possible to jump over N layers.
APrefilter m_prefilter
Loose pre-filter to reject possibleTos.
AFilter m_filter
Filter for rejecting the states.
std::map< short, unsigned long > m_maximalLadderCache
Cached number of ladders per layer.
The Module parameter list class.
Base class for filtering the neighborhood of objects.
void beginRun() final
Initialize the maximal ladder cache.
LayerSVDRelationFilter()
Add the filter as listener.
std::vector< CKFToSVDState * > getPossibleTos(CKFToSVDState *from, const std::vector< CKFToSVDState * > &states) const final
Return all states the given state is possible related to.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters of the filter.
~LayerSVDRelationFilter()
Default destructor.
TrackFindingCDC::Weight operator()(const CKFToSVDState &from, const CKFToSVDState &to) final
Give a final weight to the possibilities by asking the filter.
Abstract base class for different kinds of events.