CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Geometry/CommonTopologies/interface/RectangularStripTopology.h

Go to the documentation of this file.
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