CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/Geometry/CommonTopologies/interface/TrapezoidalStripTopology.h

Go to the documentation of this file.
00001 #ifndef Geometry_CommonTopologies_TrapezoidalStripTopology_H
00002 #define Geometry_CommonTopologies_TrapezoidalStripTopology_H
00003 
00009 #include "Geometry/CommonTopologies/interface/StripTopology.h"
00010 
00011 
00022 class TrapezoidalStripTopology GCC11_FINAL : public StripTopology {
00023 public:
00024 
00032   TrapezoidalStripTopology(int nstrip, float pitch, float detheight,float r0);
00033 
00034   TrapezoidalStripTopology(int nstrip, float pitch, float detheight,float r0, int yAx);
00035 
00036   virtual LocalPoint localPosition(float strip) const;
00037 
00038   virtual LocalPoint localPosition(const MeasurementPoint&) const;
00039   
00040   virtual LocalError 
00041   localError(float strip, float stripErr2) const;
00042   
00043   virtual LocalError 
00044   localError(const MeasurementPoint&, const MeasurementError&) const;
00045   
00046   virtual float strip(const LocalPoint&) const;
00047 
00048   virtual MeasurementPoint measurementPosition(const LocalPoint&) const;
00049     
00050   virtual MeasurementError 
00051   measurementError(const LocalPoint&, const LocalError&) const;
00052 
00053   virtual int channel(const LocalPoint&) const;
00054 
00056   virtual float pitch() const; 
00057 
00058   virtual float localPitch(const LocalPoint&) const;
00059   
00061   virtual float stripAngle(float strip) const;
00062 
00063   virtual int nstrips() const; 
00064 
00066   virtual float stripLength() const {return theDetHeight;}
00067   virtual float localStripLength(const LocalPoint& aLP) const;
00068   
00072   float radius() const { return theDistToBeam;}
00073 
00074 protected:
00075 
00076   virtual float shiftOffset( float pitch_fraction);
00077 
00078 private:
00079   int   theNumberOfStrips;
00080   float thePitch;    // pitch at the middle of the det. plane
00081   float theOffset;  
00082   float theDistToBeam; 
00083   float theDetHeight; 
00084   int   theYAxOr;
00085 };
00086 
00087 
00088 #endif
00089 
00090