8#include <tracking/ckf/svd/filters/relations/DistanceSVDPairFilter.h>
9#include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
11#include <tracking/spacePointCreation/SpacePoint.h>
14using namespace TrackFindingCDC;
16TrackFindingCDC::Weight
22 const CKFToSVDState::stateCache& fromStateCache = fromState.
getStateCache();
23 const CKFToSVDState::stateCache& toStateCache = toState.
getStateCache();
25 B2ASSERT(
"You have filled the wrong states into this!", toStateCache.isHitState);
27 float phiDiff = fromStateCache.phi - toStateCache.phi;
28 while (phiDiff > M_PI) phiDiff -= 2. * M_PI;
29 while (phiDiff < -M_PI) phiDiff += 2. * M_PI;
31 if (not fromStateCache.isHitState) {
33 if (fabs(phiDiff) < 0.2f and fabs(fromStateCache.theta - toStateCache.theta) < 0.2f) {
41 if (fromStateCache.geoLayer == toStateCache.geoLayer and
42 fromStateCache.sensorID.getSensorNumber() == toStateCache.sensorID.getSensorNumber()) {
48 if (abs(phiDiff) < 0.2f) {
Specialized CKF State for extrapolating into the SVD.
const struct stateCache & getStateCache() const
Get the cached data of this state.
TrackFindingCDC::Weight operator()(const std::pair< const CKFToSVDState *, const CKFToSVDState * > &relation) override
Return the weight based on azimuthal-angle separation.
Abstract base class for different kinds of events.