Implementation class for PhiZMeasurementEstimator etc.
Definition at line 11 of file GlobalDetRodRangeZPhi.h.
GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi |
( |
const BoundPlane & |
RodPlane | ) |
|
Definition at line 10 of file GlobalDetRodRangeZPhi.cc.
References BoundSurface::bounds(), i, Bounds::length(), PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), Bounds::thickness(), Surface::toGlobal(), Bounds::width(), and z.
12 float dx = plane.bounds().width()/2.;
13 float dy = plane.bounds().length()/2.;
14 float dz = plane.bounds().thickness()/2.;
18 float deltaZ = (plane.toGlobal(
LocalPoint( 0, 0, -dz)).perp() <
19 plane.toGlobal(
LocalPoint( 0, 0, dz)).perp() ) ? -dz : dz ;
22 vector<Surface::GlobalPoint> corners(4);
23 corners[0] = plane.toGlobal(
LocalPoint( -dx, -dy, deltaZ));
24 corners[1] = plane.toGlobal(
LocalPoint( -dx, dy, deltaZ));
25 corners[2] = plane.toGlobal(
LocalPoint( dx, -dy, deltaZ));
26 corners[3] = plane.toGlobal(
LocalPoint( dx, dy, deltaZ));
28 float phimin = corners[0].phi();
float phimax = phimin;
29 float zmin = corners[0].z();
float zmax = zmin;
30 for (
int i=1;
i<4;
i++) {
31 float phi = corners[
i].phi();
35 float z = corners[
i].z();
36 if ( z < zmin) zmin =
z;
37 if ( z > zmax) zmax =
z;