CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Geometry/MuonNumbering/interface/DTNumberingScheme.h

Go to the documentation of this file.
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   int getDetId(const MuonBaseNumber num) const;
00032   
00033  private:
00034 
00035   void initMe ( const MuonDDDConstants& muonConstants );
00036   // Decode MuonBaseNumber to id: no checking
00037   void decode(const MuonBaseNumber& num,
00038               int& wire_id,
00039               int& layer_id,
00040               int& superlayer_id,
00041               int& sector_id,
00042               int& station_id,
00043               int& wheel_id
00044              ) const;
00045 
00046   int theRegionLevel;
00047   int theWheelLevel;
00048   int theStationLevel;
00049   int theSuperLayerLevel;
00050   int theLayerLevel;
00051   int theWireLevel;
00052 
00055   friend class DTGeometryBuilderFromDDD;
00056   friend class DTGeometryParserFromDDD;
00057 };
00058 
00059 #endif