CMS 3D CMS Logo

EPRunner.h

Go to the documentation of this file.
00001 #ifndef HLT_EPRUNNER_H
00002 #define HLT_EPRUNNER_H
00003 
00004 #include "FWCore/Framework/interface/EventProcessor.h"
00005 #include "FWCore/ServiceRegistry/interface/ServiceToken.h"
00006 #include "FWCore/PluginManager/interface/ProblemTracker.h"
00007 #include "IOPool/Streamer/interface/HLTInfo.h"
00008 
00009 #include "boost/thread/thread.hpp"
00010 #include "boost/shared_ptr.hpp"
00011 
00012 #include <string>
00013 #include <memory>
00014 
00015 namespace stor
00016 {
00017   class EPRunner
00018   {
00019   public:
00020     EPRunner(const std::string& config_string,
00021              std::auto_ptr<HLTInfo>);
00022     ~EPRunner();
00023 
00024     void start();
00025     void join();
00026 
00027     const edm::ProductRegistry& getRegistry();
00028     edm::ServiceToken getToken() { return ep_.getToken();}
00029     HLTInfo* getInfo() { return info_; }
00030 
00031   private:
00032     EPRunner(const EPRunner&);
00033     EPRunner& operator=(const EPRunner&);
00034 
00035     static void run(EPRunner*);
00036     void dowork();
00037     HLTInfo* info_;
00038     edm::ServiceToken tok_;
00039         edm::AssertHandler ah_;
00040     edm::EventProcessor ep_;
00041     boost::shared_ptr<boost::thread> me_;
00042   };
00043 }
00044 
00045 #endif
00046 

Generated on Tue Jun 9 17:34:52 2009 for CMSSW by  doxygen 1.5.4