CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrapezoidalStripTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_TrapezoidalStripTopology_H
2 #define Geometry_CommonTopologies_TrapezoidalStripTopology_H
3 
10 
11 
23 public:
24 
32  TrapezoidalStripTopology(int nstrip, float pitch, float detheight,float r0);
33 
34  TrapezoidalStripTopology(int nstrip, float pitch, float detheight,float r0, int yAx);
35 
37  virtual LocalPoint localPosition(float strip) const;
38 
39  virtual LocalPoint localPosition(const MeasurementPoint&) const;
40 
42  virtual LocalError
43  localError(float strip, float stripErr2) const;
44 
45  virtual LocalError
46  localError(const MeasurementPoint&, const MeasurementError&) const;
47 
48  virtual float strip(const LocalPoint&) const;
49 
50  virtual MeasurementPoint measurementPosition(const LocalPoint&) const;
51 
52  virtual MeasurementError
53  measurementError(const LocalPoint&, const LocalError&) const;
54 
55  virtual int channel(const LocalPoint&) const;
56 
58  virtual float pitch() const;
59 
60  virtual float localPitch(const LocalPoint&) const;
61 
63  virtual float stripAngle(float strip) const;
64 
65  virtual int nstrips() const;
66 
68  virtual float stripLength() const {return theDetHeight;}
69  virtual float localStripLength(const LocalPoint& aLP) const;
70 
74  float radius() const { return theDistToBeam;}
75 
76 protected:
77 
78  virtual float shiftOffset( float pitch_fraction);
79 
80 private:
82  float thePitch; // pitch at the middle of the det. plane
83  float theOffset;
84  float theDistToBeam;
85  float theDetHeight;
86  int theYAxOr;
87 };
88 
89 
90 #endif
91 
92 
virtual float stripAngle(float strip) const
virtual float shiftOffset(float pitch_fraction)
virtual LocalError localError(float strip, float stripErr2) const
virtual float localPitch(const LocalPoint &) const
virtual float localStripLength(const LocalPoint &aLP) const
virtual int channel(const LocalPoint &) const
TrapezoidalStripTopology(int nstrip, float pitch, float detheight, float r0)
virtual LocalPoint localPosition(float strip) const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const
virtual LocalPoint localPosition(float strip) const =0
virtual float strip(const LocalPoint &) const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const
virtual float stripLength() const
det heigth (strip length in the middle)