23 std::vector<
edm::propagate_const<std::shared_ptr<EndPathStatusInserter>>>& endPathStatusInserters,
24 std::shared_ptr<ModuleRegistry> modReg,
25 std::vector<std::string>
const& iModulesToUse,
30 std::shared_ptr<ActivityRegistry> areg,
31 std::shared_ptr<ProcessConfiguration> processConfiguration,
33 workerManager_(modReg,areg,actions),
35 processContext_(processContext)
37 for (
auto const& moduleLabel : iModulesToUse) {
40 if (modpset !=
nullptr) {
50 inserter->doPreallocate(prealloc);
55 for(
auto & pathStatusInserter : pathStatusInserters) {
56 std::shared_ptr<PathStatusInserter> inserterPtr =
get_underlying(pathStatusInserter);
58 inserterPtr->moduleDescription(),
61 inserterPtr->doPreallocate(prealloc);
62 workerPtr->setActivityRegistry(
actReg_);
66 for(
auto & endPathStatusInserter : endPathStatusInserters) {
67 std::shared_ptr<EndPathStatusInserter> inserterPtr =
get_underlying(endPathStatusInserter);
69 inserterPtr->moduleDescription(),
72 inserterPtr->doPreallocate(prealloc);
73 workerPtr->setActivityRegistry(
actReg_);
91 if (worker->description().moduleLabel() == iLabel) {
96 if (
nullptr == found) {
104 std::vector<ModuleDescription const*>
106 std::vector<ModuleDescription const*>
result;
edm::propagate_const< WorkerPtr > results_inserter_
std::vector< edm::propagate_const< WorkerPtr > > endPathStatusInserterWorkers_
void replaceModule(maker::ModuleHolder *iMod, std::string const &iLabel)
clone the type of module with label iLabel but configure with iPSet.
roAction_t actions[nactions]
virtual void replaceModuleFor(Worker *) const =0
void beginJob(ProductRegistry const &iRegistry)
void addToAllWorkers(Worker *w)
void beginJob(ProductRegistry const &)
T & get_underlying(propagate_const< T > &)
AllWorkers const & allWorkers() const
returns the collection of pointers to workers
std::shared_ptr< Worker > WorkerPtr
void endJob(ExceptionCollector &collector)
element_type const * get() const
std::shared_ptr< ActivityRegistry > actReg_
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
std::vector< edm::propagate_const< WorkerPtr > > pathStatusInserterWorkers_
WorkerManager workerManager_
GlobalSchedule(std::shared_ptr< TriggerResultInserter > inserter, std::vector< edm::propagate_const< std::shared_ptr< PathStatusInserter >>> &pathStatusInserters, std::vector< edm::propagate_const< std::shared_ptr< EndPathStatusInserter >>> &endPathStatusInserters, std::shared_ptr< ModuleRegistry > modReg, std::vector< std::string > const &modulesToUse, ParameterSet &proc_pset, ProductRegistry &pregistry, PreallocationConfiguration const &prealloc, ExceptionToActionTable const &actions, std::shared_ptr< ActivityRegistry > areg, std::shared_ptr< ProcessConfiguration > processConfiguration, ProcessContext const *processContext)
Worker * getWorker(ParameterSet &pset, ProductRegistry &preg, PreallocationConfiguration const *prealloc, std::shared_ptr< ProcessConfiguration const > processConfiguration, std::string const &label)
void addToAllWorkers(Worker *w)
ParameterSet * getPSetForUpdate(std::string const &name, bool &isTracked)