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 : 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;
00081 float theOffset;
00082 float theDistToBeam;
00083 float theDetHeight;
00084 int theYAxOr;
00085 };
00086
00087
00088 #endif
00089
00090