00001 #ifndef RecoTracker_TkNavigation_NavigationSchoolESProducer_h 00002 #define RecoTracker_TkNavigation_NavigationSchoolESProducer_h 00003 00004 #include <memory> 00005 #include "boost/shared_ptr.hpp" 00006 00007 // user include files 00008 #include "FWCore/Framework/interface/ModuleFactory.h" 00009 #include "FWCore/Framework/interface/ESProducer.h" 00010 00011 #include "FWCore/Framework/interface/ESHandle.h" 00012 00013 #include "RecoTracker/TkNavigation/interface/NavigationSchoolFactory.h" 00014 #include "RecoTracker/Record/interface/NavigationSchoolRecord.h" 00015 00016 // 00017 // class decleration 00018 // 00019 00020 class NavigationSchoolESProducer : public edm::ESProducer { 00021 public: 00022 NavigationSchoolESProducer(const edm::ParameterSet&); 00023 ~NavigationSchoolESProducer(); 00024 00025 typedef boost::shared_ptr<NavigationSchool> ReturnType; 00026 00027 virtual ReturnType produce(const NavigationSchoolRecord&); 00028 protected: 00029 // ----------member data --------------------------- 00030 edm::ParameterSet theNavigationPSet; 00031 std::string theNavigationSchoolName; 00032 boost::shared_ptr<NavigationSchool> theNavigationSchool ; 00033 }; 00034 00035 #endif