CMS 3D CMS Logo

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