18 Nop& operator=(
int) {
return *
this; }
19 void operator++(
int) {}
22 using VAR =
long long;
47 std::cout <<
"Geom checker " << ntot <<
' ' << nf1 <<
' ' << nf2 <<
' ' << ns1 <<
' ' << ns2 <<
' ' << ns11 <<
' ' 48 << ns21 <<
' ' << nth <<
' ' << nle << std::endl;
75 float sagitta = 99999999;
83 auto path = crossing.pathLength(plane);
88 auto gpos =
GlobalPoint(crossing.position(path.second));
92 close = sagitta < sagCut;
93 LogDebug(
"TkDetLayer") <<
"GeomDetCompatibilityChecker: sagitta " << sagitta << std::endl;
96 auto pos = plane.toLocal(
GlobalPoint(crossing.position(path.second)));
98 auto tollL2 =
std::max(sagitta * sagitta, minTol2);
100 isIn = plane.bounds().inside(
pos, toll);
103 LogDebug(
"TkDetLayer") <<
"GeomDetCompatibilityChecker: not in " <<
pos << std::endl;
115 return std::make_pair(
false,
std::move(propSt));
121 if (close && (!isIn) && (!es))
123 if (close && es && (!isIn)) {
126 return std::make_pair(es,
std::move(propSt));
float minTolerance2() const
Global3DPoint GlobalPoint
GlobalPoint globalPosition() const
float transverseCurvature() const
virtual PropagationDirection propagationDirection() const final
static std::pair< bool, TrajectoryStateOnSurface > isCompatible(const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est)
Abs< T >::type abs(const T &t)
const GlobalTrajectoryParameters & globalParameters() const
T perp2() const
Squared magnitude of transverse component.
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
GlobalVector globalMomentum() const
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
const BasicVectorType & basicVector() const
const Plane & specificSurface() const
Same as surface(), kept for backward compatibility.