22 vector<const GeomDet*> comps = basicComponents();
25 float theRmin = comps.front()->position().perp();
26 float theRmax = theRmin;
27 float theZmin = comps.front()->position().z();
28 float theZmax = theZmin;
29 for (vector<const GeomDet*>::const_iterator deti = comps.begin(); deti != comps.end(); deti++) {
30 vector<GlobalPoint> corners =
BoundingBox().
corners(dynamic_cast<const Plane&>((*deti)->surface()));
31 for (vector<GlobalPoint>::const_iterator ic = corners.begin(); ic != corners.end(); ic++) {
34 theRmin =
min(theRmin,
r);
35 theRmax =
max(theRmax,
r);
36 theZmin =
min(theZmin, z);
37 theZmax =
max(theZmax, z);
42 float rdet = (**deti).position().perp();
43 float thick = (**deti).surface().bounds().thickness();
44 theRmin =
min(theRmin, rdet - thick / 2.
F);
45 theRmax =
max(theRmax, rdet + thick / 2.
F);
63 edm::LogError(
"DetLayers") <<
"ERROR: BarrelDetLayer::compatible() is used before the layer surface is initialized";
72 auto deltaZ = 0.5f * bounds().length();
74 return make_pair(
true, myState);
85 return make_pair(
z0 < deltaZ, myState);