![]() |
![]() |
00001 #ifndef MuonNumbering_DTNumberingScheme_h 00002 #define MuonNumbering_DTNumberingScheme_h 00003 00015 #include "Geometry/MuonNumbering/interface/MuonNumberingScheme.h" 00016 00017 class MuonBaseNumber; 00018 class MuBarDetBuilder; 00019 class DDCompactView; 00020 class MuonDDDConstants; 00021 00022 class DTNumberingScheme : public MuonNumberingScheme { 00023 public: 00024 00025 DTNumberingScheme( const DDCompactView& cpv ); 00026 DTNumberingScheme( const MuonDDDConstants& muonConstants ); 00027 ~DTNumberingScheme(){} 00028 00029 virtual int baseNumberToUnitNumber(const MuonBaseNumber num); 00030 00031 private: 00032 00033 void initMe ( const MuonDDDConstants& muonConstants ); 00034 // Decode MuonBaseNumber to id: no checking 00035 void decode(const MuonBaseNumber& num, 00036 int& wire_id, 00037 int& layer_id, 00038 int& superlayer_id, 00039 int& sector_id, 00040 int& station_id, 00041 int& wheel_id 00042 ) const; 00043 00044 int theRegionLevel; 00045 int theWheelLevel; 00046 int theStationLevel; 00047 int theSuperLayerLevel; 00048 int theLayerLevel; 00049 int theWireLevel; 00050 00053 int getDetId(const MuonBaseNumber num) const; 00054 friend class DTGeometryBuilderFromDDD; 00055 friend class DTGeometryParserFromDDD; 00056 }; 00057 00058 #endif