File indexing completed on 2024-04-06 12:15:18
0001 #ifndef Geometry_MuonNumbering_DTNumberingScheme_h
0002 #define Geometry_MuonNumbering_DTNumberingScheme_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "Geometry/MuonNumbering/interface/MuonNumberingScheme.h"
0015
0016 class MuonBaseNumber;
0017 class MuBarDetBuilder;
0018 class MuonGeometryConstants;
0019
0020 class DTNumberingScheme : public MuonNumberingScheme {
0021 public:
0022 DTNumberingScheme(const MuonGeometryConstants& muonConstants);
0023 ~DTNumberingScheme() override {}
0024
0025 int baseNumberToUnitNumber(const MuonBaseNumber& num) const override;
0026
0027 int getDetId(const MuonBaseNumber& num) const;
0028
0029 private:
0030 void initMe(const MuonGeometryConstants& muonConstants);
0031
0032 void decode(const MuonBaseNumber& num,
0033 int& wire_id,
0034 int& layer_id,
0035 int& superlayer_id,
0036 int& sector_id,
0037 int& station_id,
0038 int& wheel_id) const;
0039
0040 int theRegionLevel;
0041 int theWheelLevel;
0042 int theStationLevel;
0043 int theSuperLayerLevel;
0044 int theLayerLevel;
0045 int theWireLevel;
0046
0047
0048
0049 friend class DTGeometryBuilderFromDDD;
0050 friend class DTGeometryParserFromDDD;
0051 };
0052
0053 #endif