CMS 3D CMS Logo

OffsetRadialStripTopology.h
Go to the documentation of this file.
1 #ifndef ABS_OFFSET_RADIAL_STRIP_TOPOLOGY_H
2 #define ABS_OFFSET_RADIAL_STRIP_TOPOLOGY_H
3 
15 #include <iosfwd>
16 
18 public:
24  float stripPhiPitch,
25  float detectorHeight,
26  float radialDistance,
27  float stripOffset,
28  float yCentre);
29 
31 
35  virtual float stripOffset(void) const { return theStripOffset; }
36 
39  LocalPoint localPosition(float strip) const override {
40  // Pass through to base class since otherwise it is shadowed by the localPosition(const MP&).
41  // Note that base class version is OK because it uses stripAngle() which is overridden in ORST!
42  // Also note that xOfStrip from base class RST also works for ORST for the same reason.
44  }
45 
63  LocalPoint localPosition(const MeasurementPoint&) const override;
64 
68  MeasurementPoint measurementPosition(const LocalPoint&) const override;
69 
76  float strip(const LocalPoint&) const override;
77 
81  float stripAngle(float strip) const override;
82 
87  virtual int channel(int strip) const = 0;
88  int channel(const LocalPoint& lp) const override = 0;
89 
90  friend std::ostream& operator<<(std::ostream&, const OffsetRadialStripTopology&);
91 
92 private:
97  LocalPoint toLocal(float xprime, float yprime) const;
102  LocalPoint toPrime(const LocalPoint&) const;
103 
104  float theStripOffset; // fraction of a strip offset from sym about y
105  float theCosOff; // cosine of angular offset
106  float theSinOff; // sine of angular offset
107 };
108 
109 #endif
Point2DBase
Definition: Point2DBase.h:9
OffsetRadialStripTopology
Definition: OffsetRadialStripTopology.h:17
OffsetRadialStripTopology::theStripOffset
float theStripOffset
Definition: OffsetRadialStripTopology.h:104
OffsetRadialStripTopology::channel
virtual int channel(int strip) const =0
OffsetRadialStripTopology::toPrime
LocalPoint toPrime(const LocalPoint &) const
Definition: OffsetRadialStripTopology.cc:92
OffsetRadialStripTopology::~OffsetRadialStripTopology
~OffsetRadialStripTopology() override
Definition: OffsetRadialStripTopology.h:30
Point3DBase< float, LocalTag >
OffsetRadialStripTopology::theSinOff
float theSinOff
Definition: OffsetRadialStripTopology.h:106
OffsetRadialStripTopology::operator<<
friend std::ostream & operator<<(std::ostream &, const OffsetRadialStripTopology &)
Definition: OffsetRadialStripTopology.cc:98
CSCRadialStripTopology::localPosition
LocalPoint localPosition(float strip) const override
Definition: CSCRadialStripTopology.cc:56
OffsetRadialStripTopology::OffsetRadialStripTopology
OffsetRadialStripTopology(int numberOfStrips, float stripPhiPitch, float detectorHeight, float radialDistance, float stripOffset, float yCentre)
Definition: OffsetRadialStripTopology.cc:26
OffsetRadialStripTopology::toLocal
LocalPoint toLocal(float xprime, float yprime) const
Definition: OffsetRadialStripTopology.cc:86
OffsetRadialStripTopology::measurementPosition
MeasurementPoint measurementPosition(const LocalPoint &) const override
Definition: OffsetRadialStripTopology.cc:68
OffsetRadialStripTopology::stripAngle
float stripAngle(float strip) const override
Definition: OffsetRadialStripTopology.cc:82
CSCRadialStripTopology
Definition: CSCRadialStripTopology.h:28
CSCRadialStripTopology.h
OffsetRadialStripTopology::stripOffset
virtual float stripOffset(void) const
Definition: OffsetRadialStripTopology.h:35
muonME0PseudoReDigis_cfi.numberOfStrips
numberOfStrips
Definition: muonME0PseudoReDigis_cfi.py:8
OffsetRadialStripTopology::strip
float strip(const LocalPoint &) const override
Definition: OffsetRadialStripTopology.cc:73
OffsetRadialStripTopology::theCosOff
float theCosOff
Definition: OffsetRadialStripTopology.h:105
OffsetRadialStripTopology::localPosition
LocalPoint localPosition(float strip) const override
Definition: OffsetRadialStripTopology.h:39
CSCRadialStripTopology::yCentre
float yCentre
Definition: CSCRadialStripTopology.h:239