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 
30 class ProxyPixelTopology GCC11_FINAL : public PixelTopology {
31 public:
32 
33  ProxyPixelTopology( PixelGeomDetType const * type, Plane * bp );
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;
119  positionCorrection(const Topology::LocalTrackPred &trk) const;
120 
121  PixelGeomDetType const * theType;
122  float theLength, theWidth;
124 };
125 
126 #endif
type
Definition: HCALResponse.h:21
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
PixelGeomDetType const * theType
virtual bool containsBigPixelInY(int iymin, int iymax) const
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
virtual bool containsBigPixelInX(int ixmin, int ixmax) const
const SurfaceDeformation * surfaceDeformation() const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
virtual bool isItBigPixelInX(const int ixbin) 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 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 const & specificType() const
Unlimited (trivial) bounds.
virtual int rocsY() const