File indexing completed on 2024-04-06 12:14:49
0001 #ifndef GEOMETRY_HCALEVENTSETUP_HCALTOPOLOGYIDEALEP_H
0002 #define GEOMETRY_HCALEVENTSETUP_HCALTOPOLOGYIDEALEP_H 1
0003
0004 #include <memory>
0005
0006 #include "FWCore/Framework/interface/ModuleFactory.h"
0007 #include "FWCore/Framework/interface/ESProducer.h"
0008
0009 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0010 #include "Geometry/Records/interface/HcalRecNumberingRecord.h"
0011 #include "Geometry/Records/interface/IdealGeometryRecord.h"
0012
0013 namespace edm {
0014 class ConfigurationDescriptions;
0015 }
0016
0017 class HcalTopologyIdealEP : public edm::ESProducer {
0018 public:
0019 HcalTopologyIdealEP(const edm::ParameterSet&);
0020
0021 using ReturnType = std::unique_ptr<HcalTopology>;
0022
0023 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0024
0025 ReturnType produce(const HcalRecNumberingRecord&);
0026
0027 private:
0028
0029 edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> m_hdcToken;
0030 std::string m_restrictions;
0031 bool m_mergePosition;
0032 };
0033 #endif