10 <<
") or invalid radius (" <<
radius_ <<
").";
21 typedef std::pair<TrajectoryStateOnSurface, double> TsosPath;
40 TsosPath aTsosPath(
propagator.propagateWithPath(fts, *theTargetCylinder));
41 if (!aTsosPath.first.isValid()) {
43 }
else if (aTsosPath.first.globalPosition().z() < theTargetPlaneMin->position().z()) {
47 aTsosPath =
propagator.propagateWithPath(fts, *theTargetPlaneMin);
48 if (!aTsosPath.first.isValid() || aTsosPath.first.globalPosition().perp() > theTargetCylinder->radius()) {
51 }
else if (aTsosPath.first.globalPosition().z() > theTargetPlaneMax->position().z()) {
53 aTsosPath =
propagator.propagateWithPath(fts, *theTargetPlaneMax);
54 if (!aTsosPath.first.isValid() || aTsosPath.first.globalPosition().perp() > theTargetCylinder->radius()) {
61 Cand =
GlobalVector(aTsosPath.first.globalPosition().x(),
62 aTsosPath.first.globalPosition().y(),
63 aTsosPath.first.globalPosition().z());
double radius_
whether or not propagation should ignore material
static PlanePointer build(Args &&... args)
static CylinderPointer build(const PositionType &pos, const RotationType &rot, Scalar radius, Bounds *bounds=nullptr)
bool propagate(const GlobalPoint &vertex, GlobalVector &Cand, int charge, const MagneticField *bField) const
Global3DVector GlobalVector