CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Geometry/CSCGeometryBuilder/src/CSCGeometryBuilder.h

Go to the documentation of this file.
00001 #ifndef CSCGeometryBuilder_CSCGeometryBuilder_h
00002 #define CSCGeometryBuilder_CSCGeometryBuilder_h
00003 
00011 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
00012 #include <Geometry/CSCGeometry/src/CSCWireGroupPackage.h>
00013 #include <CondFormats/GeometryObjects/interface/CSCRecoDigiParameters.h>
00014 #include <CondFormats/GeometryObjects/interface/RecoIdealGeometry.h>
00015 
00016 #include <string>
00017 
00018 #include <boost/shared_ptr.hpp>
00019 
00020 class CSCGeometry;
00021 
00022 class CSCGeometryBuilder {
00023 public:
00025   CSCGeometryBuilder();
00026 
00028   virtual ~CSCGeometryBuilder();
00029 
00031   void build( boost::shared_ptr<CSCGeometry> theGeometry
00032                       , const RecoIdealGeometry& rig
00033                       , const CSCRecoDigiParameters& cscpars ) ;
00034 
00035 protected:
00036 
00037 private:
00039   void buildChamber (  
00040                      boost::shared_ptr<CSCGeometry> theGeometry        // the geometry container
00041                      , CSCDetId chamberId              // the DetId of this chamber
00042                      , const std::vector<float>& fpar  // volume parameters
00043                      , const std::vector<float>& fupar // user parameters
00044                      , const std::vector<float>& gtran // translation vector
00045                      , const std::vector<float>& grmat // rotation matrix
00046                      , const CSCWireGroupPackage& wg   // wire group info
00047         );
00048 
00049   const std::string myName;
00050 
00051 };
00052 #endif
00053