Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:08:04

0001 #ifndef Geometry_EcalMapping_EcalElectronicsMappingBuilder
0002 #define Geometry_EcalMapping_EcalElectronicsMappingBuilder
0003 
0004 #include <memory>
0005 #include <vector>
0006 
0007 #include "FWCore/Framework/interface/ModuleFactory.h"
0008 #include "FWCore/Framework/interface/ESProducer.h"
0009 #include "FWCore/Utilities/interface/ESGetToken.h"
0010 
0011 #include "Geometry/EcalMapping/interface/EcalMappingRcd.h"
0012 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h"
0013 #include "CondFormats/EcalObjects/interface/EcalMappingElectronics.h"
0014 
0015 namespace edm {
0016   class ParameterSet;
0017 }
0018 
0019 class EcalElectronicsMappingBuilder : public edm::ESProducer {
0020 public:
0021   EcalElectronicsMappingBuilder(const edm::ParameterSet&);
0022 
0023   using ReturnType = std::unique_ptr<EcalElectronicsMapping>;
0024 
0025   ReturnType produce(const EcalMappingRcd&);
0026 
0027 private:
0028   void FillFromDatabase(const std::vector<EcalMappingElement>& ee, EcalElectronicsMapping& theMap);
0029 
0030   edm::ESGetToken<EcalMappingElectronics, EcalMappingElectronicsRcd> eeToken_;
0031 };
0032 #endif