11 #include <tracking/trackFindingVXD/filterMap/filterFramework/SelectionVariable.h>
12 #include <framework/geometry/B2Vector3.h>
15 #define ANGLERZFULL_NAME AngleRZFull
27 template <
typename Po
intType >
35 static double value(
const PointType& outerHit,
const PointType& centerHit,
const PointType& innerHit)
38 B2Vector3D outerVector(outerHit.X() - centerHit.X(), outerHit.Y() - centerHit.Y(), outerHit.Z() - centerHit.Z());
39 B2Vector3D innerVector(centerHit.X() - innerHit.X(), centerHit.Y() - innerHit.Y(), centerHit.Z() - innerHit.Z());
44 double result = acos(CosDirectionXY<B2Vector3D>::value(rzVecAB, rzVecBC));
45 result *= double(180. / M_PI);
46 return (std::isnan(result) || std::isinf(result)) ? double(0) : result;
calculates the angle between the hits/vectors (RZ), returning unit: angle in degrees.
PUT_NAME_FUNCTION(ANGLERZFULL_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)
calculates the angle between the hits/vectors (RZ), returning unit: angle in degrees
DataType Perp() const
The transverse component (R in cylindrical coordinate system).
Base class of the selection variable objects used for pair filtering.
Abstract base class for different kinds of events.