35 if (yc<maxDistance.
y() && xc<maxDistance.
x())
return M_PI;
37 auto hori = yc>maxDistance.
y();
38 auto y0 = hori ? yc + std::copysign(maxDistance.
y(), xc - maxDistance.
x()) : xc - maxDistance.
x();
39 auto x0 = hori ? xc - maxDistance.
x() : -yc - maxDistance.
y();
40 auto y1 = hori ? yc - maxDistance.
y() : xc - maxDistance.
x();
41 auto x1 = hori ? xc + maxDistance.
x() : -yc + maxDistance.
y();
43 auto sp = (x0*x1+y0*y1)/
std::sqrt((x0*x0+y0*y0)*(x1*x1+y1*y1));
60 for (
int i = 1;
i<4;
i++) {
61 float cPhi = corners[
i];
66 if ( phiWindow < 0.) { phiWindow += 2.*
Geom::pi();}
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
LocalPoint localPosition() const
GlobalVector normalVector() const
Global3DPoint GlobalPoint
const Plane & surface() const
The nominal surface of the GeomDet.
float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
LocalPoint toLocal(const GlobalPoint &gp) const
Abs< T >::type abs(const T &t)
bool phiLess(float phi1, float phi2)
virtual Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const Plane &plane) const =0
float calculatePhiWindow(const MeasurementEstimator::Local2DVector &imaxDistance, const TrajectoryStateOnSurface &ts, const Plane &plane)