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 //
29 
31 
35 class Plane;
36 
37 class ProxyStripTopology GCC11_FINAL : public StripTopology {
38 public:
39 
40  ProxyStripTopology(StripGeomDetType* type, Plane * bp);
41 
42  virtual LocalPoint localPosition( const MeasurementPoint& mp ) const { return specificTopology().localPosition(mp);}
44  virtual LocalPoint localPosition( const MeasurementPoint& mp, const Topology::LocalTrackPred &trkPred ) const;
45 
46  virtual LocalPoint localPosition( float strip ) const {return specificTopology().localPosition(strip);}
48  virtual LocalPoint localPosition( float strip, const Topology::LocalTrackPred &trkPred) const;
49 
50  virtual LocalError localError( float strip, float stripErr2 ) const {return specificTopology().localError(strip, stripErr2);}
52  virtual LocalError localError( float strip, float stripErr2, const Topology::LocalTrackPred &trkPred) const;
53 
55  const MeasurementError& me) const { return specificTopology().localError(mp, me);}
57  virtual LocalError localError( const MeasurementPoint& mp,
58  const MeasurementError& me,
59  const Topology::LocalTrackPred &trkPred) const;
60 
61  virtual MeasurementPoint measurementPosition( const LocalPoint& lp) const {return specificTopology().measurementPosition(lp);}
63  const Topology::LocalTrackAngles &dir) const;
64 
66  const LocalError& le ) const { return specificTopology().measurementError(lp, le); }
67  virtual MeasurementError measurementError( const LocalPoint &lp, const LocalError &le,
68  const Topology::LocalTrackAngles &dir) const;
69 
70  virtual int channel( const LocalPoint& lp) const {return specificTopology().channel(lp);}
71  virtual int channel( const LocalPoint &lp, const Topology::LocalTrackAngles &dir) const;
72 
73  virtual float strip( const LocalPoint& lp) const { return specificTopology().strip(lp);}
75  virtual float strip( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
76 
77  virtual float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const {
78  return specificTopology().coveredStrips(lp1,lp2);
79  }
80 
81  virtual float pitch() const { return specificTopology().pitch(); }
82  virtual float localPitch( const LocalPoint& lp) const { return specificTopology().localPitch(lp);}
84  virtual float localPitch( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
85 
86  virtual float stripAngle( float strip ) const { return specificTopology().stripAngle(strip);}
87 
88  virtual int nstrips() const {return specificTopology().nstrips();}
89 
90  virtual float stripLength() const {return specificTopology().stripLength();}
91  virtual float localStripLength(const LocalPoint& lp) const { return specificTopology().localStripLength(lp);}
92  virtual float localStripLength( const LocalPoint& lp, const Topology::LocalTrackAngles &dir ) const;
93 
94  virtual const GeomDetType& type() const { return *theType;}
95  virtual StripGeomDetType& specificType() const { return *theType;}
96 
98  return theSurfaceDeformation.operator->();
99  }
100  virtual void setSurfaceDeformation(const SurfaceDeformation * deformation);
101 
102 
103  virtual const StripTopology& specificTopology() const {return specificType().specificTopology();}
104 
105 private:
106 
110  positionCorrection(const LocalPoint &pos, const Topology::LocalTrackAngles &dir) const;
114  positionCorrection(const Topology::LocalTrackPred &trk) const;
115 
116  StripGeomDetType* theType;
117  float theLength, theWidth;
119 };
120 
121 #endif
type
Definition: HCALResponse.h:21
virtual int channel(const LocalPoint &lp) const
StripGeomDetType * 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 MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual const StripTopology & specificTopology() const
virtual StripGeomDetType & specificType() 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.