File indexing completed on 2024-04-06 12:14:49
0001 #ifndef GEOMETRY_HCALEVENTSETUP_CALOTOWERHARDCODEGEOMETRYEP_H
0002 #define GEOMETRY_HCALEVENTSETUP_CALOTOWERHARDCODEGEOMETRYEP_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/CaloTowerGeometryRecord.h"
0010 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0011 #include "Geometry/HcalTowerAlgo/interface/CaloTowerHardcodeGeometryLoader.h"
0012
0013 class HcalRecNumberingRecord;
0014 class IdealGeometryRecord;
0015
0016 class CaloTowerHardcodeGeometryEP : public edm::ESProducer {
0017 public:
0018 CaloTowerHardcodeGeometryEP(const edm::ParameterSet&);
0019
0020 using ReturnType = std::unique_ptr<CaloSubdetectorGeometry>;
0021
0022 ReturnType produce(const CaloTowerGeometryRecord&);
0023
0024 private:
0025
0026 CaloTowerHardcodeGeometryLoader loader_;
0027 edm::ESGetToken<CaloTowerTopology, HcalRecNumberingRecord> cttopoToken_;
0028 edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> hcaltopoToken_;
0029 edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> consToken_;
0030 };
0031
0032 #endif