9 :theType(type), theLength(bp->bounds().length()), theWidth(bp->bounds().
width())
16 return specificTopology().localPosition(mp);
30 if (!this->surfaceDeformation())
return specificTopology().localPosition(mp);
33 const LocalPoint posOld(specificTopology().localPosition(mp));
42 return specificTopology().localPosition(strip);
55 if (!this->surfaceDeformation())
return specificTopology().localPosition(strip);
58 const LocalPoint posOld(specificTopology().localPosition(strip));
65 LocalError ProxyStripTopology::localError(
float strip,
float stripErr2 )
const
67 return specificTopology().localError(strip, stripErr2);
71 LocalError ProxyStripTopology::localError(
float strip,
float stripErr2,
82 return specificTopology().localError(strip, stripErr2);
89 return specificTopology().localError(mp, me);
99 return specificTopology().localError(mp, me);
105 return specificTopology().measurementPosition(lp);
112 if (!this->surfaceDeformation())
return specificTopology().measurementPosition(lp);
118 return specificTopology().measurementPosition(posOrig);
124 return specificTopology().measurementError(lp, le);
131 if (!this->surfaceDeformation())
return specificTopology().measurementError(lp, le);
139 return specificTopology().measurementError(posOrig, le);
143 int ProxyStripTopology::channel(
const LocalPoint& lp)
const
145 return specificTopology().channel(lp);
151 if (!this->surfaceDeformation())
return specificTopology().channel(lp);
157 return specificTopology().channel(posOrig);
163 return specificTopology().strip(lp);
169 if (!this->surfaceDeformation())
return specificTopology().strip(lp);
175 return specificTopology().strip(posOrig);
178 float ProxyStripTopology::pitch()
const
180 return specificTopology().pitch();
184 float ProxyStripTopology::localPitch(
const LocalPoint& lp)
const
186 return specificTopology().localPitch(lp);
192 if (!this->surfaceDeformation())
return specificTopology().localPitch(lp);
198 return specificTopology().localPitch(posOrig);
202 float ProxyStripTopology::stripAngle(
float strip )
const
204 return specificTopology().stripAngle(strip);
208 int ProxyStripTopology::nstrips()
const
210 return specificTopology().nstrips();
214 float ProxyStripTopology::stripLength()
const
216 return specificTopology().stripLength();
220 float ProxyStripTopology::localStripLength(
const LocalPoint& lp)
const
222 return specificTopology().localStripLength(lp);
228 if (!this->surfaceDeformation())
return specificTopology().localStripLength(lp);
234 return specificTopology().localStripLength(posOrig);
241 StripGeomDetType& ProxyStripTopology::specificType()
const {
return *theType;}
244 const StripTopology& ProxyStripTopology::specificTopology()
const
246 return specificType().specificTopology();
250 void ProxyStripTopology::setSurfaceDeformation(
const SurfaceDeformation * deformation)
252 theSurfaceDeformation = deformation;
257 ProxyStripTopology::positionCorrection(
const LocalPoint &
pos,
262 return this->surfaceDeformation()->positionCorrection(pos2D, dir,
263 theLength, theWidth);
270 return this->surfaceDeformation()->positionCorrection(trk.
point(), trk.
angles(),
271 theLength, theWidth);
const LocalTrackAngles & angles() const
const Local2DPoint & point() const