00001 #ifndef Geometry_CommonTopologies_RectangularStripTopology_H 00002 #define Geometry_CommonTopologies_RectangularStripTopology_H 00003 00009 #include "Geometry/CommonTopologies/interface/StripTopology.h" 00010 00011 class RectangularStripTopology : public StripTopology { 00012 public: 00013 00014 RectangularStripTopology(int nstrips, float pitch, float detlength); 00015 00016 virtual LocalPoint localPosition(float strip) const; 00017 00018 virtual LocalPoint localPosition(const MeasurementPoint&) const; 00019 00020 virtual LocalError 00021 localError(float strip, float stripErr2) const; 00022 00023 virtual LocalError 00024 localError(const MeasurementPoint&, const MeasurementError&) const; 00025 00026 virtual float strip(const LocalPoint&) const; 00027 00028 virtual MeasurementPoint measurementPosition(const LocalPoint&) const; 00029 00030 virtual MeasurementError 00031 measurementError(const LocalPoint&, const LocalError&) const; 00032 00033 virtual int channel(const LocalPoint&) const; 00034 00035 virtual float pitch() const; 00036 00037 virtual float localPitch(const LocalPoint&) const; 00038 00039 virtual float stripAngle(float strip) const; 00040 00041 virtual int nstrips() const; 00042 00043 virtual float stripLength() const {return theStripLength;} 00044 00045 virtual float localStripLength(const LocalPoint& aLP) const { 00046 return stripLength(); 00047 } 00048 00049 private: 00050 float thePitch; 00051 int theNumberOfStrips; 00052 float theStripLength; 00053 float theOffset; 00054 }; 00055 00056 #endif 00057 00058