34 const std::optional<double> midIsect =
Amg::intersect<3>(midAB, normAB, midAC, normAC);
39 m_center = midAC + (*midIsect) * normAC;
Scalar mag() const
mag method
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
const Amg::Vector3D & center() const
The center point of the circle.
const Amg::Vector3D & normal() const
The vector that is normal to the circle.
double m_radius
The radius of the circle.
Amg::Vector3D m_center
The center point of the circle.
double radius() const
The radius of the circle.
Amg::Vector3D m_normal
The plane normal of the circle.
Circle(const Amg::Vector3D &pointA, const Amg::Vector3D &pointB, const Amg::Vector3D &pointC)
Constructor taking three points in a plane If points are on a line, the plane is set to be the null v...
std::ostream & print(std::ostream &ostr) const
std::optional< double > intersect(const AmgVector(N)&posA, const AmgVector(N)&dirA, const AmgVector(N)&posB, const AmgVector(N)&dirB)
Calculates the point B' along the line B that's closest to a second line A.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Eigen::Matrix< double, 3, 1 > Vector3D
This header ties the generic definitions in this package.