00001 00002 #ifndef Geometry_EcalMapping_EcalElectronicsMappingBuilder 00003 #define Geometry_EcalMapping_EcalElectronicsMappingBuilder 00004 00005 // system include files 00006 #include <memory> 00007 #include "boost/shared_ptr.hpp" 00008 00009 // user include files 00010 #include "FWCore/Framework/interface/ModuleFactory.h" 00011 #include "FWCore/Framework/interface/ESProducer.h" 00012 00013 #include "FWCore/Framework/interface/ESHandle.h" 00014 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00015 // #include "Geometry/Records/interface/IdealGeometryRecord.h" 00016 #include "Geometry/EcalMapping/interface/EcalMappingRcd.h" 00017 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h" 00018 00019 00020 // 00021 // class decleration 00022 // 00023 00024 class EcalElectronicsMappingBuilder : public edm::ESProducer { 00025 public: 00026 EcalElectronicsMappingBuilder(const edm::ParameterSet&); 00027 ~EcalElectronicsMappingBuilder(); 00028 00029 typedef std::auto_ptr<EcalElectronicsMapping> ReturnType; 00030 00031 // ReturnType produce(const IdealGeometryRecord&); 00032 ReturnType produce(const EcalMappingRcd&); 00033 00034 private: 00035 void parseTextMap(const std::string& filename,EcalElectronicsMapping& theMap); 00036 std::string mapFile_; 00037 // ----------member data --------------------------- 00038 }; 00039 00040 #endif