8 #include <tracking/ckf/pxd/filters/relations/DistancePXDPairFilter.h>
9 #include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
11 #include <tracking/spacePointCreation/SpacePoint.h>
14 using namespace TrackFindingCDC;
16 TrackFindingCDC::Weight
22 const CKFToPXDState::stateCache& fromStateCache = fromState.
getStateCache();
23 const CKFToPXDState::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 (abs(phiDiff) < 0.2f) {
40 if (fromStateCache.geoLayer == toStateCache.geoLayer and
41 fromStateCache.sensorID.getSensorNumber() == toStateCache.sensorID.getSensorNumber()) {
47 if (abs(phiDiff) < 0.05f) {
Specialized CKF State for extrapolating into the PXD.
const struct stateCache & getStateCache() const
Get the cached data of this state.
TrackFindingCDC::Weight operator()(const std::pair< const CKFToPXDState *, const CKFToPXDState * > &relation) override
Return the weight based on azimuthal-angle separation.
Abstract base class for different kinds of events.