CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RectangularStripTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_RectangularStripTopology_H
2 #define Geometry_CommonTopologies_RectangularStripTopology_H
3 
10 
11 class RectangularStripTopology GCC11_FINAL : public StripTopology {
12 public:
13 
14  RectangularStripTopology(int nstrips, float pitch, float detlength);
15 
16  virtual LocalPoint localPosition(float strip) const;
17 
18  virtual LocalPoint localPosition(const MeasurementPoint&) const;
19 
20  virtual LocalError
21  localError(float strip, float stripErr2) const;
22 
23  virtual LocalError
24  localError(const MeasurementPoint&, const MeasurementError&) const;
25 
26  virtual float strip(const LocalPoint&) const;
27 
28  // the number of strip span by the segment between the two points..
29  virtual float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const ;
30 
31 
32  virtual MeasurementPoint measurementPosition(const LocalPoint&) const;
33 
34  virtual MeasurementError
35  measurementError(const LocalPoint&, const LocalError&) const;
36 
37  virtual int channel(const LocalPoint& lp) const { return std::min(int(strip(lp)),theNumberOfStrips-1); }
38 
39  virtual float pitch() const { return thePitch; }
40 
41  virtual float localPitch(const LocalPoint&) const { return thePitch;}
42 
43  virtual float stripAngle(float strip) const { return 0;}
44 
45  virtual int nstrips() const { return theNumberOfStrips;}
46 
47  virtual float stripLength() const {return theStripLength;}
48 
49  virtual float localStripLength(const LocalPoint& /*aLP*/) const {
50  return stripLength();
51  }
52 
53 private:
54  float thePitch;
57  float theOffset;
58 };
59 
60 #endif
61 
62 
virtual int channel(const LocalPoint &lp) const
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const
Definition: StripTopology.h:40
#define min(a, b)
Definition: mlp_lapack.h:161
virtual float localStripLength(const LocalPoint &) const
virtual float strip(const LocalPoint &) const =0
virtual float stripLength() const =0
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
virtual float stripLength() const
virtual float localPitch(const LocalPoint &) const
virtual float stripAngle(float strip) const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual int nstrips() const
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float pitch() const
virtual LocalPoint localPosition(float strip) const =0
Unlimited (trivial) bounds.