8#include <tracking/ckf/svd/filters/states/AllSVDStateFilter.h>
9#include <tracking/ckf/svd/entities/CKFToSVDState.h>
14using namespace TrackFindingCDC;
19 const std::vector<TrackFindingCDC::WithWeight<const CKFToSVDState*>>& previousStates =
pair.first;
22 if (previousStates.size() < 3) {
27 const CKFToSVDState* previousToPreviousState = previousStates[previousStates.size() - 2];
33 if (std::count(previousStates.begin(), previousStates.end(), currentState)) {
34 B2FATAL(
"Have found a cycle!");
TrackFindingCDC::Weight operator()(const BaseSVDStateFilter::Object &pair) override
Function to evaluate the object.
Specialized CKF State for extrapolating into the SVD.
unsigned int getGeometricalLayer() const
Extract the real layer this state sits on.
std::pair< const std::vector< TrackFindingCDC::WithWeight< const CKFToSVDState * > >, CKFToSVDState * > Object
Abstract base class for different kinds of events.