CMS 3D CMS Logo

RadialStripTopology.h
Go to the documentation of this file.
1 #ifndef _RADIAL_STRIP_TOPOLOGY_H_
2 #define _RADIAL_STRIP_TOPOLOGY_H_
3 
5 
29 public:
33  ~RadialStripTopology() override {}
34 
35  // =========================================================
36  // StripTopology interface - implement pure virtual methods
37  // =========================================================
38 
43  LocalPoint localPosition(float strip) const override = 0;
44 
59  LocalPoint localPosition(const MeasurementPoint&) const override = 0;
60 
68  LocalError localError(float strip, float stripErr2) const override = 0;
69 
75  LocalError localError(const MeasurementPoint&, const MeasurementError&) const override = 0;
76 
84  float strip(const LocalPoint&) const override = 0;
85 
92  float pitch() const final;
93 
98  float localPitch(const LocalPoint&) const override = 0;
99 
111  float stripAngle(float strip) const override = 0;
112 
116  int nstrips() const override = 0;
117 
121  float stripLength() const override = 0;
122 
126  float localStripLength(const LocalPoint&) const override = 0;
127 
128  // =========================================================
129  // Topology interface (not already implemented for
130  // StripTopology interface)
131  // =========================================================
132 
133  MeasurementPoint measurementPosition(const LocalPoint&) const override = 0;
134 
135  MeasurementError measurementError(const LocalPoint&, const LocalError&) const override = 0;
136 
144  int channel(const LocalPoint&) const override = 0;
145 
146  // =========================================================
147  // RadialStripTopology interface itself
148  // =========================================================
149 
153  virtual float angularWidth() const = 0;
154 
158  virtual float phiPitch(void) const = 0;
159 
163  virtual float detHeight() const = 0;
164 
168  virtual float yExtentOfStripPlane() const = 0; // same as detHeight()
169 
175  virtual float centreToIntersection() const = 0;
181  virtual float originToIntersection() const = 0;
194  virtual float phiOfOneEdge() const = 0;
195 
200  virtual float xOfStrip(int strip, float y) const = 0;
201 
205  virtual int nearestStrip(const LocalPoint&) const = 0;
206 
210  virtual float yAxisOrientation() const = 0;
211 
215  virtual float yCentreOfStripPlane() const = 0;
216 
220  virtual float yDistanceToIntersection(float y) const = 0;
221 
222  friend std::ostream& operator<<(std::ostream&, const RadialStripTopology&);
223 };
224 
225 #endif
virtual float yDistanceToIntersection(float y) const =0
virtual float angularWidth() const =0
int channel(const LocalPoint &) const override=0
virtual float originToIntersection() const =0
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float phiOfOneEdge() const =0
float localPitch(const LocalPoint &) const override=0
virtual float yCentreOfStripPlane() const =0
LocalPoint localPosition(float strip) const override=0
float strip(const LocalPoint &) const override=0
float localStripLength(const LocalPoint &) const override=0
float pitch() const final
virtual LocalPoint localPosition(float strip) const =0
float stripAngle(float strip) const override=0
virtual float yAxisOrientation() const =0
LocalError localError(float strip, float stripErr2) const override=0
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override=0
int nstrips() const override=0
virtual float detHeight() const =0
MeasurementPoint measurementPosition(const LocalPoint &) const override=0
virtual float centreToIntersection() const =0
virtual float yExtentOfStripPlane() const =0
virtual float phiPitch(void) const =0
virtual int nearestStrip(const LocalPoint &) const =0
float stripLength() const override=0
virtual float xOfStrip(int strip, float y) const =0
friend std::ostream & operator<<(std::ostream &, const RadialStripTopology &)