6 theOuterPoint(outerHit),
7 theInnerPoint(middleHit),
8 theVertexPoint(aVertex),
26 theOuterPoint(outerHit),
27 theInnerPoint(middleHit),
28 theVertexPoint(aVertex),
50 n[0] = x[1]*(y[2] - z[2]) + y[1]*(z[2] - x[2]) + z[1]*(x[2] - y[2]);
51 n[1] = -(x[0]*(y[2] - z[2]) + y[0]*(z[2] - x[2]) + z[0]*(x[2] - y[2]));
52 n[2] = x[0]*(y[1] - z[1]) + y[0]*(z[1] - x[1]) + z[0]*(x[1] - y[1]);
54 double mag2 = n[0]*n[0]+n[1]*n[1]+n[2]*n[2];
60 double c = -(n[0]*x[0] + n[1]*x[1] + n[2]*x[2]);
68 if(fabs(c + n[2]) < 1.e-5) {
75 double x0 = -n[0] / (2.*(c + n[2]));
76 double y0 = -n[1] / (2.*(c + n[2]));
78 sqrt((n[0]*n[0] + n[1]*n[1] - 4.*c*(c + n[2]))) / fabs(2.*(c + n[2]));
90 double R = aPoint.
perp();
93 if(R > 0.) phi = aPoint.
phi();
95 double fact = R/(1+R*
R);
96 riemannPoint[0] = fact*
cos(phi);
97 riemannPoint[1] = fact*
sin(phi);
98 riemannPoint[2] = fact*
R;
void createCircleParameters()
FastCircle(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex)
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
AlgebraicVector3 transform(const GlobalPoint &aPoint) const
Cos< T >::type cos(const T &t)
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
ROOT::Math::SVector< double, 3 > AlgebraicVector3
GlobalPoint theInnerPoint
GlobalPoint theOuterPoint
GlobalPoint theVertexPoint