CMS 3D CMS Logo

ProxyPixelTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_TrackerTopology_ProxyPixelTopology_H
2 #define Geometry_TrackerTopology_ProxyPixelTopology_H
3 
15 //
21 
25 
26 class Plane;
27 
28 class ProxyPixelTopology final : public PixelTopology {
29 public:
30 
32 
33  LocalPoint localPosition( const MeasurementPoint& ) const override;
36  const Topology::LocalTrackPred &trkPred ) const override;
37 
39  const MeasurementError& ) const override;
42  const MeasurementError& me,
43  const Topology::LocalTrackPred &trkPred ) const override;
44 
45  MeasurementPoint measurementPosition( const LocalPoint & ) const override;
47  const Topology::LocalTrackAngles &dir ) const override;
48 
49  MeasurementError measurementError( const LocalPoint &lp, const LocalError &le ) const override;
51  const Topology::LocalTrackAngles &dir ) const override;
52 
53  int channel( const LocalPoint& ) const override;
54  int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir ) const override;
55 
56  std::pair<float,float> pixel( const LocalPoint& p) const override;
58  std::pair<float,float> pixel( const LocalPoint& p,
59  const Topology::LocalTrackAngles &ltp ) const override;
60 
61  std::pair<float,float> pitch() const override { return specificTopology().pitch(); }
62  int nrows() const override { return specificTopology().nrows(); }
63  int ncolumns() const override { return specificTopology().ncolumns(); }
64  int rocsY() const override { return specificTopology().rocsY(); }
65  int rocsX() const override { return specificTopology().rocsX(); }
66  int rowsperroc() const override { return specificTopology().rowsperroc(); }
67  int colsperroc() const override { return specificTopology().colsperroc(); }
68  float localX( const float mpX ) const override;
69  float localX( const float mpX, const Topology::LocalTrackPred &trkPred ) const override;
70  float localY( const float mpY ) const override;
71  float localY( const float mpY, const Topology::LocalTrackPred &trkPred ) const override;
72 
73  bool isItBigPixelInX(const int ixbin) const override {
74  return specificTopology().isItBigPixelInX(ixbin);
75  }
76  bool isItBigPixelInY(const int iybin) const override {
77  return specificTopology().isItBigPixelInY(iybin);
78  }
79  bool containsBigPixelInX(int ixmin, int ixmax) const override {
80  return specificTopology().containsBigPixelInX(ixmin, ixmax);
81  }
82  bool containsBigPixelInY(int iymin, int iymax) const override {
83  return specificTopology().containsBigPixelInY(iymin, iymax);
84  }
85 
86  bool isItEdgePixelInX(int ixbin) const override {
87  return specificTopology().isItEdgePixelInX(ixbin);
88  }
89  bool isItEdgePixelInY(int iybin) const override {
90  return specificTopology().isItEdgePixelInY(iybin);
91  }
92  bool isItEdgePixel(int ixbin, int iybin) const override {
93  return specificTopology().isItEdgePixel(ixbin, iybin);
94  }
95 
96  virtual const GeomDetType& type() const { return *theType;}
97 
98  virtual PixelGeomDetType const & specificType() const { return *theType; }
99 
101  return theSurfaceDeformation.operator->();
102  }
103  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
104 
105 
106  virtual const PixelTopology& specificTopology() const { return specificType().specificTopology(); }
107 
108 private:
109 
118 
121  std::unique_ptr<const SurfaceDeformation> theSurfaceDeformation;
122 };
123 
124 #endif
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const override
bool isItEdgePixelInY(int iybin) const override
type
Definition: HCALResponse.h:21
int nrows() const override
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation)
virtual int nrows() const =0
MeasurementPoint measurementPosition(const LocalPoint &) const override
std::pair< float, float > pitch() const override
virtual bool isItEdgePixel(int ixbin, int iybin) const =0
virtual int rowsperroc() const =0
float localX(const float mpX) const override
PixelGeomDetType const * theType
float localY(const float mpY) const override
bool containsBigPixelInX(int ixmin, int ixmax) const override
virtual bool isItEdgePixelInX(int ixbin) const =0
virtual std::pair< float, float > pitch() const =0
virtual bool isItEdgePixelInY(int iybin) const =0
virtual int rocsX() const =0
virtual bool isItBigPixelInX(int ixbin) const =0
int colsperroc() const override
bool containsBigPixelInY(int iymin, int iymax) const override
Definition: Plane.h:17
bool isItEdgePixelInX(int ixbin) const override
ProxyPixelTopology(PixelGeomDetType const *type, Plane *bp)
int channel(const LocalPoint &) const override
int ncolumns() const override
std::pair< float, float > pixel(const LocalPoint &p) const override
LocalPoint localPosition(const MeasurementPoint &) const override
virtual int colsperroc() const =0
LocalError localError(const MeasurementPoint &, const MeasurementError &) const override
virtual bool containsBigPixelInX(int ixmin, int ixmax) const =0
virtual bool isItBigPixelInY(int iybin) const =0
virtual int rocsY() const =0
bool isItEdgePixel(int ixbin, int iybin) const override
int rocsY() const override
virtual PixelGeomDetType const & specificType() const
int rowsperroc() const override
virtual const PixelTopology & specificTopology() const
virtual const TopologyType & specificTopology() const
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
virtual int ncolumns() const =0
const SurfaceDeformation * surfaceDeformation() const
virtual const GeomDetType & type() const
dbl *** dir
Definition: mlp_gen.cc:35
int rocsX() const override
bool isItBigPixelInY(const int iybin) const override
bool isItBigPixelInX(const int ixbin) const override
virtual bool containsBigPixelInY(int iymin, int iymax) const =0