18 const double fromSignedRadius,
19 const ROOT::Math::XYVector& toCenter,
20 const double toSignedRadius)
22 ROOT::Math::XYVector connecting = toCenter - fromCenter;
25 const double norm = connecting.R();
27 connecting *= (1. / norm);
30 double kappa = (fromSignedRadius - toSignedRadius) / norm;
31 double cokappa =
sqrt(1 - kappa * kappa);
33 ROOT::Math::XYVector fromPos = VectorUtil::compose(connecting, kappa * fromSignedRadius, cokappa * fromSignedRadius);
34 fromPos += fromCenter;
36 ROOT::Math::XYVector toPos = VectorUtil::compose(connecting, kappa * toSignedRadius, cokappa * toSignedRadius);
static ParameterLine2D touchingCircles(const ROOT::Math::XYVector &fromCenter, double fromSignedRadius, const ROOT::Math::XYVector &toCenter, double toSignedRadius)
Constructs a line touching two circles in one point each.