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:
30 
31 
35  ~RadialStripTopology() override{}
36 
37  // =========================================================
38  // StripTopology interface - implement pure virtual methods
39  // =========================================================
40 
45  LocalPoint localPosition(float strip) const override =0;
46 
61  LocalPoint localPosition(const MeasurementPoint&) const override =0;
62 
70  LocalError localError(float strip, float stripErr2) const override =0;
71 
77  LocalError localError(const MeasurementPoint&, const MeasurementError&) const override =0;
78 
86  float strip(const LocalPoint&) const override =0;
87 
88 
95  float pitch() const final;
96 
101  float localPitch(const LocalPoint&) const override =0;
102 
114  float stripAngle(float strip) const override =0;
115 
119  int nstrips() const override =0;
120 
124  float stripLength() const override =0;
125 
129  float localStripLength(const LocalPoint& ) const override =0;
130 
131 
132  // =========================================================
133  // Topology interface (not already implemented for
134  // StripTopology interface)
135  // =========================================================
136 
137  MeasurementPoint measurementPosition( const LocalPoint& ) const override =0;
138 
139  MeasurementError measurementError( const LocalPoint&, const LocalError& ) const override =0;
140 
148  int channel( const LocalPoint& ) const override =0;
149 
150 
151  // =========================================================
152  // RadialStripTopology interface itself
153  // =========================================================
154 
158  virtual float angularWidth() const=0;
159 
163  virtual float phiPitch(void) const=0;
164 
168  virtual float detHeight() const=0;
169 
173  virtual float yExtentOfStripPlane() const=0; // same as detHeight()
174 
180  virtual float centreToIntersection() const=0;
186  virtual float originToIntersection() const=0;
199  virtual float phiOfOneEdge() const=0;
200 
205  virtual float xOfStrip(int strip, float y) const=0;
206 
210  virtual int nearestStrip(const LocalPoint&) const=0;
211 
215  virtual float yAxisOrientation() const=0;
216 
220  virtual float yCentreOfStripPlane() const=0;
221 
225  virtual float yDistanceToIntersection( float y ) const=0;
226 
227  friend std::ostream & operator<<(std::ostream&, const RadialStripTopology& );
228 
229 
230 };
231 
232 #endif
233 
234 
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 &)