CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GlobalDetRangeRPhi.cc
Go to the documentation of this file.
5 #include <functional>
6 #include <cmath>
7 #include <vector>
8 
9 using namespace std;
10 
12 
13  float dx = plane.bounds().width()/2.;
14  float dy = plane.bounds().length()/2.;
15 
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));
21 
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;
28 
29 // if ( phi < phimin) phimin = phi;
30 // if ( phi > phimax) phimax = phi;
31 
32  float r = corners[i].perp();
33  if ( r < rmin) rmin = r;
34  if ( r > rmax) rmax = r;
35  }
36 
37  theRRange.first = rmin;
38  theRRange.second = rmax;
39  thePhiRange.first = phimin;
40  thePhiRange.second = phimax;
41 
42 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
int i
Definition: DBlmapReader.cc:9
virtual float length() const =0
GlobalDetRangeRPhi(const BoundPlane &det)
const Bounds & bounds() const
Definition: BoundSurface.h:89
Local3DPoint LocalPoint
Definition: LocalPoint.h:11
virtual float width() const =0
Definition: DDAxes.h:10