00001 #ifndef MuonNumbering_CSCNumberingScheme_h 00002 #define MuonNumbering_CSCNumberingScheme_h 00003 00013 #include "Geometry/MuonNumbering/interface/MuonNumberingScheme.h" 00014 00015 class MuonBaseNumber; 00016 class DDCompactView; 00017 class MuonDDDConstants; 00018 00019 class CSCNumberingScheme : public MuonNumberingScheme { 00020 public: 00021 00022 CSCNumberingScheme( const MuonDDDConstants& muonConstants ); 00023 CSCNumberingScheme( const DDCompactView& cpv ); 00024 ~CSCNumberingScheme(){}; 00025 00026 virtual int baseNumberToUnitNumber(const MuonBaseNumber); 00027 00028 private: 00029 00030 void initMe( const MuonDDDConstants& muonConstants ); 00034 int chamberIndex( int, int, int, int ) const; 00035 00036 int theRegionLevel; 00037 int theStationLevel; 00038 int theSubringLevel; 00039 int theSectorLevel; 00040 int theLayerLevel; 00041 int theRingLevel; 00042 00043 }; 00044 00045 #endif 00046 00047 00048 00049 00050 00051 00052