#include <WorkerManager.h>
Public Types | |
typedef std::vector< Worker * > | AllWorkers |
Public Member Functions | |
ExceptionToActionTable const & | actionTable () const |
void | addToAllWorkers (Worker *w) |
void | addToUnscheduledWorkers (ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration > processConfiguration, std::string label, std::set< std::string > &unscheduledLabels, std::vector< std::string > &shouldBeUsedLabels) |
AllWorkers const & | allWorkers () const |
void | beginJob (ProductRegistry const &iRegistry) |
void | beginStream (StreamID iID, StreamContext &streamContext) |
void | endJob () |
void | endJob (ExceptionCollector &collector) |
void | endStream (StreamID iID, StreamContext &streamContext) |
Worker * | getWorker (ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &label) |
template<typename T , typename U > | |
void | processOneOccurrence (typename T::MyPrincipal &principal, EventSetup const &eventSetup, StreamID streamID, typename T::Context const *topContext, U const *context, bool cleaningUpAfterException=false) |
void | setOnDemandProducts (ProductRegistry &pregistry, std::set< std::string > const &unscheduledLabels) const |
WorkerManager (std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions) | |
WorkerManager (std::shared_ptr< ModuleRegistry > modReg, std::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions) | |
Private Member Functions | |
void | resetAll () |
void | setupOnDemandSystem (EventPrincipal &principal, EventSetup const &es) |
std::shared_ptr < UnscheduledCallProducer const > | unscheduled () const |
std::shared_ptr < UnscheduledCallProducer > & | unscheduled () |
Private Attributes | |
ExceptionToActionTable const * | actionTable_ |
AllWorkers | allWorkers_ |
edm::propagate_const < std::shared_ptr < UnscheduledCallProducer > > | unscheduled_ |
WorkerRegistry | workerReg_ |
Definition at line 30 of file WorkerManager.h.
typedef std::vector<Worker*> edm::WorkerManager::AllWorkers |
Definition at line 32 of file WorkerManager.h.
edm::WorkerManager::WorkerManager | ( | std::shared_ptr< ActivityRegistry > | actReg, |
ExceptionToActionTable const & | actions | ||
) |
Definition at line 16 of file WorkerManager.cc.
edm::WorkerManager::WorkerManager | ( | std::shared_ptr< ModuleRegistry > | modReg, |
std::shared_ptr< ActivityRegistry > | actReg, | ||
ExceptionToActionTable const & | actions | ||
) |
Definition at line 23 of file WorkerManager.cc.
|
inline |
Definition at line 68 of file WorkerManager.h.
References actionTable_.
Referenced by edm::GlobalSchedule::actionTable(), and edm::StreamSchedule::actionTable().
void edm::WorkerManager::addToAllWorkers | ( | Worker * | w | ) |
Definition at line 127 of file WorkerManager.cc.
References allWorkers_, and edm::search_all().
Referenced by edm::GlobalSchedule::addToAllWorkers(), edm::StreamSchedule::addToAllWorkers(), and addToUnscheduledWorkers().
void edm::WorkerManager::addToUnscheduledWorkers | ( | ParameterSet & | pset, |
ProductRegistry & | preg, | ||
PreallocationConfiguration const * | prealloc, | ||
std::shared_ptr< ProcessConfiguration > | processConfiguration, | ||
std::string | label, | ||
std::set< std::string > & | unscheduledLabels, | ||
std::vector< std::string > & | shouldBeUsedLabels | ||
) |
Definition at line 41 of file WorkerManager.cc.
References addToAllWorkers(), assert(), edm::ParameterSet::getParameter(), getWorker(), edm::Worker::kFilter, kFilterType(), edm::Worker::kProducer, kProducerType(), edm::Worker::moduleType(), AlCaHLTBitMon_QueryRunRegistry::string, and unscheduled_.
Referenced by edm::SecondaryEventProvider::SecondaryEventProvider(), and edm::StreamSchedule::StreamSchedule().
|
inline |
Definition at line 64 of file WorkerManager.h.
References allWorkers_.
Referenced by edm::GlobalSchedule::allWorkers(), and edm::StreamSchedule::allWorkers().
void edm::WorkerManager::beginJob | ( | ProductRegistry const & | iRegistry | ) |
Definition at line 94 of file WorkerManager.cc.
References allWorkers_, edm::Worker::beginJob(), edm::for_all(), edm::InEvent, edm::InLumi, edm::InRun, and edm::ProductRegistry::productLookup().
Referenced by edm::SecondaryEventProvider::beginJob(), and edm::GlobalSchedule::beginJob().
void edm::WorkerManager::beginStream | ( | StreamID | iID, |
StreamContext & | streamContext | ||
) |
Definition at line 108 of file WorkerManager.cc.
References allWorkers_.
Referenced by edm::SecondaryEventProvider::beginStream(), and edm::StreamSchedule::beginStream().
void edm::WorkerManager::endJob | ( | void | ) |
Definition at line 74 of file WorkerManager.cc.
References allWorkers_.
Referenced by edm::SecondaryEventProvider::endJob(), and edm::GlobalSchedule::endJob().
void edm::WorkerManager::endJob | ( | ExceptionCollector & | collector | ) |
Definition at line 80 of file WorkerManager.cc.
References edm::ExceptionCollector::addException(), allWorkers_, and edm::convertException::wrap().
void edm::WorkerManager::endStream | ( | StreamID | iID, |
StreamContext & | streamContext | ||
) |
Definition at line 115 of file WorkerManager.cc.
References allWorkers_.
Referenced by edm::SecondaryEventProvider::endStream(), and edm::StreamSchedule::endStream().
Worker * edm::WorkerManager::getWorker | ( | ParameterSet & | pset, |
ProductRegistry & | preg, | ||
PreallocationConfiguration const * | prealloc, | ||
std::shared_ptr< ProcessConfiguration const > | processConfiguration, | ||
std::string const & | label | ||
) |
Definition at line 32 of file WorkerManager.cc.
References actionTable_, edm::WorkerRegistry::getWorker(), and workerReg_.
Referenced by addToUnscheduledWorkers(), edm::StreamSchedule::fillWorkers(), and edm::GlobalSchedule::GlobalSchedule().
void edm::WorkerManager::processOneOccurrence | ( | typename T::MyPrincipal & | principal, |
EventSetup const & | eventSetup, | ||
StreamID | streamID, | ||
typename T::Context const * | topContext, | ||
U const * | context, | ||
bool | cleaningUpAfterException = false |
||
) |
Definition at line 95 of file WorkerManager.h.
References alignCSCRings::action, actionTable_, edm::addContextAndPrintException(), assert(), cms::Exception::category(), cms::Exception::context(), alignCSCRings::e, edm::exception_actions::FailPath, edm::ExceptionToActionTable::find(), edm::exception_actions::IgnoreCompletely, edm::printCmsExceptionWarning(), resetAll(), edm::exception_actions::Rethrow, setupOnDemandSystem(), edm::exception_actions::SkipEvent, unscheduled_, and edm::convertException::wrap().
Referenced by edm::SecondaryEventProvider::beginLuminosityBlock(), edm::SecondaryEventProvider::beginRun(), edm::SecondaryEventProvider::endLuminosityBlock(), edm::SecondaryEventProvider::endRun(), edm::StreamSchedule::processOneEvent(), edm::GlobalSchedule::processOneGlobal(), edm::StreamSchedule::processOneStream(), and edm::SecondaryEventProvider::setupPileUpEvent().
|
private |
Definition at line 122 of file WorkerManager.cc.
References allWorkers_, edm::for_all(), and edm::Worker::reset().
Referenced by processOneOccurrence().
void edm::WorkerManager::setOnDemandProducts | ( | ProductRegistry & | pregistry, |
std::set< std::string > const & | unscheduledLabels | ||
) | const |
Definition at line 64 of file WorkerManager.cc.
References edm::InEvent, parseEventContent::prod, and edm::ProductRegistry::productListUpdator().
Referenced by edm::SecondaryEventProvider::SecondaryEventProvider(), and edm::StreamSchedule::StreamSchedule().
|
private |
Definition at line 134 of file WorkerManager.cc.
References edm::EventPrincipal::setUnscheduledHandler(), unscheduled(), and unscheduled_.
Referenced by processOneOccurrence().
|
inlineprivate |
Definition at line 82 of file WorkerManager.h.
References edm::get_underlying_safe(), and unscheduled_.
Referenced by setupOnDemandSystem().
|
inlineprivate |
Definition at line 83 of file WorkerManager.h.
References edm::get_underlying_safe(), and unscheduled_.
|
private |
Definition at line 86 of file WorkerManager.h.
Referenced by actionTable(), getWorker(), and processOneOccurrence().
|
private |
Definition at line 88 of file WorkerManager.h.
Referenced by addToAllWorkers(), allWorkers(), beginJob(), beginStream(), endJob(), endStream(), and resetAll().
|
private |
Definition at line 90 of file WorkerManager.h.
Referenced by addToUnscheduledWorkers(), processOneOccurrence(), setupOnDemandSystem(), and unscheduled().
|
private |
Definition at line 85 of file WorkerManager.h.
Referenced by getWorker().