6464#include " FWCore/Framework/interface/ExceptionHelpers.h"
6565#include " FWCore/Framework/interface/Frameworkfwd.h"
6666#include " FWCore/Framework/interface/OccurrenceTraits.h"
67- #include " FWCore/Framework/interface/UnscheduledCallProducer.h"
6867#include " FWCore/Framework/interface/WorkerManager.h"
6968#include " FWCore/Framework/interface/Path.h"
7069#include " FWCore/Framework/interface/TransitionInfoTypes.h"
70+ #include " FWCore/Framework/interface/ModuleInPath.h"
7171#include " FWCore/Framework/interface/maker/Worker.h"
7272#include " FWCore/Framework/interface/EarlyDeleteHelper.h"
7373#include " FWCore/MessageLogger/interface/ExceptionMessages.h"
@@ -109,7 +109,6 @@ namespace edm {
109109 class ExceptionCollector ;
110110 class ExceptionToActionTable ;
111111 class OutputModuleCommunicator ;
112- class UnscheduledCallProducer ;
113112 class WorkerInPath ;
114113 class ModuleRegistry ;
115114 class TriggerResultInserter ;
@@ -134,14 +133,30 @@ namespace edm {
134133
135134 typedef std::vector<WorkerInPath> PathWorkers;
136135
137- StreamSchedule (std::shared_ptr<TriggerResultInserter> inserter,
138- std::vector<edm::propagate_const<std::shared_ptr<PathStatusInserter>>>& pathStatusInserters,
139- std::vector<edm::propagate_const<std::shared_ptr<EndPathStatusInserter>>>& endPathStatusInserters,
136+ struct PathInfo {
137+ PathInfo (std::string name, std::vector<edm::ModuleInPath> modules, std::shared_ptr<PathStatusInserter> inserter)
138+ : name_(std::move(name)), modules_(std::move(modules)), inserter_(std::move(inserter)) {}
139+ std::string name_;
140+ std::vector<edm::ModuleInPath> modules_;
141+ std::shared_ptr<PathStatusInserter> inserter_;
142+ };
143+ struct EndPathInfo {
144+ EndPathInfo (std::string name,
145+ std::vector<edm::ModuleInPath> modules,
146+ std::shared_ptr<EndPathStatusInserter> inserter)
147+ : name_(std::move(name)), modules_(std::move(modules)), inserter_(std::move(inserter)) {}
148+ std::string name_;
149+ std::vector<edm::ModuleInPath> modules_;
150+ std::shared_ptr<EndPathStatusInserter> inserter_;
151+ };
152+
153+ StreamSchedule (std::vector<PathInfo> const & paths,
154+ std::vector<EndPathInfo> const & endPaths,
155+ std::vector<ModuleDescription const *> const & unscheduledModules,
156+ std::shared_ptr<TriggerResultInserter> inserter,
140157 std::shared_ptr<ModuleRegistry>,
141158 ParameterSet& proc_pset,
142- service::TriggerNamesService const & tns,
143159 PreallocationConfiguration const & prealloc,
144- SignallingProductRegistryFiller& pregistry,
145160 ExceptionToActionTable const & actions,
146161 std::shared_ptr<ActivityRegistry> areg,
147162 std::shared_ptr<ProcessConfiguration const > processConfiguration,
@@ -232,13 +247,6 @@ namespace edm {
232247
233248 StreamContext const & context () const { return streamContext_; }
234249
235- struct AliasInfo {
236- std::string friendlyClassName;
237- std::string instanceLabel;
238- std::string originalInstanceLabel;
239- std::string originalModuleLabel;
240- };
241-
242250 private:
243251 // / returns the action table
244252 ExceptionToActionTable const & actionTable () const { return workerManagerLumisAndEvents_.actionTable (); }
@@ -251,60 +259,15 @@ namespace edm {
251259
252260 void reportSkipped (EventPrincipal const & ep) const ;
253261
254- std::vector<Worker*> tryToPlaceConditionalModules (
255- Worker*,
256- ModuleRegistry& iRegistry,
257- std::unordered_set<std::string>& conditionalModules,
258- std::unordered_multimap<std::string, edm::ProductDescription const *> const & conditionalModuleBranches,
259- std::unordered_multimap<std::string, AliasInfo> const & aliasMap,
260- ParameterSet& proc_pset,
261- SignallingProductRegistryFiller& preg,
262- PreallocationConfiguration const * prealloc,
263- std::shared_ptr<ProcessConfiguration const > processConfiguration);
264- PathWorkers fillWorkers (ParameterSet& proc_pset,
265- ModuleRegistry& moduleRegistry,
266- SignallingProductRegistryFiller& preg,
267- PreallocationConfiguration const * prealloc,
268- std::shared_ptr<ProcessConfiguration const > processConfiguration,
269- std::string const & name,
270- bool ignoreFilters,
271- std::vector<std::string> const & endPathNames,
272- ConditionalTaskHelper const & conditionalTaskHelper,
273- std::unordered_set<std::string>& allConditionalModules);
274- void fillTrigPath (ParameterSet& proc_pset,
275- ModuleRegistry& moduleRegistry,
276- SignallingProductRegistryFiller& preg,
277- PreallocationConfiguration const * prealloc,
278- std::shared_ptr<ProcessConfiguration const > processConfiguration,
279- int bitpos,
280- std::string const & name,
281- TrigResPtr,
282- std::vector<std::string> const & endPathNames,
283- ConditionalTaskHelper const & conditionalTaskHelper,
284- std::unordered_set<std::string>& allConditionalModules);
285- void fillEndPath (ParameterSet& proc_pset,
286- ModuleRegistry& moduleRegistry,
287- SignallingProductRegistryFiller& preg,
288- PreallocationConfiguration const * prealloc,
289- std::shared_ptr<ProcessConfiguration const > processConfiguration,
290- int bitpos,
291- std::string const & name,
292- std::vector<std::string> const & endPathNames,
293- ConditionalTaskHelper const & conditionalTaskHelper,
294- std::unordered_set<std::string>& allConditionalModules);
295-
296- void addToAllWorkers (Worker* w);
262+ PathWorkers fillWorkers (std::vector<ModuleInPath> const &);
263+ void fillTrigPath (PathInfo const &, int bitpos, TrigResPtr);
264+ void fillEndPath (EndPathInfo const &, int bitpos);
297265
298266 void resetEarlyDelete ();
299267
300268 TrigResConstPtr results () const { return get_underlying_safe (results_); }
301269 TrigResPtr& results () { return get_underlying_safe (results_); }
302270
303- void makePathStatusInserters (
304- std::vector<edm::propagate_const<std::shared_ptr<PathStatusInserter>>>& pathStatusInserters,
305- std::vector<edm::propagate_const<std::shared_ptr<EndPathStatusInserter>>>& endPathStatusInserters,
306- ExceptionToActionTable const & actions);
307-
308271 template <typename T>
309272 void preScheduleSignal (StreamContext const *) const ;
310273
0 commit comments