CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ProxyStripTopology Class Referencefinal

#include <ProxyStripTopology.h>

Inheritance diagram for ProxyStripTopology:
StripTopology Topology

Public Member Functions

virtual int channel (const LocalPoint &lp) const
 
virtual int channel (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const
 conversion taking also the angle from the track state More...
 
virtual float coveredStrips (const LocalPoint &lp1, const LocalPoint &lp2) const
 
virtual LocalError localError (float strip, float stripErr2) const
 
virtual LocalError localError (float strip, float stripErr2, const Topology::LocalTrackPred &trkPred) const
 conversion taking also the predicted track state More...
 
virtual LocalError localError (const MeasurementPoint &mp, const MeasurementError &me) const
 
virtual LocalError localError (const MeasurementPoint &mp, const MeasurementError &me, const Topology::LocalTrackPred &trkPred) const
 conversion taking also the predicted track state More...
 
virtual float localPitch (const LocalPoint &lp) const
 
virtual float localPitch (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const
 conversion taking also the angle from the track state (LocalTrajectoryParameters) More...
 
virtual LocalPoint localPosition (const MeasurementPoint &mp) const
 
virtual LocalPoint localPosition (const MeasurementPoint &mp, const Topology::LocalTrackPred &trkPred) const
 conversion taking also the predicted track state More...
 
virtual LocalPoint localPosition (float strip) const
 
virtual LocalPoint localPosition (float strip, const Topology::LocalTrackPred &trkPred) const
 conversion taking also the predicted track state More...
 
virtual float localStripLength (const LocalPoint &lp) const
 
virtual float localStripLength (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const
 conversion taking also the angle from the track state (LocalTrajectoryParameters) More...
 
virtual MeasurementError measurementError (const LocalPoint &lp, const LocalError &le) const
 
virtual MeasurementError measurementError (const LocalPoint &lp, const LocalError &le, const Topology::LocalTrackAngles &dir) const
 conversion taking also the angle from the track state More...
 
virtual MeasurementPoint measurementPosition (const LocalPoint &lp) const
 
virtual MeasurementPoint measurementPosition (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const
 conversion taking also the angle from the track state More...
 
virtual int nstrips () const
 
virtual float pitch () const
 
 ProxyStripTopology (StripGeomDetType const *type, Plane *bp)
 
virtual void setSurfaceDeformation (const SurfaceDeformation *deformation)
 
virtual const StripTopologyspecificTopology () const
 
virtual StripGeomDetType const & specificType () const
 
virtual float strip (const LocalPoint &lp) const
 
virtual float strip (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const
 conversion taking also the track state (LocalTrajectoryParameters) More...
 
virtual float stripAngle (float strip) const
 
virtual float stripLength () const
 
const SurfaceDeformationsurfaceDeformation () const
 
virtual const GeomDetTypetype () const
 
- Public Member Functions inherited from StripTopology
virtual ~StripTopology ()
 
- Public Member Functions inherited from Topology
virtual ~Topology ()
 

Private Member Functions

SurfaceDeformation::Local2DVector positionCorrection (const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
 
SurfaceDeformation::Local2DVector positionCorrection (const Topology::LocalTrackPred &trk) const
 

Private Attributes

float theLength
 
std::unique_ptr< const SurfaceDeformationtheSurfaceDeformation
 
StripGeomDetType const * theType
 
float theWidth
 

Additional Inherited Members

- Public Types inherited from Topology
typedef Point2DBase< double, LocalTagLocal2DPoint
 
typedef Vector2D::MathVector MathVector2D
 
typedef Basic2DVector< double > Vector2D
 

Detailed Description

Definition at line 32 of file ProxyStripTopology.h.

Constructor & Destructor Documentation

ProxyStripTopology::ProxyStripTopology ( StripGeomDetType const *  type,
Plane bp 
)

Definition at line 8 of file ProxyStripTopology.cc.

9  :theType(type), theLength(bp->bounds().length()), theWidth(bp->bounds().width())
10 {
11 }
type
Definition: HCALResponse.h:21
virtual float length() const =0
const Bounds & bounds() const
Definition: Surface.h:120
virtual float width() const =0
StripGeomDetType const * theType

Member Function Documentation

virtual int ProxyStripTopology::channel ( const LocalPoint lp) const
inlinevirtual

Implements Topology.

Definition at line 65 of file ProxyStripTopology.h.

References Topology::channel(), and specificTopology().

65 {return specificTopology().channel(lp);}
virtual const StripTopology & specificTopology() const
virtual int channel(const LocalPoint &p) const =0
int ProxyStripTopology::channel ( const LocalPoint lp,
const Topology::LocalTrackAngles  
) const
virtual

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 128 of file ProxyStripTopology.cc.

References Topology::channel(), corr, positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

129 {
130  if (!this->surfaceDeformation()) return specificTopology().channel(lp);
131 
132  // subtract correction from SurfaceDeformation
134  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
135 
136  return specificTopology().channel(posOrig);
137 }
virtual const StripTopology & specificTopology() const
T y() const
Definition: PV3DBase.h:63
T z() const
Definition: PV3DBase.h:64
virtual int channel(const LocalPoint &p) const =0
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dbl *** dir
Definition: mlp_gen.cc:35
T x() const
Definition: PV3DBase.h:62
virtual float ProxyStripTopology::coveredStrips ( const LocalPoint lp1,
const LocalPoint lp2 
) const
inlinevirtual

Reimplemented from StripTopology.

Definition at line 72 of file ProxyStripTopology.h.

References StripTopology::coveredStrips(), and specificTopology().

72  {
73  return specificTopology().coveredStrips(lp1,lp2);
74  }
virtual const StripTopology & specificTopology() const
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const
Definition: StripTopology.h:40
virtual LocalError ProxyStripTopology::localError ( float  strip,
float  stripErr2 
) const
inlinevirtual

Implements StripTopology.

Definition at line 45 of file ProxyStripTopology.h.

References StripTopology::localError(), and specificTopology().

Referenced by localError().

45 {return specificTopology().localError(strip, stripErr2);}
virtual const StripTopology & specificTopology() const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float strip(const LocalPoint &lp) const
LocalError ProxyStripTopology::localError ( float  strip,
float  stripErr2,
const Topology::LocalTrackPred trkPred 
) const
virtual

conversion taking also the predicted track state

Reimplemented from StripTopology.

Definition at line 71 of file ProxyStripTopology.cc.

References StripTopology::localError(), and specificTopology().

73 {
74  // 'strip' is from measurement frame and the topology knows to
75  // calculate the cartesian error.
76  // But assuming no uncertainty on the SurfaceDeformation variables,
77  // the errors do not change from a simple shift to compensate
78  // that the track 'sees' the surface at another place than it thinks...
79 
80  // In case of TwoBowedSurfacesDeformation one could add corrections here due to
81  // relative rotations of the sensors...
82  return specificTopology().localError(strip, stripErr2);
83 }
virtual const StripTopology & specificTopology() const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float strip(const LocalPoint &lp) const
virtual LocalError ProxyStripTopology::localError ( const MeasurementPoint mp,
const MeasurementError me 
) const
inlinevirtual

Implements Topology.

Definition at line 49 of file ProxyStripTopology.h.

References StripTopology::localError(), localError(), and specificTopology().

50  { return specificTopology().localError(mp, me);}
virtual const StripTopology & specificTopology() const
virtual LocalError localError(float strip, float stripErr2) const =0
LocalError ProxyStripTopology::localError ( const MeasurementPoint mp,
const MeasurementError me,
const Topology::LocalTrackPred trkPred 
) const
virtual

conversion taking also the predicted track state

Reimplemented from Topology.

Definition at line 87 of file ProxyStripTopology.cc.

References StripTopology::localError(), and specificTopology().

90 {
91  // See comment in localError(float strip, float stripErr2,
92  // const Topology::LocalTrackPred &trkPred)!
93  return specificTopology().localError(mp, me);
94 }
virtual const StripTopology & specificTopology() const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float ProxyStripTopology::localPitch ( const LocalPoint lp) const
inlinevirtual

Implements StripTopology.

Definition at line 77 of file ProxyStripTopology.h.

References StripTopology::localPitch(), and specificTopology().

77 { return specificTopology().localPitch(lp);}
virtual const StripTopology & specificTopology() const
virtual float localPitch(const LocalPoint &) const =0
float ProxyStripTopology::localPitch ( const LocalPoint lp,
const Topology::LocalTrackAngles dir 
) const
virtual

conversion taking also the angle from the track state (LocalTrajectoryParameters)

Reimplemented from StripTopology.

Definition at line 154 of file ProxyStripTopology.cc.

References corr, StripTopology::localPitch(), positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

155 {
156  if (!this->surfaceDeformation()) return specificTopology().localPitch(lp);
157 
158  // subtract correction from SurfaceDeformation
160  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
161 
162  return specificTopology().localPitch(posOrig);
163 }
virtual const StripTopology & specificTopology() const
T y() const
Definition: PV3DBase.h:63
T z() const
Definition: PV3DBase.h:64
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
virtual float localPitch(const LocalPoint &) const =0
T x() const
Definition: PV3DBase.h:62
virtual LocalPoint ProxyStripTopology::localPosition ( const MeasurementPoint mp) const
inlinevirtual

Implements Topology.

Definition at line 37 of file ProxyStripTopology.h.

References StripTopology::localPosition(), and specificTopology().

Referenced by localPosition().

37 { return specificTopology().localPosition(mp);}
virtual const StripTopology & specificTopology() const
virtual LocalPoint localPosition(float strip) const =0
LocalPoint ProxyStripTopology::localPosition ( const MeasurementPoint mp,
const Topology::LocalTrackPred trkPred 
) const
virtual

conversion taking also the predicted track state

Reimplemented from Topology.

Definition at line 29 of file ProxyStripTopology.cc.

References corr, StripTopology::localPosition(), localPosition(), positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

31 {
32  if (!this->surfaceDeformation()) return specificTopology().localPosition(mp);
33 
34  // add correction from SurfaceDeformation
35  const LocalPoint posOld(specificTopology().localPosition(mp)); // 'original position'
37 
38  return LocalPoint(posOld.x()+corr.x(), posOld.y()+corr.y(), posOld.z());
39 }
virtual const StripTopology & specificTopology() const
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
virtual LocalPoint localPosition(float strip) const =0
virtual LocalPoint localPosition(const MeasurementPoint &mp) const
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
virtual LocalPoint ProxyStripTopology::localPosition ( float  strip) const
inlinevirtual

Implements StripTopology.

Definition at line 41 of file ProxyStripTopology.h.

References StripTopology::localPosition(), localPosition(), specificTopology(), and strip().

virtual const StripTopology & specificTopology() const
virtual LocalPoint localPosition(float strip) const =0
virtual float strip(const LocalPoint &lp) const
LocalPoint ProxyStripTopology::localPosition ( float  strip,
const Topology::LocalTrackPred trkPred 
) const
virtual

conversion taking also the predicted track state

Reimplemented from StripTopology.

Definition at line 57 of file ProxyStripTopology.cc.

References corr, StripTopology::localPosition(), localPosition(), positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

58 {
60 
61  // add correction from SurfaceDeformation
63 
65  return LocalPoint(posOld.x()+corr.x(), posOld.y()+corr.y(), posOld.z());
66 }
virtual const StripTopology & specificTopology() const
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
virtual LocalPoint localPosition(float strip) const =0
virtual float strip(const LocalPoint &lp) const
virtual LocalPoint localPosition(const MeasurementPoint &mp) const
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
virtual float ProxyStripTopology::localStripLength ( const LocalPoint lp) const
inlinevirtual

Implements StripTopology.

Definition at line 86 of file ProxyStripTopology.h.

References StripTopology::localStripLength(), and specificTopology().

86 { return specificTopology().localStripLength(lp);}
virtual const StripTopology & specificTopology() const
virtual float localStripLength(const LocalPoint &aLP) const =0
float ProxyStripTopology::localStripLength ( const LocalPoint lp,
const Topology::LocalTrackAngles  
) const
virtual

conversion taking also the angle from the track state (LocalTrajectoryParameters)

Reimplemented from StripTopology.

Definition at line 167 of file ProxyStripTopology.cc.

References corr, StripTopology::localStripLength(), positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

168 {
169  if (!this->surfaceDeformation()) return specificTopology().localStripLength(lp);
170 
171  // subtract correction from SurfaceDeformation
173  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
174 
175  return specificTopology().localStripLength(posOrig);
176 }
virtual const StripTopology & specificTopology() const
virtual float localStripLength(const LocalPoint &aLP) const =0
T y() const
Definition: PV3DBase.h:63
T z() const
Definition: PV3DBase.h:64
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dbl *** dir
Definition: mlp_gen.cc:35
T x() const
Definition: PV3DBase.h:62
virtual MeasurementError ProxyStripTopology::measurementError ( const LocalPoint lp,
const LocalError le 
) const
inlinevirtual

Implements Topology.

Definition at line 60 of file ProxyStripTopology.h.

References Topology::measurementError(), and specificTopology().

61  { return specificTopology().measurementError(lp, le); }
virtual const StripTopology & specificTopology() const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
MeasurementError ProxyStripTopology::measurementError ( const LocalPoint lp,
const LocalError le,
const Topology::LocalTrackAngles  
) const
virtual

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 112 of file ProxyStripTopology.cc.

References corr, Topology::measurementError(), positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

114 {
115  if (!this->surfaceDeformation()) return specificTopology().measurementError(lp, le);
116 
117  // assuming 'lp' comes from a track prediction
118  // (i.e. where the track thinks it hits the surface)
119  // we need to subtract correction from SurfaceDeformation
121  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
122 
123  return specificTopology().measurementError(posOrig, le);
124 }
virtual const StripTopology & specificTopology() const
T y() const
Definition: PV3DBase.h:63
T z() const
Definition: PV3DBase.h:64
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dbl *** dir
Definition: mlp_gen.cc:35
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
T x() const
Definition: PV3DBase.h:62
virtual MeasurementPoint ProxyStripTopology::measurementPosition ( const LocalPoint lp) const
inlinevirtual

Implements Topology.

Definition at line 56 of file ProxyStripTopology.h.

References dir, Topology::measurementPosition(), and specificTopology().

virtual const StripTopology & specificTopology() const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
MeasurementPoint ProxyStripTopology::measurementPosition ( const LocalPoint lp,
const Topology::LocalTrackAngles  
) const
virtual

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 98 of file ProxyStripTopology.cc.

References corr, Topology::measurementPosition(), positionCorrection(), specificTopology(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

100 {
101  if (!this->surfaceDeformation()) return specificTopology().measurementPosition(lp);
102 
103  // subtract correction from SurfaceDeformation
105  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
106 
107  return specificTopology().measurementPosition(posOrig);
108 }
virtual const StripTopology & specificTopology() const
T y() const
Definition: PV3DBase.h:63
T z() const
Definition: PV3DBase.h:64
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dbl *** dir
Definition: mlp_gen.cc:35
T x() const
Definition: PV3DBase.h:62
virtual int ProxyStripTopology::nstrips ( ) const
inlinevirtual

Implements StripTopology.

Definition at line 83 of file ProxyStripTopology.h.

References StripTopology::nstrips(), and specificTopology().

83 {return specificTopology().nstrips();}
virtual const StripTopology & specificTopology() const
virtual int nstrips() const =0
virtual float ProxyStripTopology::pitch ( ) const
inlinevirtual

Implements StripTopology.

Definition at line 76 of file ProxyStripTopology.h.

References StripTopology::pitch(), and specificTopology().

76 { return specificTopology().pitch(); }
virtual const StripTopology & specificTopology() const
virtual float pitch() const =0
SurfaceDeformation::Local2DVector ProxyStripTopology::positionCorrection ( const LocalPoint pos,
const Topology::LocalTrackAngles dir 
) const
private

Internal method to get correction of the position from SurfaceDeformation, must not be called if 'theSurfaceDeformation' is a null pointer.

Definition at line 187 of file ProxyStripTopology.cc.

References SurfaceDeformation::positionCorrection(), surfaceDeformation(), theLength, theWidth, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().

Referenced by channel(), localPitch(), localPosition(), localStripLength(), measurementError(), measurementPosition(), specificTopology(), and strip().

189 {
190  const SurfaceDeformation::Local2DPoint pos2D(pos.x(), pos.y());// change precision and dimension
191 
192  return this->surfaceDeformation()->positionCorrection(pos2D, dir,
194 }
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const =0
T y() const
Definition: PV3DBase.h:63
const SurfaceDeformation * surfaceDeformation() const
T x() const
Definition: PV3DBase.h:62
SurfaceDeformation::Local2DVector ProxyStripTopology::positionCorrection ( const Topology::LocalTrackPred trk) const
private

Internal method to get correction of the position from SurfaceDeformation, must not be called if 'theSurfaceDeformation' is a null pointer.

Definition at line 198 of file ProxyStripTopology.cc.

References Topology::LocalTrackPred::angles(), Topology::LocalTrackPred::point(), SurfaceDeformation::positionCorrection(), surfaceDeformation(), theLength, and theWidth.

199 {
200  return this->surfaceDeformation()->positionCorrection(trk.point(), trk.angles(),
202 }
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const =0
const LocalTrackAngles & angles() const
Definition: Topology.h:68
const SurfaceDeformation * surfaceDeformation() const
const Local2DPoint & point() const
Definition: Topology.h:67
void ProxyStripTopology::setSurfaceDeformation ( const SurfaceDeformation deformation)
virtual

Definition at line 180 of file ProxyStripTopology.cc.

References theSurfaceDeformation.

Referenced by surfaceDeformation().

181 {
182  theSurfaceDeformation.reset(deformation);
183 }
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
virtual const StripTopology& ProxyStripTopology::specificTopology ( ) const
inlinevirtual
virtual StripGeomDetType const& ProxyStripTopology::specificType ( ) const
inlinevirtual

Definition at line 90 of file ProxyStripTopology.h.

References theType.

Referenced by specificTopology().

90 { return *theType;}
StripGeomDetType const * theType
virtual float ProxyStripTopology::strip ( const LocalPoint lp) const
inlinevirtual

Implements StripTopology.

Definition at line 68 of file ProxyStripTopology.h.

References specificTopology(), and StripTopology::strip().

Referenced by localPosition().

68 { return specificTopology().strip(lp);}
virtual const StripTopology & specificTopology() const
virtual float strip(const LocalPoint &) const =0
float ProxyStripTopology::strip ( const LocalPoint lp,
const Topology::LocalTrackAngles dir 
) const
virtual

conversion taking also the track state (LocalTrajectoryParameters)

Reimplemented from StripTopology.

Definition at line 141 of file ProxyStripTopology.cc.

References corr, positionCorrection(), specificTopology(), StripTopology::strip(), surfaceDeformation(), PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

142 {
143  if (!this->surfaceDeformation()) return specificTopology().strip(lp);
144 
145  // subtract correction from SurfaceDeformation
147  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
148 
149  return specificTopology().strip(posOrig);
150 }
virtual const StripTopology & specificTopology() const
T y() const
Definition: PV3DBase.h:63
virtual float strip(const LocalPoint &) const =0
T z() const
Definition: PV3DBase.h:64
JetCorrectorParameters corr
Definition: classes.h:5
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
T x() const
Definition: PV3DBase.h:62
virtual float ProxyStripTopology::stripAngle ( float  strip) const
inlinevirtual

Implements StripTopology.

Definition at line 81 of file ProxyStripTopology.h.

References specificTopology(), and StripTopology::stripAngle().

81 { return specificTopology().stripAngle(strip);}
virtual const StripTopology & specificTopology() const
virtual float stripAngle(float strip) const =0
virtual float strip(const LocalPoint &lp) const
virtual float ProxyStripTopology::stripLength ( ) const
inlinevirtual

Implements StripTopology.

Definition at line 85 of file ProxyStripTopology.h.

References specificTopology(), and StripTopology::stripLength().

85 {return specificTopology().stripLength();}
virtual float stripLength() const =0
virtual const StripTopology & specificTopology() const
const SurfaceDeformation* ProxyStripTopology::surfaceDeformation ( ) const
inline

Definition at line 92 of file ProxyStripTopology.h.

References setSurfaceDeformation(), and theSurfaceDeformation.

Referenced by channel(), localPitch(), localPosition(), localStripLength(), measurementError(), measurementPosition(), positionCorrection(), and strip().

92  {
93  return theSurfaceDeformation.operator->();
94  }
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
virtual const GeomDetType& ProxyStripTopology::type ( ) const
inlinevirtual

Definition at line 89 of file ProxyStripTopology.h.

References theType.

89 { return *theType;}
StripGeomDetType const * theType

Member Data Documentation

float ProxyStripTopology::theLength
private

Definition at line 112 of file ProxyStripTopology.h.

Referenced by positionCorrection().

std::unique_ptr<const SurfaceDeformation> ProxyStripTopology::theSurfaceDeformation
private

Definition at line 113 of file ProxyStripTopology.h.

Referenced by setSurfaceDeformation(), and surfaceDeformation().

StripGeomDetType const* ProxyStripTopology::theType
private

Definition at line 111 of file ProxyStripTopology.h.

Referenced by specificType(), and type().

float ProxyStripTopology::theWidth
private

Definition at line 112 of file ProxyStripTopology.h.

Referenced by positionCorrection().