11#include <tracking/trackFindingVXD/filterMap/filterFramework/SelectionVariable.h>
12#include <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleCenterXY.h>
13#include <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleRadius.h>
14#include <tracking/trackFindingVXD/filterMap/twoHitVariables/CosDirectionXY.h>
15#include <framework/geometry/B2Vector3.h>
18#define DELTASLOPEZOVERS_NAME DeltaSlopeZoverS
30 template <
typename Po
intType >
38 static double value(
const PointType&
outerHit,
const PointType& centerHit,
const PointType& innerHit)
42 double circleRadius = CircleRadius<PointType>::calcAvgDistanceXY(
outerHit, centerHit, innerHit, cCenter);
46 B2Vector3D vecCenter2cC((centerHit.X() - cCenter.
X()),
47 (centerHit.Y() - cCenter.
Y()),
48 (centerHit.Z() - cCenter.
Z()));
49 B2Vector3D vecInner2cC((innerHit.X() - cCenter.
X()),
50 (innerHit.Y() - cCenter.
Y()),
51 (innerHit.Z() - cCenter.
Z()));
55 double alfaOCr = acos(CosDirectionXY<B2Vector3D>::value(vecOuter2cC, vecCenter2cC)) * circleRadius ;
56 double alfaCIr = acos(CosDirectionXY<B2Vector3D>::value(vecCenter2cC, vecInner2cC)) * circleRadius ;
59 double result = (asin(
double(
outerHit.
Z() - centerHit.Z()) / alfaOCr)) - asin(
double(centerHit.Z() - innerHit.Z()) / alfaCIr);
61 return (std::isnan(result) || std::isinf(result)) ?
double(0) : result;
DataType Z() const
access variable Z (= .at(2) without boundary check)
DataType X() const
access variable X (= .at(0) without boundary check)
DataType Y() const
access variable Y (= .at(1) without boundary check)
compares the "slopes" z over arc length.
PUT_NAME_FUNCTION(DELTASLOPEZOVERS_NAME)
is replaced by "static const std:string name(void)" frunction which returns name of the Class
static double value(const PointType &outerHit, const PointType ¢erHit, const PointType &innerHit)
compares the "slopes" z over arc length.
Base class of the selection variable objects used for pair filtering.
B2Vector3D outerHit(0, 0, 0)
testing out of range behavior
Abstract base class for different kinds of events.