00001 #ifndef Geometry_ForwardGeometry_ZdcHardcodeGeometryEP_H 00002 #define Geometry_ForwardGeometry_ZdcHardcodeGeometryEP_H 1 00003 00004 00005 // system include files 00006 #include <memory> 00007 #include "boost/shared_ptr.hpp" 00008 00009 // user include files 00010 #include "FWCore/Framework/interface/ModuleFactory.h" 00011 #include "FWCore/Framework/interface/ESProducer.h" 00012 #include "FWCore/Framework/interface/ESHandle.h" 00013 #include "Geometry/Records/interface/ZDCGeometryRecord.h" 00014 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00015 #include "Geometry/ForwardGeometry/interface/ZdcHardcodeGeometryLoader.h" 00016 00017 // 00018 // class decleration 00019 // 00020 00021 class ZdcHardcodeGeometryEP : public edm::ESProducer 00022 { 00023 public: 00024 ZdcHardcodeGeometryEP(const edm::ParameterSet&); 00025 ~ZdcHardcodeGeometryEP(); 00026 00027 typedef boost::shared_ptr<CaloSubdetectorGeometry> ReturnType; 00028 00029 ReturnType produce( const ZDCGeometryRecord& ) ; 00030 00031 private: 00032 00033 // ----------member data --------------------------- 00034 00035 ZdcHardcodeGeometryLoader* m_loader ; 00036 00037 ZdcTopology m_topology ; 00038 00039 bool m_applyAlignment ; 00040 }; 00041 00042 00043 00044 #endif