![]() |
|
|||
File indexing completed on 2024-04-06 12:14:24
0001 #ifndef CSC_STRIP_TOPOLOGY_H 0002 #define CSC_STRIP_TOPOLOGY_H 0003 0004 #include "Geometry/CSCGeometry/interface/OffsetRadialStripTopology.h" 0005 #include <iosfwd> 0006 #include <utility> // for std::pair 0007 0008 /** \class CSCStripTopology 0009 * ABC interface for all endcap muon CSC radial strip topologies. <BR> 0010 * In the Endcap Muon CSCs, the cathode strips are strictly fan-shaped, 0011 * each subtending a constant azimuthal angle, and project to a point. 0012 * In every station and ring except for ME13 the nominal (perfect) geometry 0013 * has this point of intersection (approximately) on the beam line. 0014 * That constraint is unused as far as possible in order 0015 * to allow non-perfect geometry and misalignment scenarios.<BR> 0016 * Note that the base class RST is concrete but this class is again abstract 0017 * (for both historical and operational reasons.) <BR> 0018 * Alternate strip layers in each CSC are relatively offset by half-a-strip width 0019 * (except in ME11) 0020 * so the CSCStripTopology must be an OffsetRadialStripTopology, rather than 0021 * a simple RadialStripTopology in which the long symmetry axis of the plane 0022 * of strips is aligned with the local y axis of the detector. <BR> 0023 * 0024 * \author Tim Cox 0025 * 0026 */ 0027 0028 class CSCStripTopology : public OffsetRadialStripTopology { 0029 public: 0030 /** 0031 * Constructor 0032 * \param ns number of strips 0033 * \param aw angular width of a strip 0034 * \param dh detector height (extent of strip plane along long symmetry axis)) 0035 * \param r radial distance from symmetry centre of strip plane to the point at which 0036 * the outer edges of the two extreme strips (projected) intersect. 0037 * \param aoff offset of y symmetry axis from local y as fraction of angular strip width. 0038 * \param ymid local y of symmetry centre of strip plane _before_ it is offset. <BR> 0039 */ 0040 CSCStripTopology(int ns, float aw, float dh, float r, float aoff, float ymid); 0041 0042 ~CSCStripTopology() override; 0043 0044 /** 0045 * Return slope and intercept of straight line representing (centre-line of) a strip in 2-dim local coordinates. 0046 * 0047 * The return value is a pair p with p.first = m, p.second = c, where y=mx+c. 0048 */ 0049 std::pair<float, float> equationOfStrip(float strip) const; 0050 0051 /** 0052 * Return local y limits of strip plane 0053 */ 0054 std::pair<float, float> yLimitsOfStripPlane() const; 0055 0056 virtual CSCStripTopology* clone() const = 0; 0057 0058 /** 0059 * Virtual output function which is used to implement op<< 0060 */ 0061 virtual std::ostream& put(std::ostream&) const = 0; 0062 0063 friend std::ostream& operator<<(std::ostream& s, const CSCStripTopology& r); 0064 }; 0065 0066 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |