CMS 3D CMS Logo

CSCRadialStripTopology.h
Go to the documentation of this file.
1 #ifndef _CSCRADIAL_STRIP_TOPOLOGY_H_
2 #define _CSCRADIAL_STRIP_TOPOLOGY_H_
3 
5 
29 public:
44  CSCRadialStripTopology(int ns, float aw, float dh, float r, float yAx = 1.f, float yMid = 0.);
45 
50 
51  // =========================================================
52  // StripTopology interface - implement pure virtual methods
53  // =========================================================
54 
59  LocalPoint localPosition(float strip) const override;
60 
74  LocalPoint localPosition(const MeasurementPoint&) const override;
75 
82  LocalError localError(float strip, float stripErr2) const override;
83 
89  LocalError localError(const MeasurementPoint&, const MeasurementError&) const override;
90 
98  float strip(const LocalPoint&) const override;
99 
104  float localPitch(const LocalPoint&) const override;
105 
117  float stripAngle(float strip) const override;
118 
122  int nstrips() const override { return theNumberOfStrips; }
123 
127  float stripLength() const override { return theDetHeight; }
128 
132  float localStripLength(const LocalPoint&) const override;
133 
134  // =========================================================
135  // Topology interface (not already implemented for
136  // StripTopology interface)
137  // =========================================================
138 
139  MeasurementPoint measurementPosition(const LocalPoint&) const override;
140 
141  MeasurementError measurementError(const LocalPoint&, const LocalError&) const override;
142 
150  int channel(const LocalPoint&) const override;
151 
152  // =========================================================
153  // RadialStripTopology interface itself
154  // =========================================================
155 
159  float angularWidth() const override { return theAngularWidth; }
160 
164  float phiPitch(void) const override { return angularWidth(); }
165 
169  float detHeight() const override { return theDetHeight; }
170 
174  float yExtentOfStripPlane() const override { return theDetHeight; } // same as detHeight()
175 
181  float centreToIntersection() const override { return theCentreToIntersection; }
182 
188  float originToIntersection() const override { return (theCentreToIntersection - yCentre); }
189 
202  float phiOfOneEdge() const override { return thePhiOfOneEdge; }
203 
208  float xOfStrip(int strip, float y) const override;
209 
213  int nearestStrip(const LocalPoint&) const override;
214 
218  float yAxisOrientation() const override { return theYAxisOrientation; }
219 
223  float yCentreOfStripPlane() const override { return yCentre; }
224 
228  float yDistanceToIntersection(float y) const override;
229 
230  friend std::ostream& operator<<(std::ostream&, const RadialStripTopology&);
231 
232 private:
233  int theNumberOfStrips; // total no. of strips in plane of strips
234  float theAngularWidth; // angle subtended by each strip = phi pitch
235  float theDetHeight; // length of long symmetry axis = twice the apothem of the enclosing trapezoid
236  float theCentreToIntersection; // distance centre of detector face to intersection of edge strips (projected)
237  float thePhiOfOneEdge; // local 'phi' of one edge of plane of strips (I choose it negative!)
238  float theYAxisOrientation; // 1 means y axis going from smaller to larger side, -1 means opposite direction
239  float yCentre; // Non-zero if offset in local y between midpoint of detector (strip plane) extent and local origin.
240 };
241 
242 #endif
RadialStripTopology
Definition: RadialStripTopology.h:28
Point2DBase
Definition: Point2DBase.h:9
DDAxes::y
CSCRadialStripTopology::CSCRadialStripTopology
CSCRadialStripTopology(int ns, float aw, float dh, float r, float yAx=1.f, float yMid=0.)
Definition: CSCRadialStripTopology.cc:7
CSCRadialStripTopology::yExtentOfStripPlane
float yExtentOfStripPlane() const override
Definition: CSCRadialStripTopology.h:174
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
RadialStripTopology.h
CSCRadialStripTopology::theAngularWidth
float theAngularWidth
Definition: CSCRadialStripTopology.h:234
CSCRadialStripTopology::theNumberOfStrips
int theNumberOfStrips
Definition: CSCRadialStripTopology.h:233
CSCRadialStripTopology::phiPitch
float phiPitch(void) const override
Definition: CSCRadialStripTopology.h:164
CSCRadialStripTopology::angularWidth
float angularWidth() const override
Definition: CSCRadialStripTopology.h:159
CSCRadialStripTopology::centreToIntersection
float centreToIntersection() const override
Definition: CSCRadialStripTopology.h:181
CSCRadialStripTopology::yCentreOfStripPlane
float yCentreOfStripPlane() const override
Definition: CSCRadialStripTopology.h:223
CSCRadialStripTopology::localStripLength
float localStripLength(const LocalPoint &) const override
Definition: CSCRadialStripTopology.cc:41
MeasurementError
Definition: MeasurementError.h:8
CSCRadialStripTopology::xOfStrip
float xOfStrip(int strip, float y) const override
Definition: CSCRadialStripTopology.cc:45
Point3DBase< float, LocalTag >
CSCRadialStripTopology::localError
LocalError localError(float strip, float stripErr2) const override
Definition: CSCRadialStripTopology.cc:74
CSCRadialStripTopology::strip
float strip(const LocalPoint &) const override
Definition: CSCRadialStripTopology.cc:49
CSCRadialStripTopology::operator<<
friend std::ostream & operator<<(std::ostream &, const RadialStripTopology &)
Definition: RadialStripTopology.cc:9
CSCRadialStripTopology::~CSCRadialStripTopology
~CSCRadialStripTopology() override
Definition: CSCRadialStripTopology.h:49
LocalError
Definition: LocalError.h:12
CSCRadialStripTopology::theDetHeight
float theDetHeight
Definition: CSCRadialStripTopology.h:235
CSCRadialStripTopology::localPosition
LocalPoint localPosition(float strip) const override
Definition: CSCRadialStripTopology.cc:56
CSCRadialStripTopology::yAxisOrientation
float yAxisOrientation() const override
Definition: CSCRadialStripTopology.h:218
CSCRadialStripTopology::localPitch
float localPitch(const LocalPoint &) const override
Definition: CSCRadialStripTopology.cc:118
CSCRadialStripTopology::measurementError
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
Definition: CSCRadialStripTopology.cc:103
CSCRadialStripTopology::nstrips
int nstrips() const override
Definition: CSCRadialStripTopology.h:122
CSCRadialStripTopology::theCentreToIntersection
float theCentreToIntersection
Definition: CSCRadialStripTopology.h:236
alignCSCRings.r
r
Definition: alignCSCRings.py:93
CSCRadialStripTopology
Definition: CSCRadialStripTopology.h:28
CSCRadialStripTopology::detHeight
float detHeight() const override
Definition: CSCRadialStripTopology.h:169
CSCRadialStripTopology::nearestStrip
int nearestStrip(const LocalPoint &) const override
Definition: CSCRadialStripTopology.cc:29
CSCRadialStripTopology::thePhiOfOneEdge
float thePhiOfOneEdge
Definition: CSCRadialStripTopology.h:237
CSCRadialStripTopology::theYAxisOrientation
float theYAxisOrientation
Definition: CSCRadialStripTopology.h:238
CSCRadialStripTopology::phiOfOneEdge
float phiOfOneEdge() const override
Definition: CSCRadialStripTopology.h:202
CSCRadialStripTopology::stripLength
float stripLength() const override
Definition: CSCRadialStripTopology.h:127
CSCRadialStripTopology::channel
int channel(const LocalPoint &) const override
Definition: CSCRadialStripTopology.cc:25
CSCRadialStripTopology::originToIntersection
float originToIntersection() const override
Definition: CSCRadialStripTopology.h:188
CSCRadialStripTopology::yCentre
float yCentre
Definition: CSCRadialStripTopology.h:239
CSCRadialStripTopology::stripAngle
float stripAngle(float strip) const override
Definition: CSCRadialStripTopology.cc:33
CSCRadialStripTopology::measurementPosition
MeasurementPoint measurementPosition(const LocalPoint &) const override
Definition: CSCRadialStripTopology.cc:67
cuy.dh
dh
Definition: cuy.py:354
CSCRadialStripTopology::yDistanceToIntersection
float yDistanceToIntersection(float y) const override
Definition: CSCRadialStripTopology.cc:37