Go to the documentation of this file.00001 #ifndef _TkRADIAL_STRIP_TOPOLOGY_H_
00002 #define _TkRADIAL_STRIP_TOPOLOGY_H_
00003
00004 #include "Geometry/CommonTopologies/interface/RadialStripTopology.h"
00005
00028 class TkRadialStripTopology GCC11_FINAL : public RadialStripTopology {
00029 public:
00030
00045 TkRadialStripTopology( int ns, float aw, float dh, float r, int yAx = 1, float yMid = 0.);
00046
00050 ~TkRadialStripTopology(){}
00051
00052
00053
00054
00055
00060 LocalPoint localPosition(float strip) const;
00061
00075 LocalPoint localPosition(const MeasurementPoint&) const;
00076
00083 LocalError localError(float strip, float stripErr2) const;
00084
00090 LocalError localError(const MeasurementPoint&, const MeasurementError&) const;
00091
00099 float strip(const LocalPoint&) const;
00100
00101
00102 float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const ;
00103
00104
00109 float localPitch(const LocalPoint&) const;
00110
00122 float stripAngle(float strip) const;
00123
00127 int nstrips() const { return theNumberOfStrips; }
00128
00132 float stripLength() const { return theDetHeight; }
00133
00137 float localStripLength(const LocalPoint& ) const;
00138
00139
00140
00141
00142
00143
00144
00145 MeasurementPoint measurementPosition( const LocalPoint& ) const;
00146
00147 MeasurementError measurementError( const LocalPoint&, const LocalError& ) const;
00148
00156 int channel( const LocalPoint& ) const;
00157
00158
00159
00160
00161
00162
00166 float angularWidth() const { return theAngularWidth;}
00167
00171 float phiPitch(void) const { return angularWidth(); }
00172
00176 float detHeight() const { return theDetHeight;}
00177
00181 float yExtentOfStripPlane() const { return theDetHeight; }
00182
00188 float centreToIntersection() const { return theCentreToIntersection; }
00189
00195 float originToIntersection() const { return (theCentreToIntersection - yCentre); }
00196
00209 float phiOfOneEdge() const { return thePhiOfOneEdge; }
00210
00215 float xOfStrip(int strip, float y) const;
00216
00220 int nearestStrip(const LocalPoint&) const;
00221
00225 float yAxisOrientation() const { return theYAxisOrientation; }
00226
00230 float yCentreOfStripPlane() const { return yCentre; }
00231
00235 float yDistanceToIntersection( float y ) const;
00236
00237 private:
00238
00239 int theNumberOfStrips;
00240 float theAngularWidth;
00241 float theAWidthInverse;
00242 float theTanAW;
00243 float theDetHeight;
00244 float theCentreToIntersection;
00245 float thePhiOfOneEdge;
00246 float theTanOfOneEdge;
00247 float theYAxisOrientation;
00248 float yCentre;
00249 };
00250
00251 #endif
00252
00253