00001 #ifndef Geometry_ForwardGeometry_CastorHardcodeGeometryEP_H 00002 #define Geometry_ForwardGeometry_CastorHardcodeGeometryEP_H 1 00003 00004 // system include files 00005 #include <memory> 00006 #include "boost/shared_ptr.hpp" 00007 00008 // user include files 00009 #include "FWCore/Framework/interface/ModuleFactory.h" 00010 #include "FWCore/Framework/interface/ESProducer.h" 00011 #include "FWCore/Framework/interface/ESHandle.h" 00012 #include "Geometry/Records/interface/IdealGeometryRecord.h" 00013 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00014 #include "Geometry/ForwardGeometry/interface/CastorHardcodeGeometryLoader.h" 00015 00016 // 00017 // class declaration 00018 // 00019 00020 class CastorHardcodeGeometryEP : public edm::ESProducer { 00021 public: 00022 CastorHardcodeGeometryEP(const edm::ParameterSet&); 00023 ~CastorHardcodeGeometryEP(); 00024 00025 typedef std::auto_ptr<CaloSubdetectorGeometry> ReturnType; 00026 00027 ReturnType produce(const IdealGeometryRecord&); 00028 private: 00029 // ----------member data --------------------------- 00030 CastorHardcodeGeometryLoader* loader_; 00031 }; 00032 00033 00034 00035 #endif