CMS 3D CMS Logo

ProxyPixelTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_ProxyPixelTopology_H
2 #define Geometry_CommonTopologies_ProxyPixelTopology_H
3 
15 //
21 
25 
26 class Plane;
27 
28 class ProxyPixelTopology final : public PixelTopology {
29 public:
31 
32  LocalPoint localPosition(const MeasurementPoint &) const override;
34  LocalPoint localPosition(const MeasurementPoint &mp, const Topology::LocalTrackPred &trkPred) const override;
35 
36  LocalError localError(const MeasurementPoint &, const MeasurementError &) const override;
39  const MeasurementError &me,
40  const Topology::LocalTrackPred &trkPred) const override;
41 
42  MeasurementPoint measurementPosition(const LocalPoint &) const override;
44 
45  MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const override;
47  const LocalError &le,
48  const Topology::LocalTrackAngles &dir) const override;
49 
50  int channel(const LocalPoint &) const override;
51  int channel(const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const override;
52 
53  std::pair<float, float> pixel(const LocalPoint &p) const override;
55  std::pair<float, float> pixel(const LocalPoint &p, const Topology::LocalTrackAngles &ltp) const override;
56 
57  std::pair<float, float> pitch() const override { return specificTopology().pitch(); }
58  int nrows() const override { return specificTopology().nrows(); }
59  int ncolumns() const override { return specificTopology().ncolumns(); }
60  int rocsY() const override { return specificTopology().rocsY(); }
61  int rocsX() const override { return specificTopology().rocsX(); }
62  int rowsperroc() const override { return specificTopology().rowsperroc(); }
63  int colsperroc() const override { return specificTopology().colsperroc(); }
64  bool isBricked() const override { return specificTopology().isBricked(); }
65  float localX(const float mpX) const override;
66  float localX(const float mpX, const Topology::LocalTrackPred &trkPred) const override;
67  float localY(const float mpY) const override;
68  float localY(const float mpY, const Topology::LocalTrackPred &trkPred) const override;
69 
70  bool isItBigPixelInX(const int ixbin) const override { return specificTopology().isItBigPixelInX(ixbin); }
71  bool isItBigPixelInY(const int iybin) const override { return specificTopology().isItBigPixelInY(iybin); }
72  bool containsBigPixelInX(int ixmin, int ixmax) const override {
73  return specificTopology().containsBigPixelInX(ixmin, ixmax);
74  }
75  bool containsBigPixelInY(int iymin, int iymax) const override {
76  return specificTopology().containsBigPixelInY(iymin, iymax);
77  }
78 
79  bool isItEdgePixelInX(int ixbin) const override { return specificTopology().isItEdgePixelInX(ixbin); }
80  bool isItEdgePixelInY(int iybin) const override { return specificTopology().isItEdgePixelInY(iybin); }
81  bool isItEdgePixel(int ixbin, int iybin) const override { return specificTopology().isItEdgePixel(ixbin, iybin); }
82 
83  virtual const GeomDetType &type() const { return *theType; }
84 
85  virtual PixelGeomDetType const &specificType() const { return *theType; }
86 
87  const SurfaceDeformation *surfaceDeformation() const { return theSurfaceDeformation.operator->(); }
88  virtual void setSurfaceDeformation(const SurfaceDeformation *deformation);
89 
90  virtual const PixelTopology &specificTopology() const { return specificType().specificTopology(); }
91 
92 private:
96  const Topology::LocalTrackAngles &dir) const;
100 
103  std::unique_ptr<const SurfaceDeformation> theSurfaceDeformation;
104 };
105 
106 #endif
Point2DBase
Definition: Point2DBase.h:9
ProxyPixelTopology::specificTopology
virtual const PixelTopology & specificTopology() const
Definition: ProxyPixelTopology.h:90
ProxyPixelTopology::isItBigPixelInY
bool isItBigPixelInY(const int iybin) const override
Definition: ProxyPixelTopology.h:71
PixelTopology.h
PixelTopology::isItEdgePixelInX
virtual bool isItEdgePixelInX(int ixbin) const =0
PixelTopology::colsperroc
virtual int colsperroc() const =0
ProxyPixelTopology::measurementPosition
MeasurementPoint measurementPosition(const LocalPoint &) const override
Definition: ProxyPixelTopology.cc:46
PixelTopology::isBricked
virtual bool isBricked() const =0
pos
Definition: PixelAliasList.h:18
PixelTopology::pitch
virtual std::pair< float, float > pitch() const =0
PixelGeomDetType::specificTopology
virtual const TopologyType & specificTopology() const
Definition: PixelGeomDetType.h:23
GeomDetType
Definition: GeomDetType.h:9
ProxyPixelTopology::rocsY
int rocsY() const override
Definition: ProxyPixelTopology.h:60
ProxyPixelTopology::ncolumns
int ncolumns() const override
Definition: ProxyPixelTopology.h:59
ProxyPixelTopology::isBricked
bool isBricked() const override
Definition: ProxyPixelTopology.h:64
ProxyPixelTopology::measurementError
MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const override
Definition: ProxyPixelTopology.cc:64
ProxyPixelTopology::specificType
virtual const PixelGeomDetType & specificType() const
Definition: ProxyPixelTopology.h:85
PixelTopology::isItEdgePixel
virtual bool isItEdgePixel(int ixbin, int iybin) const =0
ProxyPixelTopology::localError
LocalError localError(const MeasurementPoint &, const MeasurementError &) const override
Definition: ProxyPixelTopology.cc:30
SurfaceDeformation
Definition: SurfaceDeformation.h:18
ProxyPixelTopology::isItEdgePixel
bool isItEdgePixel(int ixbin, int iybin) const override
Definition: ProxyPixelTopology.h:81
PixelTopology::isItEdgePixelInY
virtual bool isItEdgePixelInY(int iybin) const =0
ProxyPixelTopology::rowsperroc
int rowsperroc() const override
Definition: ProxyPixelTopology.h:62
PixelTopology::isItBigPixelInX
virtual bool isItBigPixelInX(int ixbin) const =0
ProxyPixelTopology::channel
int channel(const LocalPoint &) const override
Definition: ProxyPixelTopology.cc:83
ProxyPixelTopology::theWidth
float theWidth
Definition: ProxyPixelTopology.h:102
ProxyPixelTopology::theType
const PixelGeomDetType * theType
Definition: ProxyPixelTopology.h:101
ProxyPixelTopology::containsBigPixelInY
bool containsBigPixelInY(int iymin, int iymax) const override
Definition: ProxyPixelTopology.h:75
ProxyPixelTopology::localPosition
LocalPoint localPosition(const MeasurementPoint &) const override
Definition: ProxyPixelTopology.cc:12
PixelTopology::containsBigPixelInX
virtual bool containsBigPixelInX(int ixmin, int ixmax) const =0
ProxyPixelTopology::positionCorrection
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
Definition: ProxyPixelTopology.cc:148
MeasurementError
Definition: MeasurementError.h:8
Topology::LocalTrackPred
Definition: Topology.h:56
PixelTopology::rocsX
virtual int rocsX() const =0
PixelTopology::ncolumns
virtual int ncolumns() const =0
Vector2DBase
Definition: Vector2DBase.h:8
Point3DBase< float, LocalTag >
PixelTopology
Definition: PixelTopology.h:10
ProxyPixelTopology::colsperroc
int colsperroc() const override
Definition: ProxyPixelTopology.h:63
ProxyPixelTopology::surfaceDeformation
const SurfaceDeformation * surfaceDeformation() const
Definition: ProxyPixelTopology.h:87
SurfaceDeformation.h
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
ProxyPixelTopology::localY
float localY(const float mpY) const override
Definition: ProxyPixelTopology.cc:128
LocalError
Definition: LocalError.h:12
type
type
Definition: SiPixelVCal_PayloadInspector.cc:39
ProxyPixelTopology::isItBigPixelInX
bool isItBigPixelInX(const int ixbin) const override
Definition: ProxyPixelTopology.h:70
PixelTopology::isItBigPixelInY
virtual bool isItBigPixelInY(int iybin) const =0
ProxyPixelTopology::ProxyPixelTopology
ProxyPixelTopology(PixelGeomDetType const *type, Plane *bp)
Definition: ProxyPixelTopology.cc:8
Topology::LocalTrackAngles
Definition: Topology.h:44
PixelTopology::rowsperroc
virtual int rowsperroc() const =0
PixelGeomDetType.h
ProxyPixelTopology::isItEdgePixelInX
bool isItEdgePixelInX(int ixbin) const override
Definition: ProxyPixelTopology.h:79
ProxyPixelTopology::localX
float localX(const float mpX) const override
Definition: ProxyPixelTopology.cc:113
ProxyPixelTopology
Definition: ProxyPixelTopology.h:28
ProxyPixelTopology::theLength
float theLength
Definition: ProxyPixelTopology.h:102
PixelTopology::containsBigPixelInY
virtual bool containsBigPixelInY(int iymin, int iymax) const =0
ProxyPixelTopology::setSurfaceDeformation
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation)
Definition: ProxyPixelTopology.cc:143
ProxyPixelTopology::type
virtual const GeomDetType & type() const
Definition: ProxyPixelTopology.h:83
ProxyPixelTopology::theSurfaceDeformation
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
Definition: ProxyPixelTopology.h:103
ProxyPixelTopology::rocsX
int rocsX() const override
Definition: ProxyPixelTopology.h:61
Plane
Definition: Plane.h:16
ProxyPixelTopology::pitch
std::pair< float, float > pitch() const override
Definition: ProxyPixelTopology.h:57
PixelTopology::rocsY
virtual int rocsY() const =0
ProxyPixelTopology::pixel
std::pair< float, float > pixel(const LocalPoint &p) const override
Definition: ProxyPixelTopology.cc:98
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
PixelTopology::nrows
virtual int nrows() const =0
ProxyPixelTopology::nrows
int nrows() const override
Definition: ProxyPixelTopology.h:58
PixelGeomDetType
Definition: PixelGeomDetType.h:11
ProxyPixelTopology::isItEdgePixelInY
bool isItEdgePixelInY(int iybin) const override
Definition: ProxyPixelTopology.h:80
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
ProxyPixelTopology::containsBigPixelInX
bool containsBigPixelInX(int ixmin, int ixmax) const override
Definition: ProxyPixelTopology.h:72