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 //
24 
26 
29 
30 class PixelGeomDetType;
31 class BoundPlane;
32 
33 class ProxyPixelTopology GCC11_FINAL : public PixelTopology {
34 public:
35 
36  ProxyPixelTopology( PixelGeomDetType* type, BoundPlane * bp );
37 
38  virtual LocalPoint localPosition( const MeasurementPoint& ) const;
40  virtual LocalPoint localPosition( const MeasurementPoint& mp,
41  const Topology::LocalTrackPred &trkPred ) const;
42 
43  virtual LocalError localError( const MeasurementPoint&,
44  const MeasurementError& ) const;
46  virtual LocalError localError( const MeasurementPoint& mp,
47  const MeasurementError& me,
48  const Topology::LocalTrackPred &trkPred ) const;
49 
50  virtual MeasurementPoint measurementPosition( const LocalPoint & ) const;
52  const Topology::LocalTrackAngles &dir ) const;
53 
54  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le ) const;
55  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le,
56  const Topology::LocalTrackAngles &dir ) const;
57 
58  virtual int channel( const LocalPoint& ) const;
59  virtual int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir ) const;
60 
61  virtual std::pair<float,float> pixel( const LocalPoint& p) const;
63  virtual std::pair<float,float> pixel( const LocalPoint& p,
64  const Topology::LocalTrackAngles &ltp ) const;
65 
66  virtual std::pair<float,float> pitch() const;
67  virtual int nrows() const;
68  virtual int ncolumns() const;
69 
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(const int& ixmin, const int& ixmax) const {
82  return specificTopology().containsBigPixelInX(ixmin, ixmax);
83  }
84  virtual bool containsBigPixelInY(const int& iymin, const 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;
99  virtual PixelGeomDetType& specificType() const;
100 
102  return theSurfaceDeformation.operator->();
103  }
104  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
105 
106 private:
107 
108  virtual const PixelTopology& specificTopology() const;
112  positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const;
116  positionCorrection(const Topology::LocalTrackPred &trk) const;
117 
119  float theLength, theWidth;
121 };
122 
123 #endif
type
Definition: HCALResponse.h:22
virtual bool isItEdgePixelInY(int iybin) const
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
virtual int ncolumns() const =0
virtual int nrows() const =0
virtual bool containsBigPixelInY(const int &iymin, const int &iymax) const
DeepCopyPointerByClone< const SurfaceDeformation > theSurfaceDeformation
virtual bool isItBigPixelInX(const int ixbin) const
virtual bool isItBigPixelInY(const int iybin) const
virtual bool isItEdgePixel(int ixbin, int iybin) const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
virtual std::pair< float, float > pixel(const LocalPoint &p) const =0
const SurfaceDeformation * surfaceDeformation() const
virtual int channel(const LocalPoint &p) const =0
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual bool isItEdgePixelInX(int ixbin) const
virtual std::pair< float, float > pitch() const =0
virtual float localX(const float mpX) const =0
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const =0
virtual bool containsBigPixelInX(const int &ixmin, const int &ixmax) const
dbl *** dir
Definition: mlp_gen.cc:35
PixelGeomDetType * theType
virtual float localY(const float mpY) const =0
Our base class.
Definition: SiPixelRecHit.h:22