CMS 3D CMS Logo

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

#include <ProxyMTDTopology.h>

Inheritance diagram for ProxyMTDTopology:
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
 
 ProxyMTDTopology (MTDGeomDetType 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 MTDGeomDetType 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
 
MTDGeomDetType 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 ProxyMTDTopology.h.

Constructor & Destructor Documentation

◆ ProxyMTDTopology()

ProxyMTDTopology::ProxyMTDTopology ( MTDGeomDetType const *  type,
Plane bp 
)

Definition at line 8 of file ProxyMTDTopology.cc.

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

Member Function Documentation

◆ bigpixelsX()

bool ProxyMTDTopology::bigpixelsX ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 66 of file ProxyMTDTopology.h.

66 { return false; }

◆ bigpixelsY()

bool ProxyMTDTopology::bigpixelsY ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 67 of file ProxyMTDTopology.h.

67 { return false; }

◆ channel() [1/2]

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

Implements Topology.

Definition at line 82 of file ProxyMTDTopology.cc.

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

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

◆ channel() [2/2]

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

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 85 of file ProxyMTDTopology.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().

85  {
86  if (!this->surfaceDeformation())
87  return specificTopology().channel(lp);
88 
89  // subtract correction from SurfaceDeformation
91  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
92 
93  return specificTopology().channel(posOrig);
94 }
T z() const
Definition: PV3DBase.h:61
virtual const PixelTopology & specificTopology() const
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
const SurfaceDeformation * surfaceDeformation() const
dictionary corr
virtual int channel(const LocalPoint &p) const =0

◆ colsperroc()

int ProxyMTDTopology::colsperroc ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 65 of file ProxyMTDTopology.h.

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

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

◆ containsBigPixelInX()

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

Implements PixelTopology.

Definition at line 77 of file ProxyMTDTopology.h.

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

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

◆ containsBigPixelInY()

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

Implements PixelTopology.

Definition at line 80 of file ProxyMTDTopology.h.

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

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

◆ isItBigPixelInX()

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

Implements PixelTopology.

Definition at line 73 of file ProxyMTDTopology.h.

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

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

◆ isItBigPixelInY()

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

Implements PixelTopology.

Definition at line 74 of file ProxyMTDTopology.h.

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

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

◆ isItEdgePixel()

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

Implements PixelTopology.

Definition at line 86 of file ProxyMTDTopology.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 ProxyMTDTopology::isItEdgePixelInX ( int  ixbin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 84 of file ProxyMTDTopology.h.

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

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

◆ isItEdgePixelInY()

bool ProxyMTDTopology::isItEdgePixelInY ( int  iybin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 85 of file ProxyMTDTopology.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 ProxyMTDTopology::localError ( const MeasurementPoint mp,
const MeasurementError me 
) const
overridevirtual

Implements Topology.

Definition at line 29 of file ProxyMTDTopology.cc.

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

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

◆ localError() [2/2]

LocalError ProxyMTDTopology::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 34 of file ProxyMTDTopology.cc.

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

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

◆ localPosition() [1/2]

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

Implements Topology.

Definition at line 12 of file ProxyMTDTopology.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 ProxyMTDTopology::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 ProxyMTDTopology.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().

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

◆ localX() [1/2]

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

Implements PixelTopology.

Definition at line 112 of file ProxyMTDTopology.cc.

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

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

◆ localX() [2/2]

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

Reimplemented from PixelTopology.

Definition at line 115 of file ProxyMTDTopology.cc.

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

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

◆ localY() [1/2]

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

Implements PixelTopology.

Definition at line 127 of file ProxyMTDTopology.cc.

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

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

◆ localY() [2/2]

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

Reimplemented from PixelTopology.

Definition at line 130 of file ProxyMTDTopology.cc.

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

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

◆ measurementError() [1/2]

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

Implements Topology.

Definition at line 63 of file ProxyMTDTopology.cc.

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

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

◆ measurementError() [2/2]

MeasurementError ProxyMTDTopology::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 68 of file ProxyMTDTopology.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().

70  {
71  if (!this->surfaceDeformation())
72  return specificTopology().measurementError(lp, le);
73 
74  // subtract correction from SurfaceDeformation
76  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
77 
78  return specificTopology().measurementError(posOrig, le);
79 }
T z() const
Definition: PV3DBase.h:61
virtual const PixelTopology & specificTopology() const
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
const SurfaceDeformation * surfaceDeformation() const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
dictionary corr

◆ measurementPosition() [1/2]

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

Implements Topology.

Definition at line 45 of file ProxyMTDTopology.cc.

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

45  {
47 }
virtual const PixelTopology & specificTopology() const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0

◆ measurementPosition() [2/2]

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

conversion taking also the angle from the track state

Reimplemented from Topology.

Definition at line 50 of file ProxyMTDTopology.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().

51  {
52  if (!this->surfaceDeformation())
54 
55  // subtract correction from SurfaceDeformation
57  const LocalPoint posOrig(lp.x() - corr.x(), lp.y() - corr.y(), lp.z());
58 
59  return specificTopology().measurementPosition(posOrig);
60 }
T z() const
Definition: PV3DBase.h:61
virtual const PixelTopology & specificTopology() const
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
const SurfaceDeformation * surfaceDeformation() const
dictionary corr
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0

◆ ncolumns()

int ProxyMTDTopology::ncolumns ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 61 of file ProxyMTDTopology.h.

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

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

◆ nrows()

int ProxyMTDTopology::nrows ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 60 of file ProxyMTDTopology.h.

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

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

◆ pitch()

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

Implements PixelTopology.

Definition at line 59 of file ProxyMTDTopology.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 > ProxyMTDTopology::pixel ( const LocalPoint p) const
overridevirtual

Implements PixelTopology.

Definition at line 97 of file ProxyMTDTopology.cc.

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

97 { 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 > ProxyMTDTopology::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 100 of file ProxyMTDTopology.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().

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

◆ pixelFractionInX()

float ProxyMTDTopology::pixelFractionInX ( int  ixbin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 75 of file ProxyMTDTopology.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 ProxyMTDTopology::pixelFractionInY ( int  iybin) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 76 of file ProxyMTDTopology.h.

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

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

◆ positionCorrection() [1/2]

SurfaceDeformation::Local2DVector ProxyMTDTopology::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 147 of file ProxyMTDTopology.cc.

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

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

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

◆ positionCorrection() [2/2]

SurfaceDeformation::Local2DVector ProxyMTDTopology::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 155 of file ProxyMTDTopology.cc.

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

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

◆ rocsX()

int ProxyMTDTopology::rocsX ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 63 of file ProxyMTDTopology.h.

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

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

◆ rocsY()

int ProxyMTDTopology::rocsY ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 62 of file ProxyMTDTopology.h.

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

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

◆ rowsperroc()

int ProxyMTDTopology::rowsperroc ( ) const
inlineoverridevirtual

Implements PixelTopology.

Definition at line 64 of file ProxyMTDTopology.h.

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

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

◆ setSurfaceDeformation()

void ProxyMTDTopology::setSurfaceDeformation ( const SurfaceDeformation deformation)
virtual

Definition at line 142 of file ProxyMTDTopology.cc.

References theSurfaceDeformation.

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

◆ specificTopology()

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

◆ specificType()

virtual MTDGeomDetType const& ProxyMTDTopology::specificType ( ) const
inlinevirtual

Definition at line 90 of file ProxyMTDTopology.h.

References theType.

Referenced by specificTopology().

90 { return *theType; }
MTDGeomDetType const * theType

◆ surfaceDeformation()

const SurfaceDeformation* ProxyMTDTopology::surfaceDeformation ( ) const
inline

Definition at line 92 of file ProxyMTDTopology.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& ProxyMTDTopology::type ( ) const
inlinevirtual

Definition at line 88 of file ProxyMTDTopology.h.

References theType.

88 { return *theType; }
MTDGeomDetType const * theType

Member Data Documentation

◆ theLength

float ProxyMTDTopology::theLength
private

Definition at line 107 of file ProxyMTDTopology.h.

Referenced by positionCorrection().

◆ theSurfaceDeformation

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

Definition at line 108 of file ProxyMTDTopology.h.

Referenced by setSurfaceDeformation(), and surfaceDeformation().

◆ theType

MTDGeomDetType const* ProxyMTDTopology::theType
private

Definition at line 106 of file ProxyMTDTopology.h.

Referenced by specificType(), and type().

◆ theWidth

float ProxyMTDTopology::theWidth
private

Definition at line 107 of file ProxyMTDTopology.h.

Referenced by positionCorrection().