Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:36:33

0001 #ifndef Geometry_MuonNumbering_CSCNumberingScheme_h
0002 #define Geometry_MuonNumbering_CSCNumberingScheme_h
0003 
0004 /** \class CSCNumberingScheme
0005  *
0006  * implementation of MuonNumberingScheme for muon endcaps,
0007  * converts the MuonBaseNumber to a unit id
0008  *  
0009  * \author Arno Straessner, CERN <arno.straessner@cern.ch>
0010  *
0011  */
0012 
0013 #include "Geometry/MuonNumbering/interface/MuonNumberingScheme.h"
0014 
0015 class MuonBaseNumber;
0016 class MuonGeometryConstants;
0017 
0018 class CSCNumberingScheme : public MuonNumberingScheme {
0019 public:
0020   CSCNumberingScheme(const MuonGeometryConstants& muonConstants);
0021   ~CSCNumberingScheme() override {}
0022 
0023   int baseNumberToUnitNumber(const MuonBaseNumber&) const override;
0024 
0025 private:
0026   void initMe(const MuonGeometryConstants& muonConstants);
0027   /**
0028    * Tim Cox - IMPORTANT - this is where we set CSC chamber labelling
0029    */
0030   int chamberIndex(int, int, int, int) const;
0031 
0032   int theRegionLevel;
0033   int theStationLevel;
0034   int theSubringLevel;
0035   int theSectorLevel;
0036   int theLayerLevel;
0037   int theRingLevel;
0038 };
0039 
0040 #endif