CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/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 muonNumberingChanged_( const MuonNumberingRecord& );
00034   void cscRecoGeometryChanged_( const CSCRecoGeometryRcd& );
00035   void cscRecoDigiParametersChanged_( const CSCRecoDigiParametersRcd& );
00036 
00037   void initCSCGeometry_(const MuonGeometryRecord& );
00038   boost::shared_ptr<CSCGeometry> cscGeometry;
00039   bool recreateGeometry_;
00040 
00041   // Flags for controlling geometry modelling during build of CSCGeometry
00042   bool useRealWireGeometry;
00043   bool useOnlyWiresInME1a;
00044   bool useGangedStripsInME1a;
00045   bool useCentreTIOffsets;
00046   bool debugV;
00047   bool applyAlignment_; // Switch to apply alignment corrections
00048   bool useDDD_; // whether to build from DDD or DB
00049   const std::string alignmentsLabel_;
00050   const std::string myLabel_;
00051 
00052 };
00053 #endif
00054 
00055 
00056 
00057 
00058 
00059