CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual LocalPoint localPosition( const MeasurementPoint& ) const;
35  virtual LocalPoint localPosition( const MeasurementPoint& mp,
36  const Topology::LocalTrackPred &trkPred ) const;
37 
38  virtual LocalError localError( const MeasurementPoint&,
39  const MeasurementError& ) const;
41  virtual LocalError localError( const MeasurementPoint& mp,
42  const MeasurementError& me,
43  const Topology::LocalTrackPred &trkPred ) const;
44 
45  virtual MeasurementPoint measurementPosition( const LocalPoint & ) const;
47  const Topology::LocalTrackAngles &dir ) const;
48 
49  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le ) const;
50  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le,
51  const Topology::LocalTrackAngles &dir ) const;
52 
53  virtual int channel( const LocalPoint& ) const;
54  virtual int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir ) const;
55 
56  virtual std::pair<float,float> pixel( const LocalPoint& p) const;
58  virtual std::pair<float,float> pixel( const LocalPoint& p,
59  const Topology::LocalTrackAngles &ltp ) const;
60 
61  virtual std::pair<float,float> pitch() const { return specificTopology().pitch(); }
62  virtual int nrows() const { return specificTopology().nrows(); }
63  virtual int ncolumns() const { return specificTopology().ncolumns(); }
64  virtual int rocsY() const { return specificTopology().rocsY(); }
65  virtual int rocsX() const { return specificTopology().rocsX(); }
66  virtual int rowsperroc() const { return specificTopology().rowsperroc(); }
67  virtual int colsperroc() const { return specificTopology().colsperroc(); }
68  virtual float localX( const float mpX ) const;
69  virtual float localX( const float mpX, const Topology::LocalTrackPred &trkPred ) const;
70  virtual float localY( const float mpY ) const;
71  virtual float localY( const float mpY, const Topology::LocalTrackPred &trkPred ) const;
72 
73  virtual bool isItBigPixelInX(const int ixbin) const {
74  return specificTopology().isItBigPixelInX(ixbin);
75  }
76  virtual bool isItBigPixelInY(const int iybin) const {
77  return specificTopology().isItBigPixelInY(iybin);
78  }
79  virtual bool containsBigPixelInX(int ixmin, int ixmax) const {
80  return specificTopology().containsBigPixelInX(ixmin, ixmax);
81  }
82  virtual bool containsBigPixelInY(int iymin, int iymax) const {
83  return specificTopology().containsBigPixelInY(iymin, iymax);
84  }
85 
86  virtual bool isItEdgePixelInX(int ixbin) const {
87  return specificTopology().isItEdgePixelInX(ixbin);
88  }
89  virtual bool isItEdgePixelInY(int iybin) const {
90  return specificTopology().isItEdgePixelInY(iybin);
91  }
92  virtual bool isItEdgePixel(int ixbin, int iybin) const {
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 
113  positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const;
118 
121  std::unique_ptr<const SurfaceDeformation> theSurfaceDeformation;
122 };
123 
124 #endif
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
type
Definition: HCALResponse.h:21
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation)
PixelGeomDetType const * theType
virtual int ncolumns() const =0
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const
virtual bool containsBigPixelInX(int ixmin, int ixmax) const
virtual int rowsperroc() const =0
virtual int nrows() const =0
virtual bool isItEdgePixel(int ixbin, int iybin) const
virtual int rocsX() const =0
Definition: Plane.h:17
virtual bool isItEdgePixelInY(int iybin) const
ProxyPixelTopology(PixelGeomDetType const *type, Plane *bp)
virtual bool isItBigPixelInX(const int ixbin) const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const
virtual bool isItEdgePixelInX(int ixbin) const =0
virtual bool containsBigPixelInY(int iymin, int iymax) const =0
virtual bool isItBigPixelInY(const int iybin) const
virtual int colsperroc() const =0
virtual int rocsY() const
virtual bool containsBigPixelInX(int ixmin, int ixmax) const =0
virtual int rocsY() const =0
virtual int colsperroc() const
virtual std::pair< float, float > pitch() const =0
virtual bool isItBigPixelInX(const int ixbin) const =0
virtual PixelGeomDetType const & specificType() const
virtual bool isItEdgePixelInX(int ixbin) const
virtual float localY(const float mpY) const
virtual const PixelTopology & specificTopology() const
virtual int nrows() const
virtual const TopologyType & specificTopology() const
virtual bool containsBigPixelInY(int iymin, int iymax) const
virtual MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const
virtual int rocsX() const
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
virtual bool isItEdgePixelInY(int iybin) const =0
virtual LocalPoint localPosition(const MeasurementPoint &) const
const SurfaceDeformation * surfaceDeformation() const
virtual std::pair< float, float > pitch() const
virtual const GeomDetType & type() const
virtual float localX(const float mpX) const
dbl *** dir
Definition: mlp_gen.cc:35
virtual int channel(const LocalPoint &) const
virtual std::pair< float, float > pixel(const LocalPoint &p) const
virtual bool isItEdgePixel(int ixbin, int iybin) const =0
virtual int rowsperroc() const
virtual int ncolumns() const
virtual bool isItBigPixelInY(const int iybin) const =0