#include <EventFilter/StorageManager/interface/EPRunner.h>
Public Member Functions | |
EPRunner (const std::string &config_string, std::auto_ptr< HLTInfo >) | |
HLTInfo * | getInfo () |
const edm::ProductRegistry & | getRegistry () |
edm::ServiceToken | getToken () |
void | join () |
void | start () |
~EPRunner () | |
Private Member Functions | |
void | dowork () |
EPRunner (const EPRunner &) | |
EPRunner & | operator= (const EPRunner &) |
Static Private Member Functions | |
static void | run (EPRunner *) |
Private Attributes | |
edm::AssertHandler | ah_ |
edm::EventProcessor | ep_ |
HLTInfo * | info_ |
boost::shared_ptr< boost::thread > | me_ |
edm::ServiceToken | tok_ |
Definition at line 17 of file EPRunner.h.
stor::EPRunner::EPRunner | ( | const std::string & | config_string, | |
std::auto_ptr< HLTInfo > | info | |||
) |
Definition at line 19 of file EPRunner.cc.
References lat::endl(), and FDEBUG.
00020 : 00021 info_(info.get()), 00022 tok_(edm::ServiceRegistry::createContaining(info)), 00023 ah_(), 00024 ep_(config_string,tok_,edm::serviceregistry::kOverlapIsError) 00025 { 00026 FDEBUG(4) << "EPRunner ctor body" << endl; 00027 }
stor::EPRunner::~EPRunner | ( | ) |
stor::EPRunner::EPRunner | ( | const EPRunner & | ) | [private] |
void stor::EPRunner::dowork | ( | ) | [private] |
Definition at line 54 of file EPRunner.cc.
References edm::EventProcessor::beginJob(), TestMuL1L2Filter_cff::cerr, e, edm::EventProcessor::endJob(), lat::endl(), ep_, exception, stor::HLTInfo::getExtraLock(), info_, edm::EventProcessor::run(), and sl.
Referenced by run().
00055 { 00056 try 00057 { 00058 { 00059 boost::mutex::scoped_lock sl(info_->getExtraLock()); 00060 ep_.beginJob(); 00061 } 00062 ep_.run(); 00063 { 00064 boost::mutex::scoped_lock sl(info_->getExtraLock()); 00065 ep_.endJob(); 00066 } 00067 } 00068 catch (std::exception& e) 00069 { 00070 std::cerr << "Standard library exception caught EventProcessor" << "\n" 00071 << e.what() 00072 << std::endl; 00073 } 00074 catch (...) 00075 { 00076 std::cerr << "Unknown exception caught EventProcessor" 00077 << std::endl; 00078 } 00079 00080 }
HLTInfo* stor::EPRunner::getInfo | ( | ) | [inline] |
const edm::ProductRegistry & stor::EPRunner::getRegistry | ( | ) |
Definition at line 33 of file EPRunner.cc.
00034 { 00035 Service<ConstProductRegistry> reg; 00036 return reg->productRegistry(); 00037 }
edm::ServiceToken stor::EPRunner::getToken | ( | ) | [inline] |
void stor::EPRunner::join | ( | ) |
Definition at line 49 of file EPRunner.cc.
References dowork().
Referenced by start().
00050 { 00051 t->dowork(); 00052 }
Definition at line 39 of file EPRunner.cc.
References me_, run(), and thread.
00040 { 00041 me_.reset( new boost::thread(boost::bind(EPRunner::run,this))); 00042 }
edm::AssertHandler stor::EPRunner::ah_ [private] |
Definition at line 39 of file EPRunner.h.
edm::EventProcessor stor::EPRunner::ep_ [private] |
HLTInfo* stor::EPRunner::info_ [private] |
boost::shared_ptr<boost::thread> stor::EPRunner::me_ [private] |
edm::ServiceToken stor::EPRunner::tok_ [private] |
Definition at line 38 of file EPRunner.h.