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