00001 #ifndef GEOMETRY_ECALEVENTSETUP_ECALTBHODOSCOPEGEOMETRYEPEP_H 00002 #define GEOMETRY_ECALEVENTSETUP_ECALTBHODOSCOPEGEOMETRYEPEP_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 00013 #include "FWCore/Framework/interface/ESTransientHandle.h" 00014 00015 #include "Geometry/Records/interface/IdealGeometryRecord.h" 00016 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00017 00018 00019 //Forward declaration 00020 class EcalTBHodoscopeGeometryLoaderFromDDD; 00021 00022 // 00023 // class declaration 00024 // 00025 00026 class EcalTBHodoscopeGeometryEP : public edm::ESProducer { 00027 public: 00028 EcalTBHodoscopeGeometryEP(const edm::ParameterSet&); 00029 ~EcalTBHodoscopeGeometryEP(); 00030 00031 typedef std::auto_ptr<CaloSubdetectorGeometry> ReturnType; 00032 00033 ReturnType produce(const IdealGeometryRecord&); 00034 00035 private: 00036 00037 // ----------member data --------------------------- 00038 EcalTBHodoscopeGeometryLoaderFromDDD* loader_; 00039 }; 00040 00041 00042 00043 #endif