CMS 3D CMS Logo

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

#include <ProxyPixelTopology.h>

Inheritance diagram for ProxyPixelTopology:
PixelTopology Topology

Public Member Functions

bool bigpixelsX () const override
 
bool bigpixelsY () const override
 
int channel (const LocalPoint &) const override
 
int channel (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const override
 conversion taking also the angle from the track state More...
 
int colsperroc () const override
 
bool containsBigPixelInX (int ixmin, int ixmax) const override
 
bool containsBigPixelInY (int iymin, int iymax) const override
 
bool isItBigPixelInX (const int ixbin) const override
 
bool isItBigPixelInY (const int iybin) const override
 
bool isItEdgePixel (int ixbin, int iybin) const override
 
bool isItEdgePixelInX (int ixbin) const override
 
bool isItEdgePixelInY (int iybin) const override
 
LocalError localError (const MeasurementPoint &, const MeasurementError &) const override
 
LocalError localError (const MeasurementPoint &mp, const MeasurementError &me, const Topology::LocalTrackPred &trkPred) const override
 conversion taking also the predicted track state More...
 
LocalPoint localPosition (const MeasurementPoint &) const override
 
LocalPoint localPosition (const MeasurementPoint &mp, const Topology::LocalTrackPred &trkPred) const override
 conversion taking also the predicted track state More...
 
float localX (const float mpX) const override
 
float localX (const float mpX, const Topology::LocalTrackPred &trkPred) const override
 
float localY (const float mpY) const override
 
float localY (const float mpY, const Topology::LocalTrackPred &trkPred) const override
 
MeasurementError measurementError (const LocalPoint &lp, const LocalError &le) const override
 
MeasurementError measurementError (const LocalPoint &lp, const LocalError &le, const Topology::LocalTrackAngles &dir) const override
 conversion taking also the angle from the track state More...
 
MeasurementPoint measurementPosition (const LocalPoint &) const override
 
MeasurementPoint measurementPosition (const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const override
 conversion taking also the angle from the track state More...
 
int ncolumns () const override
 
int nrows () const override
 
std::pair< float, float > pitch () const override
 
std::pair< float, float > pixel (const LocalPoint &p) const override
 
std::pair< float, float > pixel (const LocalPoint &p, const Topology::LocalTrackAngles &ltp) const override
 conversion taking also the angle from the track state More...
 
float pixelFractionInX (int ixbin) const override
 
float pixelFractionInY (int iybin) const override
 
 ProxyPixelTopology (PixelGeomDetType const *type, Plane *bp)
 
int rocsX () const override
 
int rocsY () const override
 
int rowsperroc () const override
 
virtual void setSurfaceDeformation (const SurfaceDeformation *deformation)
 
virtual const PixelTopologyspecificTopology () const
 
virtual PixelGeomDetType const & specificType () const
 
const SurfaceDeformationsurfaceDeformation () const
 
virtual const GeomDetTypetype () const
 
- Public Member Functions inherited from PixelTopology
 ~PixelTopology () override
 
- 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
 
PixelGeomDetType 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 30 of file ProxyPixelTopology.h.

Constructor & Destructor Documentation

◆ ProxyPixelTopology()

ProxyPixelTopology::ProxyPixelTopology ( PixelGeomDetType const *  type,
Plane bp 
)

Definition at line 8 of file ProxyPixelTopology.cc.

9  : theType(type), theLength(bp->bounds().length()), theWidth(bp->bounds().width()) {}
virtual float length() const =0
PixelGeomDetType const * theType
virtual float width() const =0
const Bounds & bounds() const
Definition: Surface.h:87

Member Function Documentation

◆ bigpixelsX()

bool ProxyPixelTopology::bigpixelsX ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 66 of file ProxyPixelTopology.h.

References PixelTopology::bigpixelsX(), and specificTopology().

66 { return specificTopology().bigpixelsX(); }
virtual bool bigpixelsX() const =0
virtual const PixelTopology & specificTopology() const

◆ bigpixelsY()

bool ProxyPixelTopology::bigpixelsY ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 67 of file ProxyPixelTopology.h.

References PixelTopology::bigpixelsY(), and specificTopology().

67 { return specificTopology().bigpixelsY(); }
virtual bool bigpixelsY() const =0
virtual const PixelTopology & specificTopology() const

◆ channel() [1/2]

int ProxyPixelTopology::channel ( const LocalPoint lp) const
overridevirtual

Implements Topology.

Definition at line 83 of file ProxyPixelTopology.cc.

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

83 { return specificTopology().channel(lp); }
virtual int channel(const LocalPoint &p) const =0
virtual const PixelTopology & specificTopology() const

◆ channel() [2/2]

int ProxyPixelTopology::channel ( const LocalPoint lp,
const Topology::LocalTrackAngles  
) const
overridevirtual

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 86 of file ProxyPixelTopology.cc.

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

86  {
87  if (!this->surfaceDeformation())
88  return specificTopology().channel(lp);
89 
90  // subtract correction from SurfaceDeformation
92  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
93 
94  return specificTopology().channel(posOrig);
95 }
T z() const
Definition: PV3DBase.h:61
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
dictionary corr
virtual int channel(const LocalPoint &p) const =0
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ colsperroc()

int ProxyPixelTopology::colsperroc ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 65 of file ProxyPixelTopology.h.

References PixelTopology::colsperroc(), and specificTopology().

65 { return specificTopology().colsperroc(); }
virtual int colsperroc() const =0
virtual const PixelTopology & specificTopology() const

◆ containsBigPixelInX()

bool ProxyPixelTopology::containsBigPixelInX ( int  ixmin,
int  ixmax 
) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 77 of file ProxyPixelTopology.h.

References PixelTopology::containsBigPixelInX(), and specificTopology().

77  {
78  return specificTopology().containsBigPixelInX(ixmin, ixmax);
79  }
virtual bool containsBigPixelInX(int ixmin, int ixmax) const =0
virtual const PixelTopology & specificTopology() const

◆ containsBigPixelInY()

bool ProxyPixelTopology::containsBigPixelInY ( int  iymin,
int  iymax 
) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 80 of file ProxyPixelTopology.h.

References PixelTopology::containsBigPixelInY(), and specificTopology().

80  {
81  return specificTopology().containsBigPixelInY(iymin, iymax);
82  }
virtual bool containsBigPixelInY(int iymin, int iymax) const =0
virtual const PixelTopology & specificTopology() const

◆ isItBigPixelInX()

bool ProxyPixelTopology::isItBigPixelInX ( const int  ixbin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 73 of file ProxyPixelTopology.h.

References PixelTopology::isItBigPixelInX(), and specificTopology().

73 { return specificTopology().isItBigPixelInX(ixbin); }
virtual bool isItBigPixelInX(int ixbin) const =0
virtual const PixelTopology & specificTopology() const

◆ isItBigPixelInY()

bool ProxyPixelTopology::isItBigPixelInY ( const int  iybin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 74 of file ProxyPixelTopology.h.

References PixelTopology::isItBigPixelInY(), and specificTopology().

74 { return specificTopology().isItBigPixelInY(iybin); }
virtual bool isItBigPixelInY(int iybin) const =0
virtual const PixelTopology & specificTopology() const

◆ isItEdgePixel()

bool ProxyPixelTopology::isItEdgePixel ( int  ixbin,
int  iybin 
) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 86 of file ProxyPixelTopology.h.

References PixelTopology::isItEdgePixel(), and specificTopology().

86 { return specificTopology().isItEdgePixel(ixbin, iybin); }
virtual const PixelTopology & specificTopology() const
virtual bool isItEdgePixel(int ixbin, int iybin) const =0

◆ isItEdgePixelInX()

bool ProxyPixelTopology::isItEdgePixelInX ( int  ixbin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 84 of file ProxyPixelTopology.h.

References PixelTopology::isItEdgePixelInX(), and specificTopology().

84 { return specificTopology().isItEdgePixelInX(ixbin); }
virtual bool isItEdgePixelInX(int ixbin) const =0
virtual const PixelTopology & specificTopology() const

◆ isItEdgePixelInY()

bool ProxyPixelTopology::isItEdgePixelInY ( int  iybin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 85 of file ProxyPixelTopology.h.

References PixelTopology::isItEdgePixelInY(), and specificTopology().

85 { return specificTopology().isItEdgePixelInY(iybin); }
virtual const PixelTopology & specificTopology() const
virtual bool isItEdgePixelInY(int iybin) const =0

◆ localError() [1/2]

LocalError ProxyPixelTopology::localError ( const MeasurementPoint mp,
const MeasurementError me 
) const
overridevirtual

Implements Topology.

Definition at line 30 of file ProxyPixelTopology.cc.

References Topology::localError(), hlt_dqm_clientPB-live_cfg::me, and specificTopology().

30  {
31  return specificTopology().localError(mp, me);
32 }
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const =0
virtual const PixelTopology & specificTopology() const

◆ localError() [2/2]

LocalError ProxyPixelTopology::localError ( const MeasurementPoint mp,
const MeasurementError me,
const Topology::LocalTrackPred trkPred 
) const
overridevirtual

conversion taking also the predicted track state

Reimplemented from Topology.

Definition at line 35 of file ProxyPixelTopology.cc.

References Topology::localError(), hlt_dqm_clientPB-live_cfg::me, and specificTopology().

37  {
38  // The topology knows to calculate the cartesian error from measurement frame.
39  // But assuming no uncertainty on the SurfaceDeformation variables,
40  // the errors do not change from a simple shift to compensate
41  // that the track 'sees' the surface at another place than it thinks...
42  return specificTopology().localError(mp, me);
43 }
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const =0
virtual const PixelTopology & specificTopology() const

◆ localPosition() [1/2]

LocalPoint ProxyPixelTopology::localPosition ( const MeasurementPoint mp) const
overridevirtual

Implements Topology.

Definition at line 12 of file ProxyPixelTopology.cc.

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

Referenced by localPosition().

12  {
13  return specificTopology().localPosition(mp);
14 }
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
virtual const PixelTopology & specificTopology() const

◆ localPosition() [2/2]

LocalPoint ProxyPixelTopology::localPosition ( const MeasurementPoint mp,
const Topology::LocalTrackPred trkPred 
) const
overridevirtual

conversion taking also the predicted track state

Reimplemented from Topology.

Definition at line 17 of file ProxyPixelTopology.cc.

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

18  {
19  if (!this->surfaceDeformation())
20  return specificTopology().localPosition(mp);
21 
22  // add correction from SurfaceDeformation
23  const LocalPoint posOld(specificTopology().localPosition(mp)); // 'original position'
25 
26  return LocalPoint(posOld.x() + corr.x(), posOld.y() + corr.y(), posOld.z());
27 }
LocalPoint localPosition(const MeasurementPoint &) const override
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dictionary corr
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ localX() [1/2]

float ProxyPixelTopology::localX ( const float  mpX) const
overridevirtual

Implements PixelTopology.

Definition at line 113 of file ProxyPixelTopology.cc.

References PixelTopology::localX(), and specificTopology().

113 { return specificTopology().localX(mpX); }
virtual float localX(float mpX) const =0
virtual const PixelTopology & specificTopology() const

◆ localX() [2/2]

float ProxyPixelTopology::localX ( const float  mpX,
const Topology::LocalTrackPred trkPred 
) const
overridevirtual

Reimplemented from PixelTopology.

Definition at line 116 of file ProxyPixelTopology.cc.

References alignCSCRings::corr, PixelTopology::localX(), positionCorrection(), specificTopology(), and surfaceDeformation().

116  {
117  if (!this->surfaceDeformation())
118  return specificTopology().localX(mpX);
119 
120  // add correction from SurfaceDeformation
121  float xOld = specificTopology().localX(mpX); // 'original position'
123 
124  return xOld + corr.x();
125 }
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
virtual float localX(float mpX) const =0
dictionary corr
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ localY() [1/2]

float ProxyPixelTopology::localY ( const float  mpY) const
overridevirtual

Implements PixelTopology.

Definition at line 128 of file ProxyPixelTopology.cc.

References PixelTopology::localY(), and specificTopology().

128 { return specificTopology().localY(mpY); }
virtual float localY(float mpY) const =0
virtual const PixelTopology & specificTopology() const

◆ localY() [2/2]

float ProxyPixelTopology::localY ( const float  mpY,
const Topology::LocalTrackPred trkPred 
) const
overridevirtual

Reimplemented from PixelTopology.

Definition at line 131 of file ProxyPixelTopology.cc.

References alignCSCRings::corr, PixelTopology::localY(), positionCorrection(), specificTopology(), and surfaceDeformation().

131  {
132  if (!this->surfaceDeformation())
133  return specificTopology().localY(mpY);
134 
135  // add correction from SurfaceDeformation
136  float yOld = specificTopology().localY(mpY); // 'original position'
138 
139  return yOld + corr.y();
140 }
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dictionary corr
virtual float localY(float mpY) const =0
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ measurementError() [1/2]

MeasurementError ProxyPixelTopology::measurementError ( const LocalPoint lp,
const LocalError le 
) const
overridevirtual

Implements Topology.

Definition at line 64 of file ProxyPixelTopology.cc.

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

64  {
65  return specificTopology().measurementError(lp, le);
66 }
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
virtual const PixelTopology & specificTopology() const

◆ measurementError() [2/2]

MeasurementError ProxyPixelTopology::measurementError ( const LocalPoint lp,
const LocalError le,
const Topology::LocalTrackAngles  
) const
overridevirtual

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 69 of file ProxyPixelTopology.cc.

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

71  {
72  if (!this->surfaceDeformation())
73  return specificTopology().measurementError(lp, le);
74 
75  // subtract correction from SurfaceDeformation
77  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
78 
79  return specificTopology().measurementError(posOrig, le);
80 }
T z() const
Definition: PV3DBase.h:61
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
dictionary corr
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ measurementPosition() [1/2]

MeasurementPoint ProxyPixelTopology::measurementPosition ( const LocalPoint lp) const
overridevirtual

Implements Topology.

Definition at line 46 of file ProxyPixelTopology.cc.

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

46  {
48 }
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual const PixelTopology & specificTopology() const

◆ measurementPosition() [2/2]

MeasurementPoint ProxyPixelTopology::measurementPosition ( const LocalPoint lp,
const Topology::LocalTrackAngles  
) const
overridevirtual

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 51 of file ProxyPixelTopology.cc.

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

52  {
53  if (!this->surfaceDeformation())
55 
56  // subtract correction from SurfaceDeformation
58  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
59 
60  return specificTopology().measurementPosition(posOrig);
61 }
T z() const
Definition: PV3DBase.h:61
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
dictionary corr
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ ncolumns()

int ProxyPixelTopology::ncolumns ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 61 of file ProxyPixelTopology.h.

References PixelTopology::ncolumns(), and specificTopology().

61 { return specificTopology().ncolumns(); }
virtual int ncolumns() const =0
virtual const PixelTopology & specificTopology() const

◆ nrows()

int ProxyPixelTopology::nrows ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 60 of file ProxyPixelTopology.h.

References PixelTopology::nrows(), and specificTopology().

60 { return specificTopology().nrows(); }
virtual int nrows() const =0
virtual const PixelTopology & specificTopology() const

◆ pitch()

std::pair<float, float> ProxyPixelTopology::pitch ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 59 of file ProxyPixelTopology.h.

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

59 { return specificTopology().pitch(); }
virtual const PixelTopology & specificTopology() const
virtual std::pair< float, float > pitch() const =0

◆ pixel() [1/2]

std::pair< float, float > ProxyPixelTopology::pixel ( const LocalPoint p) const
overridevirtual

Implements PixelTopology.

Definition at line 98 of file ProxyPixelTopology.cc.

References PixelTopology::pixel(), and specificTopology().

98 { return specificTopology().pixel(lp); }
virtual std::pair< float, float > pixel(const LocalPoint &p) const =0
virtual const PixelTopology & specificTopology() const

◆ pixel() [2/2]

std::pair< float, float > ProxyPixelTopology::pixel ( const LocalPoint p,
const Topology::LocalTrackAngles ltp 
) const
overridevirtual

conversion taking also the angle from the track state

Reimplemented from PixelTopology.

Definition at line 101 of file ProxyPixelTopology.cc.

References alignCSCRings::corr, DeadROC_duringRun::dir, PixelTopology::pixel(), positionCorrection(), specificTopology(), surfaceDeformation(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

101  {
102  if (!this->surfaceDeformation())
103  return specificTopology().pixel(lp);
104 
105  // subtract correction from SurfaceDeformation
107  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
108 
109  return specificTopology().pixel(posOrig);
110 }
virtual std::pair< float, float > pixel(const LocalPoint &p) const =0
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
dictionary corr
virtual const PixelTopology & specificTopology() const
const SurfaceDeformation * surfaceDeformation() const

◆ pixelFractionInX()

float ProxyPixelTopology::pixelFractionInX ( int  ixbin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 75 of file ProxyPixelTopology.h.

References PixelTopology::pixelFractionInX(), and specificTopology().

75 { return specificTopology().pixelFractionInX(ixbin); }
virtual float pixelFractionInX(int ixbin) const =0
virtual const PixelTopology & specificTopology() const

◆ pixelFractionInY()

float ProxyPixelTopology::pixelFractionInY ( int  iybin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 76 of file ProxyPixelTopology.h.

References PixelTopology::pixelFractionInY(), and specificTopology().

76 { return specificTopology().pixelFractionInY(iybin); }
virtual float pixelFractionInY(int iybin) const =0
virtual const PixelTopology & specificTopology() const

◆ positionCorrection() [1/2]

SurfaceDeformation::Local2DVector ProxyPixelTopology::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 148 of file ProxyPixelTopology.cc.

References DeadROC_duringRun::dir, SurfaceDeformation::positionCorrection(), surfaceDeformation(), theLength, and theWidth.

Referenced by channel(), localPosition(), localX(), localY(), measurementError(), measurementPosition(), and pixel().

149  {
150  const SurfaceDeformation::Local2DPoint pos2D(pos.x(), pos.y()); // change precision and dimension
151 
152  return this->surfaceDeformation()->positionCorrection(pos2D, dir, theLength, theWidth);
153 }
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const =0
const SurfaceDeformation * surfaceDeformation() const

◆ positionCorrection() [2/2]

SurfaceDeformation::Local2DVector ProxyPixelTopology::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 156 of file ProxyPixelTopology.cc.

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

156  {
157  return this->surfaceDeformation()->positionCorrection(trk.point(), trk.angles(), theLength, theWidth);
158 }
Trktree trk
Definition: Trktree.cc:2
const Local2DPoint & point() const
Definition: Topology.h:64
virtual Local2DVector positionCorrection(const Local2DPoint &localPos, const LocalTrackAngles &localAngles, double length, double width) const =0
const SurfaceDeformation * surfaceDeformation() const

◆ rocsX()

int ProxyPixelTopology::rocsX ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 63 of file ProxyPixelTopology.h.

References PixelTopology::rocsX(), and specificTopology().

63 { return specificTopology().rocsX(); }
virtual int rocsX() const =0
virtual const PixelTopology & specificTopology() const

◆ rocsY()

int ProxyPixelTopology::rocsY ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 62 of file ProxyPixelTopology.h.

References PixelTopology::rocsY(), and specificTopology().

62 { return specificTopology().rocsY(); }
virtual int rocsY() const =0
virtual const PixelTopology & specificTopology() const

◆ rowsperroc()

int ProxyPixelTopology::rowsperroc ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 64 of file ProxyPixelTopology.h.

References PixelTopology::rowsperroc(), and specificTopology().

64 { return specificTopology().rowsperroc(); }
virtual int rowsperroc() const =0
virtual const PixelTopology & specificTopology() const

◆ setSurfaceDeformation()

void ProxyPixelTopology::setSurfaceDeformation ( const SurfaceDeformation deformation)
virtual

Definition at line 143 of file ProxyPixelTopology.cc.

References theSurfaceDeformation.

143  {
144  theSurfaceDeformation.reset(deformation);
145 }
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation

◆ specificTopology()

virtual const PixelTopology& ProxyPixelTopology::specificTopology ( ) const
inlinevirtual

◆ specificType()

virtual PixelGeomDetType const& ProxyPixelTopology::specificType ( ) const
inlinevirtual

Definition at line 90 of file ProxyPixelTopology.h.

References theType.

Referenced by specificTopology().

90 { return *theType; }
PixelGeomDetType const * theType

◆ surfaceDeformation()

const SurfaceDeformation* ProxyPixelTopology::surfaceDeformation ( ) const
inline

Definition at line 92 of file ProxyPixelTopology.h.

References theSurfaceDeformation.

Referenced by channel(), localPosition(), localX(), localY(), measurementError(), measurementPosition(), pixel(), and positionCorrection().

92 { return theSurfaceDeformation.operator->(); }
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation

◆ type()

virtual const GeomDetType& ProxyPixelTopology::type ( ) const
inlinevirtual

Definition at line 88 of file ProxyPixelTopology.h.

References theType.

88 { return *theType; }
PixelGeomDetType const * theType

Member Data Documentation

◆ theLength

float ProxyPixelTopology::theLength
private

Definition at line 107 of file ProxyPixelTopology.h.

Referenced by positionCorrection().

◆ theSurfaceDeformation

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

Definition at line 108 of file ProxyPixelTopology.h.

Referenced by setSurfaceDeformation(), and surfaceDeformation().

◆ theType

PixelGeomDetType const* ProxyPixelTopology::theType
private

Definition at line 106 of file ProxyPixelTopology.h.

Referenced by specificType(), and type().

◆ theWidth

float ProxyPixelTopology::theWidth
private

Definition at line 107 of file ProxyPixelTopology.h.

Referenced by positionCorrection().