20 const Plane* bp =
dynamic_cast<const Plane*
>(sur);
25 return (*
this)(fts, *bc);
26 }
else if (bp !=
nullptr) {
30 return (*
this)(fts, *bp);
59 b[0] = x.
x() - sp.
x();
60 b[1] = x.
y() - sp.
y();
61 b[2] = x.
z() - sp.
z();
63 int ifail = !a.Invert();
69 const double small = 1.e-4;
70 if (fabs(b[2]) < small) {
73 }
else if (b[2] < 0.) {
89 if (sp.
x() != 0. || sp.
y() != 0.) {
96 const double small = 1.e-4;
99 if (fabs(rdiff) < small) {
103 int rSign = (rdiff >= 0.) ? 1 : -1;
111 double proj = (x.
x() * p.
x() + x.
y() * p.
y()) * rSign;
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Local3DVector LocalVector
Point3DBase< Scalar, LocalTag > LocalPoint
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepStd< double, 3, 3 > > AlgebraicMatrix33
Scalar radius() const
Radius of the cylinder.
PropagationDirection operator()(const FreeTrajectoryState &, const Surface &) const
GlobalVector momentum() const
Vector3DBase unit() const
GlobalPoint position() const
ROOT::Math::SVector< double, 3 > AlgebraicVector3