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 
22 class TrapezoidalStripTopology GCC11_FINAL : public StripTopology {
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 
36  virtual LocalPoint localPosition(float strip) const;
37 
38  virtual LocalPoint localPosition(const MeasurementPoint&) const;
39 
40  virtual LocalError
41  localError(float strip, float stripErr2) const;
42 
43  virtual LocalError
44  localError(const MeasurementPoint&, const MeasurementError&) const;
45 
46  virtual float strip(const LocalPoint&) const;
47 
48  virtual MeasurementPoint measurementPosition(const LocalPoint&) const;
49 
50  virtual MeasurementError
51  measurementError(const LocalPoint&, const LocalError&) const;
52 
53  virtual int channel(const LocalPoint&) const;
54 
56  virtual float pitch() const;
57 
58  virtual float localPitch(const LocalPoint&) const;
59 
61  virtual float stripAngle(float strip) const;
62 
63  virtual int nstrips() const;
64 
66  virtual float stripLength() const {return theDetHeight;}
67  virtual float localStripLength(const LocalPoint& aLP) const;
68 
72  float radius() const { return theDistToBeam;}
73 
74 protected:
75 
76  virtual float shiftOffset( float pitch_fraction);
77 
78 private:
79  int theNumberOfStrips;
80  float thePitch; // pitch at the middle of the det. plane
81  float theOffset;
82  float theDistToBeam;
83  float theDetHeight;
84  int theYAxOr;
85 };
86 
87 
88 #endif
89 
90 
virtual int nstrips() const =0
float radius() const
virtual float stripAngle(float strip) const =0
virtual float strip(const LocalPoint &) const =0
virtual float localPitch(const LocalPoint &) const =0
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
virtual float stripLength() const
det heigth (strip length in the middle)
virtual int channel(const LocalPoint &p) const =0
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float localStripLength(const LocalPoint &aLP) const =0
virtual float pitch() const =0
virtual LocalPoint localPosition(float strip) const =0
Unlimited (trivial) bounds.