7 RectangularStripTopology::RectangularStripTopology(
int ns,
float p,
float l) :
8 thePitch(p), theNumberOfStrips(ns), theStripLength(l) {
9 theOffset = -0.5f*theNumberOfStrips * thePitch;
12 cout <<
"Constructing RectangularStripTopology with"
21 RectangularStripTopology::localPosition(
float strip)
const {
22 return LocalPoint( strip*thePitch + theOffset, 0.0
f);
27 return LocalPoint( mp.
x()*thePitch+theOffset, mp.
y()*theStripLength);
31 RectangularStripTopology::localError(
float ,
float stripErr2)
const{
32 return LocalError(stripErr2 * thePitch*thePitch,
34 theStripLength*theStripLength*(1.
f/12.
f));
41 merr.
uv() * thePitch*theStripLength,
42 merr.
vv() * theStripLength*theStripLength);
46 RectangularStripTopology::strip(
const LocalPoint& lp)
const {
47 float aStrip = (lp.
x() - theOffset) / thePitch;
48 if (aStrip < 0 ) aStrip = 0;
49 else if (aStrip > theNumberOfStrips) aStrip = theNumberOfStrips;
55 return (lp1.
x()-lp2.
x())/thePitch;
59 RectangularStripTopology::measurementPosition(
const LocalPoint& lp)
const {
61 lp.
y()/theStripLength);
65 RectangularStripTopology::measurementError(
const LocalPoint& ,
68 lerr.
xy()/(thePitch*theStripLength),
69 lerr.
yy()/(theStripLength*theStripLength));
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.