19 Nop& operator=(
int) {
return *
this; }
20 void operator++(
int) {}
23 using VAR =
long long;
48 std::cout <<
"Geom checker " <<
ntot <<
' ' << nf1 <<
' ' << nf2 <<
' ' << ns1 <<
' ' << ns2 <<
' ' << ns11 <<
' '
49 << ns21 <<
' ' << nth <<
' ' << nle << std::endl;
76 float sagitta = 99999999.0f;
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;
114 return std::make_pair(
false,
std::move(propSt));
120 if (close && (!isIn) && (!es))
122 if (close && es && (!isIn)) {
125 return std::make_pair(es,
std::move(propSt));
float minTolerance2() const
Global3DPoint GlobalPoint
GlobalPoint globalPosition() const
virtual PropagationDirection propagationDirection() const final
float transverseCurvature() const
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)
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
const GlobalTrajectoryParameters & globalParameters() const
T perp2() const
Squared magnitude of transverse component.
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
GlobalVector globalMomentum() const
const BasicVectorType & basicVector() const
const Plane & specificSurface() const
Same as surface(), kept for backward compatibility.