12 <<
") smaller than CalMinZ ("
13 <<
minZ_ <<
") or invalid radius ("
28 typedef std::pair<TrajectoryStateOnSurface, double> TsosPath;
50 if (!aTsosPath.first.isValid()) {
52 }
else if (aTsosPath.first.globalPosition().z() < theTargetPlaneMin->position().z()) {
57 if (!aTsosPath.first.isValid()
58 || aTsosPath.first.globalPosition().perp() > theTargetCylinder->radius()) {
61 }
else if (aTsosPath.first.globalPosition().z() > theTargetPlaneMax->position().z()) {
64 if (!aTsosPath.first.isValid()
65 || aTsosPath.first.globalPosition().perp() > theTargetCylinder->radius()) {
72 Cand =
GlobalVector(aTsosPath.first.globalPosition().x(),
73 aTsosPath.first.globalPosition().y(),
74 aTsosPath.first.globalPosition().z() );
double radius_
whether or not propagation should ignore material
static CylinderPointer build(const PositionType &pos, const RotationType &rot, Scalar radius, Bounds *bounds=0)
static PlanePointer build(Args &&...args)
bool propagate(const GlobalPoint &vertex, GlobalVector &Cand, int charge, const MagneticField *bField) const
virtual 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