CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/Geometry/CSCGeometryBuilder/plugins/CSCGeometryESModule.h

Go to the documentation of this file.
00001 #ifndef CSCGeometryBuilder_CSCGeometryESModule_h
00002 #define CSCGeometryBuilder_CSCGeometryESModule_h
00003 
00011 #include <FWCore/Framework/interface/ESProducer.h>
00012 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00013 #include <Geometry/Records/interface/MuonGeometryRecord.h>
00014 #include <Geometry/CSCGeometry/interface/CSCGeometry.h>
00015 #include <boost/shared_ptr.hpp>
00016 
00017 #include <string>
00018 
00019 class CSCGeometryESModule : public edm::ESProducer {
00020 public:
00022   CSCGeometryESModule(const edm::ParameterSet& p);
00023 
00025   virtual ~CSCGeometryESModule();
00026 
00028   boost::shared_ptr<CSCGeometry> produce(const MuonGeometryRecord& record);
00029 
00030 private:  
00031 
00033   void geometryCallback_( const MuonNumberingRecord& );
00034   boost::shared_ptr<CSCGeometry> cscGeometry;
00035 
00036   // Flags for controlling geometry modelling during build of CSCGeometry
00037   bool useRealWireGeometry;
00038   bool useOnlyWiresInME1a;
00039   bool useGangedStripsInME1a;
00040   bool useCentreTIOffsets;
00041   bool debugV;
00042   bool applyAlignment_; // Switch to apply alignment corrections
00043   bool useDDD_; // whether to build from DDD or DB
00044   const std::string alignmentsLabel_;
00045   const std::string myLabel_;
00046 
00047 };
00048 #endif
00049 
00050 
00051 
00052 
00053 
00054