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 
23 
27 
28 class Plane;
29 
31 public:
32 
34 
35  virtual LocalPoint localPosition( const MeasurementPoint& ) const;
37  virtual LocalPoint localPosition( const MeasurementPoint& mp,
38  const Topology::LocalTrackPred &trkPred ) const;
39 
40  virtual LocalError localError( const MeasurementPoint&,
41  const MeasurementError& ) const;
43  virtual LocalError localError( const MeasurementPoint& mp,
44  const MeasurementError& me,
45  const Topology::LocalTrackPred &trkPred ) const;
46 
47  virtual MeasurementPoint measurementPosition( const LocalPoint & ) const;
49  const Topology::LocalTrackAngles &dir ) const;
50 
51  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le ) const;
52  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le,
53  const Topology::LocalTrackAngles &dir ) const;
54 
55  virtual int channel( const LocalPoint& ) const;
56  virtual int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir ) const;
57 
58  virtual std::pair<float,float> pixel( const LocalPoint& p) const;
60  virtual std::pair<float,float> pixel( const LocalPoint& p,
61  const Topology::LocalTrackAngles &ltp ) const;
62 
63  virtual std::pair<float,float> pitch() const { return specificTopology().pitch(); }
64  virtual int nrows() const { return specificTopology().nrows(); }
65  virtual int ncolumns() const { return specificTopology().ncolumns(); }
66  virtual int rocsY() const { return specificTopology().rocsY(); }
67  virtual int rocsX() const { return specificTopology().rocsX(); }
68  virtual int rowsperroc() const { return specificTopology().rowsperroc(); }
69  virtual int colsperroc() const { return specificTopology().colsperroc(); }
70  virtual float localX( const float mpX ) const;
71  virtual float localX( const float mpX, const Topology::LocalTrackPred &trkPred ) const;
72  virtual float localY( const float mpY ) const;
73  virtual float localY( const float mpY, const Topology::LocalTrackPred &trkPred ) const;
74 
75  virtual bool isItBigPixelInX(const int ixbin) const {
76  return specificTopology().isItBigPixelInX(ixbin);
77  }
78  virtual bool isItBigPixelInY(const int iybin) const {
79  return specificTopology().isItBigPixelInY(iybin);
80  }
81  virtual bool containsBigPixelInX(int ixmin, int ixmax) const {
82  return specificTopology().containsBigPixelInX(ixmin, ixmax);
83  }
84  virtual bool containsBigPixelInY(int iymin, int iymax) const {
85  return specificTopology().containsBigPixelInY(iymin, iymax);
86  }
87 
88  virtual bool isItEdgePixelInX(int ixbin) const {
89  return specificTopology().isItEdgePixelInX(ixbin);
90  }
91  virtual bool isItEdgePixelInY(int iybin) const {
92  return specificTopology().isItEdgePixelInY(iybin);
93  }
94  virtual bool isItEdgePixel(int ixbin, int iybin) const {
95  return specificTopology().isItEdgePixel(ixbin, iybin);
96  }
97 
98  virtual const GeomDetType& type() const { return *theType;}
99 
100  virtual PixelGeomDetType const & specificType() const { return *theType; }
101 
103  return theSurfaceDeformation.operator->();
104  }
105  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
106 
107 
108  virtual const PixelTopology& specificTopology() const { return specificType().specificTopology(); }
109 
110 private:
111 
115  positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const;
120 
124 };
125 
126 #endif
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
type
Definition: HCALResponse.h:21
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation)
#define GCC11_FINAL
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
DeepCopyPointerByClone< const SurfaceDeformation > theSurfaceDeformation
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
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