8 ProxyPixelTopology::ProxyPixelTopology(PixelGeomDetType
const *
type,
BoundPlane * bp)
9 :theType(type), theLength(bp->bounds().length()), theWidth(bp->bounds().
width())
17 return specificTopology().localPosition(mp);
24 if (!this->surfaceDeformation())
return specificTopology().localPosition(mp);
27 const LocalPoint posOld(specificTopology().localPosition(mp));
37 return specificTopology().localError(mp, me);
49 return specificTopology().localError(mp, me);
55 return specificTopology().measurementPosition(lp);
62 if (!this->surfaceDeformation())
return specificTopology().measurementPosition(lp);
68 return specificTopology().measurementPosition(posOrig);
74 return specificTopology().measurementError(lp, le);
81 if (!this->surfaceDeformation())
return specificTopology().measurementError(lp, le);
87 return specificTopology().measurementError(posOrig, le);
91 int ProxyPixelTopology::channel(
const LocalPoint& lp)
const
93 return specificTopology().channel(lp);
99 if (!this->surfaceDeformation())
return specificTopology().channel(lp);
105 return specificTopology().channel(posOrig);
109 std::pair<float,float> ProxyPixelTopology::pixel(
const LocalPoint& lp )
const
111 return specificTopology().pixel(lp);
115 std::pair<float,float> ProxyPixelTopology::pixel(
const LocalPoint& lp,
118 if (!this->surfaceDeformation())
return specificTopology().pixel(lp);
124 return specificTopology().pixel(posOrig);
128 float ProxyPixelTopology::localX(
const float mpX)
const
130 return specificTopology().localX(mpX);
134 float ProxyPixelTopology::localX(
const float mpX,
137 if (!this->surfaceDeformation())
return specificTopology().localX(mpX);
140 float xOld = specificTopology().localX(mpX);
143 return xOld +
corr.x();
147 float ProxyPixelTopology::localY(
const float mpY)
const
149 return specificTopology().localY(mpY);
153 float ProxyPixelTopology::localY(
const float mpY,
156 if (!this->surfaceDeformation())
return specificTopology().localY(mpY);
159 float yOld = specificTopology().localY(mpY);
162 return yOld +
corr.y();
168 void ProxyPixelTopology::setSurfaceDeformation(
const SurfaceDeformation * deformation)
170 theSurfaceDeformation = deformation;
175 ProxyPixelTopology::positionCorrection(
const LocalPoint &pos,
180 return this->surfaceDeformation()->positionCorrection(pos2D, dir,
181 theLength, theWidth);
188 return this->surfaceDeformation()->positionCorrection(trk.
point(), trk.
angles(),
189 theLength, theWidth);
const LocalTrackAngles & angles() const
const Local2DPoint & point() const