Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // system include files
0005 #include <memory>
0006 
0007 // user include files
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 // class decleration
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   // ----------member data ---------------------------
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