14 if (trapezoidalBounds) {
15 std::array<const float, 4>
const &
parameters = (*trapezoidalBounds).parameters();
17 auto hbotedge = parameters[0];
18 auto htopedge = parameters[1];
19 auto hapothem = parameters[3];
20 auto thickness = (*trapezoidalBounds).thickness();
31 }
else if(rectangularBounds) {
32 auto length = rectangularBounds->length();
33 auto width = rectangularBounds->width();
34 auto thickness = (*rectangularBounds).thickness();
48 float phimin = corners[0].
barePhi();
float phimax = phimin;
50 float rmin = corners[0].perp2();
float rmax = rmin;
51 for (
int i = 1;
i < 8;
i++ ) {
52 auto cPhi = corners[
i].barePhi();
55 auto z = corners[
i].z();
56 if (
z < zmin) zmin =
z;
57 if (
z > zmax) zmax =
z;
58 auto r = corners[
i].perp2();
59 if (
r < rmin) rmin =
r;
60 if (
r > rmax) rmax =
r;
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
const Bounds & bounds() const
std::pair< float, float > m_zSpan
std::pair< float, float > m_rSpan
bool phiLess(float phi1, float phi2)
void compute(Surface const &plane)
std::pair< float, float > m_phiSpan