Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:20

0001 #ifndef CSCChannelMapperPostls1_H
0002 #define CSCChannelMapperPostls1_H
0003 
0004 /**
0005  * \class CSCChannelMapperPostls1
0006  *
0007  * A concrete CSCChannelMapper class to
0008  * map between raw/online channel numbers (for strips/cathodes and wires/anodes)
0009  * and offline geometry-oriented channel numbers, in which increasing number
0010  * corresponds to increasing local x (strips) or y (wire groups) as defined
0011  * in CMS Note CMS IN-2007/024.
0012  *
0013  * This version is for CMS Postls1 (2013-)
0014  *
0015  * 1. Sorts out readout-flipping within the two endcaps for ME1a and ME1b strip
0016  * channels. <BR> We do not yet know whether there WILL be any flipping. For now
0017  * we presume it is as in the Startup case. <BR>
0018  * 2. Doesnothing with ME1a channels since we intend each of the 48 strips to go
0019  * to 48 individual channels. <BR>
0020  * 3. Does nothing with wiregroup channels; the output = the input. <BR>
0021  *
0022  * Also note that the CSCDetId for ME11 and ME1b is identical. Offline we
0023  * presume ring=1 of station 1 to mean the ME1b strips. We use the identifier
0024  * ring=4 to denote the ME1a strips.
0025  *
0026  * \author Tim Cox
0027  *
0028  */
0029 
0030 #include "CalibMuon/CSCCalibration/interface/CSCChannelMapperBase.h"
0031 
0032 class CSCChannelMapperPostls1 : public CSCChannelMapperBase {
0033 public:
0034   CSCChannelMapperPostls1() {}
0035   ~CSCChannelMapperPostls1() override {}
0036 
0037   std::string name() const override { return "CSCChannelMapperPostls1"; }
0038 
0039   /// Return raw strip channel number for input geometrical channel number
0040   int rawStripChannel(const CSCDetId &id, int igeom) const override;
0041 
0042   /// Return geometrical strip channel number for input raw channel number
0043   int geomStripChannel(const CSCDetId &id, int iraw) const override;
0044 
0045   /// Offline conversion of a strip (geometric labelling) back to channel
0046   /// (Postls1: 1-1 correspondence strip to channel)
0047   int channelFromStrip(const CSCDetId &id, int strip) const override;
0048 
0049   /// Construct raw CSCDetId matching supplied offline CSCDetid
0050   /// (Postls1: leave ME1a detid alone)
0051   CSCDetId rawCSCDetId(const CSCDetId &id) const override;
0052 };
0053 
0054 #endif