Go to the documentation of this file.00001
00002 #ifndef Geometry_EcalMapping_EcalElectronicsMappingBuilder
00003 #define Geometry_EcalMapping_EcalElectronicsMappingBuilder
00004
00005
00006 #include <memory>
00007 #include "boost/shared_ptr.hpp"
00008
00009
00010 #include "FWCore/Framework/interface/ModuleFactory.h"
00011 #include "FWCore/Framework/interface/ESProducer.h"
00012
00013
00014
00015
00016
00017
00018
00019 #include "FWCore/Framework/interface/ESHandle.h"
00020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00021
00022 #include "Geometry/EcalMapping/interface/EcalMappingRcd.h"
00023 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
00024 #include "CondFormats/DataRecord/interface/EcalMappingElectronicsRcd.h"
00025 #include "CondFormats/EcalObjects/interface/EcalMappingElectronics.h"
00026
00027 #include <vector>
00028
00029
00030
00031
00032
00033
00034 class EcalElectronicsMappingBuilder : public edm::ESProducer
00035 {
00036 public:
00037 EcalElectronicsMappingBuilder(const edm::ParameterSet&);
00038 ~EcalElectronicsMappingBuilder();
00039
00040 typedef std::auto_ptr<EcalElectronicsMapping> ReturnType;
00041
00042
00043 ReturnType produce(const EcalMappingRcd&);
00044
00045 void DBCallback (const EcalMappingElectronicsRcd& fRecord);
00046
00047 private:
00048 void FillFromDatabase(const std::vector<EcalMappingElement>& ee,
00049 EcalElectronicsMapping& theMap);
00050
00051
00052 const EcalMappingElectronics* Mapping_ ;
00053
00054
00055 };
00056
00057 #endif