5 : theOuterPoint(outerHit),
6 theInnerPoint(middleHit),
7 theVertexPoint(aVertex),
24 : theOuterPoint(outerHit),
25 theInnerPoint(middleHit),
26 theVertexPoint(aVertex),
45 float fact = 1.f / (1.f + R2);
46 riemannPoint[0] = fact *
p.x();
47 riemannPoint[1] = fact *
p.y();
48 riemannPoint[2] = fact * R2;
62 n[0] = x[1] * (y[2] - z[2]) + y[1] * (z[2] - x[2]) + z[1] * (x[2] - y[2]);
63 n[1] = -(x[0] * (y[2] - z[2]) + y[0] * (z[2] - x[2]) + z[0] * (x[2] - y[2]));
64 n[2] = x[0] * (y[1] - z[1]) + y[0] * (z[1] - x[1]) + z[0] * (x[1] - y[1]);
66 double mag2 = n[0] * n[0] + n[1] * n[1] + n[2] * n[2];
72 double c = -(n[0] * x[0] + n[1] * x[1] + n[2] * x[2]);
80 if (fabs(c + n[2]) < 1.e-5) {
88 double x0 = -n[0] / (2. * (c + n[2]));
89 double y0 = -n[1] / (2. * (c + n[2]));
90 double rho =
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)
GlobalPoint theInnerPoint
GlobalPoint theOuterPoint
GlobalPoint theVertexPoint
ROOT::Math::SVector< double, 3 > AlgebraicVector3
const BasicVectorType & basicVector() const