10 <<
") or invalid radius (" <<
radius_ <<
").";
21 typedef std::pair<TrajectoryStateOnSurface, double> TsosPath;
41 if (!aTsosPath.first.isValid()) {
43 }
else if (aTsosPath.first.globalPosition().z() < theTargetPlaneMin->position().z()) {
48 if (!aTsosPath.first.isValid() || aTsosPath.first.globalPosition().perp() > theTargetCylinder->radius()) {
51 }
else if (aTsosPath.first.globalPosition().z() > theTargetPlaneMax->position().z()) {
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)
bool propagate(const GlobalPoint &vertex, GlobalVector &Cand, int charge, const MagneticField *bField) const
static CylinderPointer build(const PositionType &pos, const RotationType &rot, Scalar radius, Bounds *bounds=nullptr)
std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &ftsStart, const Plane &pDest) const override
void setMaterialMode(bool noMaterial)
Switch for material effects mode: no material effects if true.
void setNoErrorPropagation(bool noErrorPropagation)
Force no error propagation.
Global3DVector GlobalVector