CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProxyStripTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_TrackerTopology_ProxyStripTopology_H
2 #define Geometry_TrackerTopology_ProxyStripTopology_H
3 
15 //
26 
28 
32 class Plane;
33 
34 class ProxyStripTopology GCC11_FINAL : public StripTopology {
35 public:
36 
37  ProxyStripTopology(StripGeomDetType const * type, Plane * bp);
38 
39  virtual LocalPoint localPosition( const MeasurementPoint& mp ) const { return specificTopology().localPosition(mp);}
41  virtual LocalPoint localPosition( const MeasurementPoint& mp, const Topology::LocalTrackPred &trkPred ) const;
42 
43  virtual LocalPoint localPosition( float strip ) const {return specificTopology().localPosition(strip);}
45  virtual LocalPoint localPosition( float strip, const Topology::LocalTrackPred &trkPred) const;
46 
47  virtual LocalError localError( float strip, float stripErr2 ) const {return specificTopology().localError(strip, stripErr2);}
49  virtual LocalError localError( float strip, float stripErr2, const Topology::LocalTrackPred &trkPred) const;
50 
52  const MeasurementError& me) const { return specificTopology().localError(mp, me);}
54  virtual LocalError localError( const MeasurementPoint& mp,
55  const MeasurementError& me,
56  const Topology::LocalTrackPred &trkPred) const;
57 
58  virtual MeasurementPoint measurementPosition( const LocalPoint& lp) const {return specificTopology().measurementPosition(lp);}
60  const Topology::LocalTrackAngles &dir) const;
61 
63  const LocalError& le ) const { return specificTopology().measurementError(lp, le); }
64  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le,
65  const Topology::LocalTrackAngles &dir) const;
66 
67  virtual int channel( const LocalPoint& lp) const {return specificTopology().channel(lp);}
68  virtual int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const;
69 
70  virtual float strip( const LocalPoint& lp) const { return specificTopology().strip(lp);}
72  virtual float strip( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
73 
74  virtual float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const {
75  return specificTopology().coveredStrips(lp1,lp2);
76  }
77 
78  virtual float pitch() const { return specificTopology().pitch(); }
79  virtual float localPitch( const LocalPoint& lp) const { return specificTopology().localPitch(lp);}
81  virtual float localPitch( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
82 
83  virtual float stripAngle( float strip ) const { return specificTopology().stripAngle(strip);}
84 
85  virtual int nstrips() const {return specificTopology().nstrips();}
86 
87  virtual float stripLength() const {return specificTopology().stripLength();}
88  virtual float localStripLength(const LocalPoint& lp) const { return specificTopology().localStripLength(lp);}
89  virtual float localStripLength( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
90 
91  virtual const GeomDetType& type() const { return *theType;}
92  virtual StripGeomDetType const & specificType() const { return *theType;}
93 
95  return theSurfaceDeformation.operator->();
96  }
97  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
98 
99 
100  virtual const StripTopology& specificTopology() const {return specificType().specificTopology();}
101 
102 private:
103 
107  positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const;
111  positionCorrection(const Topology::LocalTrackPred &trk) const;
112 
113  StripGeomDetType const * theType;
114  float theLength, theWidth;
116 };
117 
118 #endif
type
Definition: HCALResponse.h:21
virtual int channel(const LocalPoint &lp) const
StripGeomDetType const * theType
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const
virtual LocalPoint localPosition(float strip) const
virtual LocalError localError(const MeasurementPoint &mp, const MeasurementError &me) const
Definition: Plane.h:17
virtual float strip(const LocalPoint &lp) const
virtual float strip(const LocalPoint &) const =0
virtual MeasurementPoint measurementPosition(const LocalPoint &lp) const
virtual float localPitch(const LocalPoint &) const =0
const SurfaceDeformation * surfaceDeformation() const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
virtual float stripLength() const
virtual int channel(const LocalPoint &p) const =0
virtual float stripAngle(float strip) const
virtual LocalError localError(float strip, float stripErr2) const
virtual StripGeomDetType const & specificType() const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual const StripTopology & specificTopology() const
virtual float localPitch(const LocalPoint &lp) const
virtual int nstrips() const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float pitch() const
virtual float localStripLength(const LocalPoint &aLP) const =0
virtual MeasurementError measurementError(const LocalPoint &lp, const LocalError &le) const
virtual LocalPoint localPosition(const MeasurementPoint &mp) const
virtual LocalPoint localPosition(float strip) const =0
dbl *** dir
Definition: mlp_gen.cc:35
virtual float localStripLength(const LocalPoint &lp) const
virtual const GeomDetType & type() const
Unlimited (trivial) bounds.