File indexing completed on 2024-04-06 12:14:49
0001 #ifndef Geometry_HcalEventSetup_HcalDDDGeometryEP_H
0002 #define Geometry_HcalEventSetup_HcalDDDGeometryEP_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/Records/interface/HcalGeometryRecord.h"
0010 #include "Geometry/Records/interface/HcalRecNumberingRecord.h"
0011 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0012 #include "Geometry/HcalTowerAlgo/interface/HcalDDDGeometryLoader.h"
0013
0014 class HcalDDDGeometryEP : public edm::ESProducer {
0015 public:
0016 HcalDDDGeometryEP(const edm::ParameterSet&);
0017
0018 using ReturnType = std::unique_ptr<CaloSubdetectorGeometry>;
0019
0020 ReturnType produceAligned(const HcalGeometryRecord&);
0021
0022 private:
0023 edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> consToken_;
0024 edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> topologyToken_;
0025 };
0026 #endif