19 if (fabs(b.
x()) > fabs(b.
y())) {
20 double k = c.
x() / b.
x();
21 double div = 2 * (k * b.
y() - c.
y());
22 if (fabs(div) < precision)
25 oY = (k * b2 - c2) / div;
26 oX = b2 / (2 * b.
x()) - b.
y() / b.
x() * oY;
30 double k = c.
y() / b.
y();
31 double div = 2 * (k * b.
x() - c.
x());
32 if (fabs(div) < precision)
35 oX = (k * b2 - c2) / div;
36 oY = b2 / (2 * b.
y()) - b.
x() / b.
y() * oX;
42 double xC = oX + offset.
x();
43 double yC = oY + offset.
y();
const edm::EventSetup & c
CircleFromThreePoints()
dummy
T y() const
Cartesian y coordinate.
void init(const Vector2D &b, const Vector2D &c, const Vector2D &offset, double precision)
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
Basic2DVector< float > Vector2D
static constexpr float b2
T x() const
Cartesian x coordinate.