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