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  virtual LocalPoint localPosition( const MeasurementPoint& mp ) const { return specificTopology().localPosition(mp);}
39  virtual LocalPoint localPosition( const MeasurementPoint& mp, const Topology::LocalTrackPred &trkPred ) const;
40 
41  virtual LocalPoint localPosition( float strip ) const {return specificTopology().localPosition(strip);}
43  virtual LocalPoint localPosition( float strip, const Topology::LocalTrackPred &trkPred) const;
44 
45  virtual LocalError localError( float strip, float stripErr2 ) const {return specificTopology().localError(strip, stripErr2);}
47  virtual LocalError localError( float strip, float stripErr2, const Topology::LocalTrackPred &trkPred) const;
48 
50  const MeasurementError& me) const { return specificTopology().localError(mp, me);}
52  virtual LocalError localError( const MeasurementPoint& mp,
53  const MeasurementError& me,
54  const Topology::LocalTrackPred &trkPred) const;
55 
58  const Topology::LocalTrackAngles &dir) const;
59 
61  const LocalError& le ) const { return specificTopology().measurementError(lp, le); }
62  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le,
63  const Topology::LocalTrackAngles &dir) const;
64 
65  virtual int channel( const LocalPoint& lp) const {return specificTopology().channel(lp);}
66  virtual int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const;
67 
68  virtual float strip( const LocalPoint& lp) const { return specificTopology().strip(lp);}
70  virtual float strip( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
71 
72  virtual float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const {
73  return specificTopology().coveredStrips(lp1,lp2);
74  }
75 
76  virtual float pitch() const { return specificTopology().pitch(); }
77  virtual float localPitch( const LocalPoint& lp) const { return specificTopology().localPitch(lp);}
79  virtual float localPitch( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
80 
81  virtual float stripAngle( float strip ) const { return specificTopology().stripAngle(strip);}
82 
83  virtual int nstrips() const {return specificTopology().nstrips();}
84 
85  virtual float stripLength() const {return specificTopology().stripLength();}
86  virtual float localStripLength(const LocalPoint& lp) const { return specificTopology().localStripLength(lp);}
87  virtual float localStripLength( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
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 MeasurementPoint measurementPosition(const LocalPoint &lp) const
virtual LocalError localError(float strip, float stripErr2) const
virtual float stripLength() const =0
virtual const StripTopology & specificTopology() const
std::unique_ptr< const SurfaceDeformation > theSurfaceDeformation
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const
Definition: StripTopology.h:40
virtual int channel(const LocalPoint &lp) const
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
virtual float pitch() const
Definition: Plane.h:17
virtual LocalPoint localPosition(float strip) const
virtual float stripLength() const
virtual float stripAngle(float strip) const =0
virtual LocalPoint localPosition(float strip) const =0
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual float strip(const LocalPoint &lp) const
virtual const TopologyType & specificTopology() const
virtual MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const
virtual int channel(const LocalPoint &p) const =0
virtual LocalError localError(const MeasurementPoint &mp, const MeasurementError &me) const
virtual LocalPoint localPosition(const MeasurementPoint &mp) const
const SurfaceDeformation * surfaceDeformation() const
virtual float localPitch(const LocalPoint &lp) const
SurfaceDeformation::Local2DVector positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const
virtual int nstrips() const =0
virtual float stripAngle(float strip) const
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
virtual int nstrips() const
virtual float localStripLength(const LocalPoint &lp) const
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const