Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:58:25

0001 #ifndef DTGeometryParserFromDDD_H
0002 #define DTGeometryParserFromDDD_H
0003 
0004 /** \class DTGeometryParserFromDDD
0005  *  Class which read the geometry from DDD to provide a map between 
0006  *  layerId and pairs with first wire number, total number of wires.
0007  *  \author S. Bolognesi - INFN Torino
0008  */
0009 #include "DetectorDescription/Core/interface/DDFilter.h"
0010 #include "DetectorDescription/Core/interface/DDFilteredView.h"
0011 #include "DetectorDescription/Core/interface/DDSolid.h"
0012 #include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
0013 #include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
0014 #include "Geometry/MuonNumbering/interface/MuonGeometryConstants.h"
0015 #include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
0016 
0017 #include <map>
0018 
0019 class DTLayerId;
0020 
0021 class DTGeometryParserFromDDD {
0022 public:
0023   /// Constructor
0024   DTGeometryParserFromDDD(const DDCompactView* cview,
0025                           const MuonGeometryConstants& muonConstants,
0026                           std::map<DTLayerId, std::pair<unsigned int, unsigned int> >& theLayerIdWiresMap);
0027 
0028   /// Destructor
0029   ~DTGeometryParserFromDDD();
0030 
0031 protected:
0032 private:
0033   //Parse the DDD
0034   void parseGeometry(DDFilteredView& fv,
0035                      const MuonGeometryConstants& muonConstants,
0036                      std::map<DTLayerId, std::pair<unsigned int, unsigned int> >& theLayerIdWiresMap);
0037   //Fill the map
0038   void buildLayer(DDFilteredView& fv,
0039                   const MuonGeometryConstants& muonConstants,
0040                   std::map<DTLayerId, std::pair<unsigned int, unsigned int> >& theLayerIdWiresMap);
0041 };
0042 #endif