17 actionTable_(&actions),
23 boost::shared_ptr<ActivityRegistry>
areg,
25 workerReg_(areg,modReg),
26 actionTable_(&actions),
46 std::set<std::string>& unscheduledLabels,
47 std::vector<std::string>& shouldBeUsedLabels) {
53 Worker* newWorker =
getWorker(pset, preg, prealloc, processConfiguration, label);
55 unscheduledLabels.insert(label);
60 shouldBeUsedLabels.push_back(label);
66 if(
prod.second.produced() &&
68 unscheduledLabels.end() != unscheduledLabels.find(
prod.second.moduleLabel())) {
69 prod.second.setOnDemand(
true);
99 worker->updateLookup(
InRun,*runLookup);
100 worker->updateLookup(
InLumi,*lumiLookup);
101 worker->updateLookup(
InEvent,*eventLookup);
111 worker->beginStream(iID, streamContext);
118 worker->endStream(iID, streamContext);
T getParameter(std::string const &) const
void addException(cms::Exception const &exception)
void endStream(StreamID iID, StreamContext &streamContext)
static const std::string kFilterType("EDFilter")
void setOnDemandProducts(ProductRegistry &pregistry, std::set< std::string > const &unscheduledLabels) const
void addToUnscheduledWorkers(ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, boost::shared_ptr< ProcessConfiguration > processConfiguration, std::string label, bool useStopwatch, std::set< std::string > &unscheduledLabels, std::vector< std::string > &shouldBeUsedLabels)
void beginJob(ProductRegistry const &iRegistry)
ExceptionToActionTable const * actionTable_
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
boost::shared_ptr< ProductHolderIndexHelper > const & productLookup(BranchType branchType) const
Worker * getWorker(ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, boost::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &label)
boost::shared_ptr< UnscheduledCallProducer > unscheduled_
virtual Types moduleType() const =0
void beginStream(StreamID iID, StreamContext &streamContext)
WorkerManager(boost::shared_ptr< ActivityRegistry > actReg, ExceptionToActionTable const &actions)
static const std::string kProducerType("EDProducer")
bool search_all(ForwardSequence const &s, Datum const &d)
ProductList & productListUpdator()
void loadMissingDictionaries()
WorkerRegistry workerReg_
Worker * getWorker(WorkerParams const &p, std::string const &moduleLabel)
Retrieve the particular instance of the worker.
void setUnscheduledHandler(boost::shared_ptr< UnscheduledHandler > iHandler)
auto wrap(F iFunc) -> decltype(iFunc())
void addToAllWorkers(Worker *w, bool useStopwatch)
void setupOnDemandSystem(EventPrincipal &principal, EventSetup const &es)