7 theOuterPoint(outerHit),
8 theInnerPoint(middleHit),
9 theVertexPoint(aVertex),
51 float fact = 1.f/(1.f+R2);
52 riemannPoint[0] = fact*
p.x();
53 riemannPoint[1] = fact*
p.y();
54 riemannPoint[2] = fact*R2;
70 n[0] = x[1]*(y[2] - z[2]) + y[1]*(z[2] - x[2]) + z[1]*(x[2] - y[2]);
71 n[1] = -(x[0]*(y[2] - z[2]) + y[0]*(z[2] - x[2]) + z[0]*(x[2] - y[2]));
72 n[2] = x[0]*(y[1] - z[1]) + y[0]*(z[1] - x[1]) + z[0]*(x[1] - y[1]);
74 double mag2 = n[0]*n[0]+n[1]*n[1]+n[2]*n[2];
80 double c = -(n[0]*x[0] + n[1]*x[1] + n[2]*x[2]);
88 if(fabs(c + n[2]) < 1.e-5) {
95 double x0 = -n[0] / (2.*(c + n[2]));
96 double y0 = -n[1] / (2.*(c + n[2]));
98 sqrt((n[0]*n[0] + n[1]*n[1] - 4.*c*(c + n[2]))) / fabs(2.*(c + n[2]));
void createCircleParameters()
FastCircle(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex)
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
ROOT::Math::SVector< double, 3 > AlgebraicVector3
GlobalPoint theInnerPoint
GlobalPoint theOuterPoint
GlobalPoint theVertexPoint
const BasicVectorType & basicVector() const