CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/Geometry/DTGeometryBuilder/plugins/DTGeometryESModule.h

Go to the documentation of this file.
00001 #ifndef DTGeometryBuilder_DTGeometryESModule_h
00002 #define DTGeometryBuilder_DTGeometryESModule_h
00003 
00013 #include <FWCore/Framework/interface/ESProducer.h>
00014 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
00015 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00016 #include <Geometry/Records/interface/MuonGeometryRecord.h>
00017 #include <Geometry/DTGeometry/interface/DTGeometry.h>
00018 
00019 #include <string>
00020 
00021 class DTGeometryESModule : public edm::ESProducer {
00022 public:
00024   DTGeometryESModule(const edm::ParameterSet & p);
00025 
00027   virtual ~DTGeometryESModule();
00028 
00030   boost::shared_ptr<DTGeometry> produce(const MuonGeometryRecord& record);
00031 
00032 private:  
00033   void geometryCallback_( const MuonNumberingRecord& record ) ;
00034   void dbGeometryCallback_( const DTRecoGeometryRcd& record ) ;
00035   boost::shared_ptr<DTGeometry> _dtGeometry;
00036 
00037   bool applyAlignment_; // Switch to apply alignment corrections
00038   const std::string alignmentsLabel_;
00039   const std::string myLabel_;
00040   bool fromDDD_;
00041 };
00042 #endif
00043 
00044 
00045 
00046 
00047 
00048