00001 #ifndef DTGeometryParserFromDDD_H
00002 #define DTGeometryParserFromDDD_H
00003
00011 #include <DetectorDescription/Core/interface/DDFilter.h>
00012 #include <DetectorDescription/Core/interface/DDFilteredView.h>
00013 #include <DetectorDescription/Core/interface/DDSolid.h>
00014 #include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
00015 #include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
00016 #include "Geometry/MuonNumbering/interface/MuonDDDConstants.h"
00017 #include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
00018
00019 #include <map>
00020
00021 class DTLayerId;
00022
00023 class DTGeometryParserFromDDD {
00024
00025 public:
00026
00028 DTGeometryParserFromDDD(const DDCompactView* cview, const MuonDDDConstants& muonConstants,
00029 std::map<DTLayerId,std::pair<unsigned int,unsigned int> > &theLayerIdWiresMap);
00030
00032 ~DTGeometryParserFromDDD();
00033
00034 protected:
00035
00036 private:
00037
00038 void parseGeometry(DDFilteredView& fv, const MuonDDDConstants& muonConstants,
00039 std::map<DTLayerId,std::pair<unsigned int,unsigned int> > &theLayerIdWiresMap );
00040
00041 void buildLayer(DDFilteredView& fv, const MuonDDDConstants& muonConstants,
00042 std::map<DTLayerId,std::pair<unsigned int,unsigned int> > &theLayerIdWiresMap );
00043 };
00044 #endif