00001 #ifndef CSCGeometryBuilder_CSCGeometryBuilderFromDDD_h
00002 #define CSCGeometryBuilder_CSCGeometryBuilderFromDDD_h
00003
00011 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
00012 #include <boost/shared_ptr.hpp>
00013 #include <string>
00014
00015 class DDCompactView;
00016 class DDFilteredView;
00017 class CSCGeometry;
00018 class CSCWireGroupPackage;
00019 class MuonDDDConstants;
00020
00021 class CSCGeometryBuilderFromDDD {
00022 public:
00024 CSCGeometryBuilderFromDDD();
00025
00027 virtual ~CSCGeometryBuilderFromDDD();
00028
00030 void build(boost::shared_ptr<CSCGeometry> geom, const DDCompactView* fv, const MuonDDDConstants& muonConstants);
00031
00032 protected:
00033
00034 private:
00035
00037 void buildEndcaps( boost::shared_ptr<CSCGeometry> geom, DDFilteredView* fv, const MuonDDDConstants& muonConstants );
00038
00040 void buildChamber (
00041 boost::shared_ptr<CSCGeometry> theGeometry,
00042 CSCDetId chamberId,
00043 const std::vector<float>& fpar,
00044 const std::vector<float>& fupar,
00045 const std::vector<float>& gtran,
00046 const std::vector<float>& grmat,
00047 const CSCWireGroupPackage& wg
00048 );
00049
00050 const std::string myName;
00051
00052 };
00053 #endif
00054