16 struct Nop { Nop(
int=0){} Nop& operator=(
int){
return *
this;}
void operator++(
int){}};
43 ~Stat() {
std::cout <<
"Geom checker " << ntot<<
' '<< nf1<<
' '<< nf2 <<
' '<< ns1<<
' '<< ns2 <<
' ' << ns11 <<
' '<< ns21 <<
' ' << nth <<
' ' << nle <<std::endl;}
47 [[cms::thread_safe]] Stat stat;
51 std::pair<bool, TrajectoryStateOnSurface>
70 float sagitta=99999999;
76 auto path = crossing.pathLength(plane);
80 auto gpos =
GlobalPoint(crossing.position(path.second));
84 close = sagitta<sagCut;
87 auto pos = plane.toLocal(
GlobalPoint(crossing.position(path.second)));
89 auto tollL2 =
std::max(sagitta*sagitta,minTol2);
91 isIn = plane.bounds().inside(pos,toll);
92 if (!isIn) { stat.ns2++;
106 if (close && (!isIn) && (!es) ) stat.ns11++;
107 if (close && es &&(!isIn)) { stat.ns21++; }
108 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.