File indexing completed on 2024-04-06 12:14:36
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