13 #include <tracking/trackFindingVXD/filterMap/filterFramework/SelectionVariable.h>
14 #include <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleCenterXY.h>
15 #include <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleRadius.h>
16 #include <framework/geometry/B2Vector3.h>
18 #define DELTACIRCLERADIUS_NAME DeltaCircleRadius
28 template <
typename Po
intType >
38 static double value(
const PointType& outerHit,
const PointType& outerCenterHit,
const PointType& innerCenterHit,
39 const PointType& innerHit)
42 B2Vector3D outerCircleCenter = CircleCenterXY<PointType>::value(outerHit, outerCenterHit, innerCenterHit);
43 double outerCircleRadius =
44 CircleRadius<PointType>::calcAvgDistanceXY(outerHit, outerCenterHit, innerCenterHit, outerCircleCenter);
46 B2Vector3D innerCircleCenter = CircleCenterXY<PointType>::value(outerCenterHit, innerCenterHit, innerHit);
47 double innerCircleRadius =
48 CircleRadius<PointType>::calcAvgDistanceXY(outerCenterHit, innerCenterHit, innerHit, innerCircleCenter);
50 return outerCircleRadius - innerCircleRadius;