13 float dx = plane.bounds().width()/2.;
14 float dy = plane.bounds().length()/2.;
16 std::vector<Surface::GlobalPoint> corners(4);
17 corners[0] = plane.toGlobal(
LocalPoint( -dx, -dy, 0));
18 corners[1] = plane.toGlobal(
LocalPoint( -dx, dy, 0));
19 corners[2] = plane.toGlobal(
LocalPoint( dx, -dy, 0));
20 corners[3] = plane.toGlobal(
LocalPoint( dx, dy, 0));
22 float phimin = corners[0].phi();
float phimax = phimin;
23 float rmin = corners[0].perp();
float rmax = rmin;
24 for (
int i=1;
i<4;
i++) {
25 float phi = corners[
i].phi();
26 if (
PhiLess()( phi, phimin)) phimin = phi;
27 if (
PhiLess()( phimax, phi)) phimax = phi;
32 float r = corners[
i].perp();
33 if ( r < rmin) rmin =
r;
34 if ( r > rmax) rmax =
r;
37 theRRange.first = rmin;
38 theRRange.second = rmax;
39 thePhiRange.first = phimin;
40 thePhiRange.second = phimax;
GlobalDetRangeRPhi(const Plane &det)
Geom::Phi< T > phi() const