File indexing completed on 2024-09-18 05:06:58
0001 #ifndef Geometry_ForwardGeometry_ZdcHardcodeGeometryEP_H
0002 #define Geometry_ForwardGeometry_ZdcHardcodeGeometryEP_H 1
0003
0004
0005 #include <memory>
0006
0007
0008 #include "FWCore/Framework/interface/ModuleFactory.h"
0009 #include "FWCore/Framework/interface/ESProducer.h"
0010 #include "FWCore/Utilities/interface/ESGetToken.h"
0011 #include "Geometry/Records/interface/HcalRecNumberingRecord.h"
0012 #include "Geometry/Records/interface/ZDCGeometryRecord.h"
0013 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0014 #include "Geometry/ForwardGeometry/interface/ZdcTopology.h"
0015 #include "Geometry/ForwardGeometry/interface/ZdcHardcodeGeometryLoader.h"
0016
0017
0018
0019
0020
0021 class ZdcHardcodeGeometryEP : public edm::ESProducer {
0022 public:
0023 ZdcHardcodeGeometryEP(const edm::ParameterSet&);
0024 ~ZdcHardcodeGeometryEP() override;
0025
0026 using ReturnType = std::unique_ptr<CaloSubdetectorGeometry>;
0027
0028 ReturnType produce(const ZDCGeometryRecord&);
0029
0030 static void fillDescriptions(edm::ConfigurationDescriptions&);
0031
0032 private:
0033
0034
0035 edm::ESGetToken<ZdcTopology, HcalRecNumberingRecord> m_zdcTopoToken;
0036 std::unique_ptr<ZdcHardcodeGeometryLoader> m_loader;
0037
0038 bool m_applyAlignment;
0039 bool m_zdcAddRPD;
0040 };
0041
0042 #endif