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 
30 
31 class Plane;
32 
33 class ProxyPixelTopology GCC11_FINAL : public PixelTopology {
34 public:
35 
36  ProxyPixelTopology( PixelGeomDetType* type, Plane * 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 { return specificTopology().pitch(); }
67  virtual int nrows() const { return specificTopology().nrows(); }
68  virtual int ncolumns() const { return specificTopology().ncolumns(); }
69  virtual int rocsY() const { return specificTopology().rocsY(); }
70  virtual int rocsX() const { return specificTopology().rocsX(); }
71  virtual int rowsperroc() const { return specificTopology().rowsperroc(); }
72  virtual int colsperroc() const { return specificTopology().colsperroc(); }
73  virtual float localX( const float mpX ) const;
74  virtual float localX( const float mpX, const Topology::LocalTrackPred &trkPred ) const;
75  virtual float localY( const float mpY ) const;
76  virtual float localY( const float mpY, const Topology::LocalTrackPred &trkPred ) const;
77 
78  virtual bool isItBigPixelInX(const int ixbin) const {
79  return specificTopology().isItBigPixelInX(ixbin);
80  }
81  virtual bool isItBigPixelInY(const int iybin) const {
82  return specificTopology().isItBigPixelInY(iybin);
83  }
84  virtual bool containsBigPixelInX(const int& ixmin, const int& ixmax) const {
85  return specificTopology().containsBigPixelInX(ixmin, ixmax);
86  }
87  virtual bool containsBigPixelInY(const int& iymin, const int& iymax) const {
88  return specificTopology().containsBigPixelInY(iymin, iymax);
89  }
90 
91  virtual bool isItEdgePixelInX(int ixbin) const {
92  return specificTopology().isItEdgePixelInX(ixbin);
93  }
94  virtual bool isItEdgePixelInY(int iybin) const {
95  return specificTopology().isItEdgePixelInY(iybin);
96  }
97  virtual bool isItEdgePixel(int ixbin, int iybin) const {
98  return specificTopology().isItEdgePixel(ixbin, iybin);
99  }
100 
101  virtual const GeomDetType& type() const { return *theType;}
102 
103  virtual PixelGeomDetType& specificType() const { return *theType; }
104 
106  return theSurfaceDeformation.operator->();
107  }
108  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
109 
110 
111  virtual const PixelTopology& specificTopology() const { return specificType().specificTopology(); }
112 
113 private:
114 
118  positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const;
122  positionCorrection(const Topology::LocalTrackPred &trk) const;
123 
124  PixelGeomDetType* theType;
125  float theLength, theWidth;
127 };
128 
129 #endif
type
Definition: HCALResponse.h:21
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
virtual int colsperroc() const
virtual bool isItEdgePixelInX(int ixbin) const
virtual int rocsX() const
Definition: Plane.h:17
virtual std::pair< float, float > pitch() const
virtual int nrows() const
const SurfaceDeformation * surfaceDeformation() const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
PixelGeomDetType * theType
virtual bool isItBigPixelInX(const int ixbin) const
virtual bool containsBigPixelInX(const int &ixmin, const int &ixmax) const
virtual std::pair< float, float > pixel(const LocalPoint &p) const =0
DeepCopyPointerByClone< const SurfaceDeformation > theSurfaceDeformation
virtual int rowsperroc() const
virtual int ncolumns() const
virtual int channel(const LocalPoint &p) const =0
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual float localX(const float mpX) const =0
virtual const PixelTopology & specificTopology() const
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const =0
virtual bool isItEdgePixel(int ixbin, int iybin) const
virtual bool isItEdgePixelInY(int iybin) const
virtual bool containsBigPixelInY(const int &iymin, const int &iymax) const
virtual bool isItBigPixelInY(const int iybin) const
dbl *** dir
Definition: mlp_gen.cc:35
virtual const GeomDetType & type() const
virtual float localY(const float mpY) const =0
virtual PixelGeomDetType & specificType() const
Unlimited (trivial) bounds.
virtual int rocsY() const