CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/Geometry/DTGeometryBuilder/src/DTGeometryBuilderFromDDD.h

Go to the documentation of this file.
00001 #ifndef DTGeometryBuilder_DTGeometryBuilderFromDDD_h
00002 #define DTGeometryBuilder_DTGeometryBuilderFromDDD_h
00003 
00014 #include "DataFormats/GeometrySurface/interface/BoundPlane.h"
00015 #include <vector>
00016 #include <boost/shared_ptr.hpp>
00017 
00018 class DTGeometry;
00019 class DDCompactView;
00020 class DDFilteredView;
00021 class DTChamber;
00022 class DTSuperLayer;
00023 class DTLayer;
00024 class Bounds;
00025 class MuonDDDConstants;
00026 
00027 class DTGeometryBuilderFromDDD {
00028   public:
00030     DTGeometryBuilderFromDDD();
00031 
00033     virtual ~DTGeometryBuilderFromDDD();
00034 
00035     // Operations
00036     void build(boost::shared_ptr<DTGeometry> theGeometry,
00037                const DDCompactView* cview, 
00038                const MuonDDDConstants& muonConstants);
00039 
00040   private:
00042     DTChamber* buildChamber(DDFilteredView& fv, 
00043                             const std::string& type, 
00044                             const MuonDDDConstants& muonConstants) const;
00045 
00047     DTSuperLayer* buildSuperLayer(DDFilteredView& fv,
00048                                   DTChamber* chamber,
00049                                   const std::string& type, 
00050                                   const MuonDDDConstants& muonConstants) const;
00051 
00053     DTLayer* buildLayer(DDFilteredView& fv,
00054                         DTSuperLayer* sl,
00055                         const std::string& type, 
00056                         const MuonDDDConstants& muonConstants) const;
00057 
00059     std::vector<double> extractParameters(DDFilteredView& fv) const ;
00060 
00061     typedef ReferenceCountingPointer<BoundPlane> RCPPlane;
00062 
00063     RCPPlane plane(const DDFilteredView& fv, 
00064                    const Bounds& bounds) const ;
00065 
00066     void buildGeometry(boost::shared_ptr<DTGeometry> theGeometry,
00067                        DDFilteredView& fv,
00068                        const MuonDDDConstants& muonConstants) const;
00069 
00070 };
00071 #endif
00072