CMS 3D CMS Logo

ProxyStripTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_TrackerTopology_ProxyStripTopology_H
2 #define Geometry_TrackerTopology_ProxyStripTopology_H
3 
15 //
26 
30 class Plane;
31 
32 class ProxyStripTopology final : public StripTopology {
33 public:
34 
36 
37  LocalPoint localPosition( const MeasurementPoint& mp ) const override { return specificTopology().localPosition(mp);}
39  LocalPoint localPosition( const MeasurementPoint& mp, const Topology::LocalTrackPred &trkPred ) const override;
40 
41  LocalPoint localPosition( float strip ) const override {return specificTopology().localPosition(strip);}
43  LocalPoint localPosition( float strip, const Topology::LocalTrackPred &trkPred) const override;
44 
45  LocalError localError( float strip, float stripErr2 ) const override {return specificTopology().localError(strip, stripErr2);}
47  LocalError localError( float strip, float stripErr2, const Topology::LocalTrackPred &trkPred) const override;
48 
50  const MeasurementError& me) const override { return specificTopology().localError(mp, me);}
53  const MeasurementError& me,
54  const Topology::LocalTrackPred &trkPred) const override;
55 
58  const Topology::LocalTrackAngles &dir) const override;
59 
61  const LocalError& le ) const override { return specificTopology().measurementError(lp, le); }
63  const Topology::LocalTrackAngles &dir) const override;
64 
65  int channel( const LocalPoint& lp) const override {return specificTopology().channel(lp);}
66  int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const override;
67 
68  float strip( const LocalPoint& lp) const override { return specificTopology().strip(lp);}
70  float strip( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const override;
71 
72  float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const override {
73  return specificTopology().coveredStrips(lp1,lp2);
74  }
75 
76  float pitch() const override { return specificTopology().pitch(); }
77  float localPitch( const LocalPoint& lp) const override { return specificTopology().localPitch(lp);}
79  float localPitch( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const override;
80 
81  float stripAngle( float strip ) const override { return specificTopology().stripAngle(strip);}
82 
83  int nstrips() const override {return specificTopology().nstrips();}
84 
85  float stripLength() const override {return specificTopology().stripLength();}
86  float localStripLength(const LocalPoint& lp) const override { return specificTopology().localStripLength(lp);}
87  float localStripLength( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const override;
88 
89  virtual const GeomDetType& type() const { return *theType;}
90  virtual StripGeomDetType const & specificType() const { return *theType;}
91 
93  return theSurfaceDeformation.operator->();
94  }
95  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
96 
97 
98  virtual const StripTopology& specificTopology() const {return specificType().specificTopology();}
99 
100 private:
101 
110 
113  std::unique_ptr<const SurfaceDeformation> theSurfaceDeformation;
114 };
115 
116 #endif
type
Definition: HCALResponse.h:21
virtual float stripLength() const =0
virtual const StripTopology & specificTopology() const
LocalError localError(float strip, float stripErr2) const override
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const
Definition: StripTopology.h:40
float strip(const LocalPoint &lp) const override
int channel(const LocalPoint &lp) const override
MeasurementPoint measurementPosition(const LocalPoint &lp) const override
float stripAngle(float strip) const override
float stripLength() const override
virtual float localStripLength(const LocalPoint &aLP) const =0
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float strip(const LocalPoint &) const =0
ProxyStripTopology(StripGeomDetType const *type, Plane *bp)
virtual const GeomDetType & type() const
int nstrips() const override
float pitch() const override
float localStripLength(const LocalPoint &lp) const override
Definition: Plane.h:17
float localPitch(const LocalPoint &lp) const override
virtual float stripAngle(float strip) const =0
virtual LocalPoint localPosition(float strip) const =0
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual const TopologyType & specificTopology() const
MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const override
virtual int channel(const LocalPoint &p) const =0
float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const override
LocalPoint localPosition(float strip) const override
LocalError localError(const MeasurementPoint &mp, const MeasurementError &me) const override
LocalPoint localPosition(const MeasurementPoint &mp) const override
const SurfaceDeformation * surfaceDeformation() const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
virtual int nstrips() const =0
StripGeomDetType const * theType
virtual float localPitch(const LocalPoint &) const =0
virtual StripGeomDetType const & specificType() const
virtual float pitch() const =0
dbl *** dir
Definition: mlp_gen.cc:35
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation)
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0