13 return std::copysign(
calculatePhiWindow(maxDistance, tsos, startPlane), maxDistance.x());
30 if (yc < maxDistance.
y() && xc < maxDistance.
x())
33 auto hori = yc > maxDistance.
y();
34 auto y0 = hori ? yc + std::copysign(maxDistance.
y(), xc - maxDistance.
x()) : xc - maxDistance.
x();
35 auto x0 = hori ? xc - maxDistance.
x() : -yc - maxDistance.
y();
36 auto y1 = hori ? yc - maxDistance.
y() : xc - maxDistance.
x();
37 auto x1 = hori ? xc + maxDistance.
x() : -yc + maxDistance.
y();
39 auto sp = (x0 * x1 + y0 * y1) /
std::sqrt((x0 * x0 + y0 * y0) * (x1 * x1 + y1 * y1));
54 for (
int i = 1;
i < 4;
i++) {
55 float cPhi = corners[
i];
63 float phiWindow = phimax -
phimin;
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Point3DBase< Scalar, LocalTag > LocalPoint
LocalPoint localPosition() const
GlobalVector normalVector() const
virtual Local2DVector maximalLocalDisplacement(const TrajectoryStateOnSurface &ts, const Plane &plane) const =0
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)
float calculatePhiWindow(const MeasurementEstimator::Local2DVector &imaxDistance, const TrajectoryStateOnSurface &ts, const Plane &plane)