11#include <tracking/trackFindingVXD/filterMap/filterFramework/SelectionVariable.h>
12#include <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleCenterXY.h>
13#include <framework/geometry/B2Vector3.h>
15#define CIRCLERADIUS_NAME CircleRadius
26 template <
typename Po
intType >
35 static double value(
const PointType&
outerHit,
const PointType& centerHit,
const PointType& innerHit)
37 B2Vector3D circleCenter = CircleCenterXY<PointType>::value(
outerHit, centerHit, innerHit);
51 return (
sqrt(std::pow(center.
X() - a.X(), 2) + std::pow(center.
Y() - a.Y(), 2)) +
52 sqrt(std::pow(center.
X() - b.X(), 2) + std::pow(center.
Y() - b.Y(), 2)) +
53 sqrt(std::pow(center.
X() - c.X(), 2) + std::pow(center.
Y() - c.Y(), 2))) / 3.;
DataType X() const
access variable X (= .at(0) without boundary check)
DataType Y() const
access variable Y (= .at(1) without boundary check)
calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm.
PUT_NAME_FUNCTION(CIRCLERADIUS_NAME)
is replaced by "static const std:string name(void)" frunction which returns name of the Class
static double calcAvgDistanceXY(const PointType &a, const PointType &b, const PointType &c, const B2Vector3D ¢er)
helper function with calculates the average distance in XY from the given center
static double value(const PointType &outerHit, const PointType ¢erHit, const PointType &innerHit)
calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm.
Base class of the selection variable objects used for pair filtering.
double sqrt(double a)
sqrt for double
B2Vector3D outerHit(0, 0, 0)
testing out of range behavior
Abstract base class for different kinds of events.