LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ActivityRegistry.h
Go to the documentation of this file.
1 #ifndef art_Framework_Services_Registry_ActivityRegistry_h
2 #define art_Framework_Services_Registry_ActivityRegistry_h
3 
5 // ActivityRegistry
6 //
7 // Registry holding the signals to which services may subscribe.
8 //
9 // Services can connect to the signals distributed by the
10 // ActivityRegistry in order to monitor the activity of the application.
11 //
12 // Signals are either global or local (per-schedule). Register a
13 // watchpoint by calling the watch() function of the appropriate signal.
14 //
15 // GlobalSignal<detail::SignalResponseType::FIFO, void(ModuleDescription
16 // const&)> sPreModuleBeginJob;
17 //
18 // describes a watchpoint whose callable objects should have void return
19 // type and take a single argument of type ModuleDescription const&.
21 
25 
26 #include <functional>
27 #include <string>
28 #include <vector>
29 
30 namespace art {
31  // Explicit declarations here rather than including fwd.h to avoid
32  // confusing our dependency checker into thinking there's a link
33  // dependency.
34  class Event;
35  class HLTPathStatus;
36  class InputSource;
37  class ModuleDescription;
38  class ModuleContext;
39  class OutputFileInfo;
40  class PathContext;
41  class Run;
42  class RunID;
43  class ScheduleContext;
44  class SubRun;
45  class SubRunID;
46  class Timestamp;
47  class Worker;
48 
49  class ActivityRegistry;
50 } // namespace art
51 
53 public:
56 
57  ActivityRegistry(ActivityRegistry const&) = delete;
59 
60  // ---------- signals ------------------------------------
61  // Signal is emitted after all modules have had their beginJob called
63 
64  // Signal is emitted after all modules have had their endJob called
66 
67  // Signal is emitted after the source's constructor is called
70 
71  // Signal is emitted before the source starts creating an Event
74 
75  // Signal is emitted after the source starts creating an Event
77  void(Event const&, ScheduleContext)>
79 
80  // Signal is emitted before the source starts creating a SubRun
82 
83  // Signal is emitted after the source starts creating a SubRun
86 
87  // Signal is emitted before the source starts creating a Run
89 
90  // Signal is emitted after the source starts creating a Run
93 
94  // Signal is emitted before the source opens a file
96 
97  // Signal is emitted after the source opens a file
100 
101  // Signal is emitted before the source closes a file.
103 
104  // Signal is emitted after the source closes a file
106 
107  // Signal is emitted just after the output opens a file (provides
108  // module label).
111 
112  // Signal is emitted just before an output will close a file (provides
113  // module label).
116 
117  // Signal is emitted after an output has closed a file (provides
118  // module label and file name).
121 
122  // Signal is emitted after the Event has been created by the
123  // InputSource but before any modules have seen the Event
125  void(Event const&, ScheduleContext)>
127 
128  // Signal is emitted after all modules have finished processing the
129  // Event
131  void(Event const&, ScheduleContext)>
133 
134  // Signal is emitted after the event has been processed, but before
135  // the event has been written.
138 
139  // Signal is emitted after the event has been written.
142 
143  // Signal is emitted after the Run has been created by the InputSource
144  // but before any modules have seen the Run
146 
147  // Signal is emitted after all modules have finished processing the
148  // beginRun
151 
152  // Signal is emitted before the endRun is processed
154  void(RunID const&, Timestamp const&)>
156 
157  // Signal is emitted after all modules have finished processing the
158  // Run
160 
161  // Signal is emitted after the SubRun has been created by the
162  // InputSource but before any modules have seen the SubRun
165 
166  // Signal is emitted after all modules have finished processing the
167  // beginSubRun
170 
171  // Signal is emitted before the endSubRun is processed
173  void(SubRunID const&, Timestamp const&)>
175 
176  // Signal is emitted after all modules have finished processing the
177  // SubRun
180 
181  // Signal is emitted before starting to process a Path for an event
184 
185  // Signal is emitted after all modules have finished for the Path for
186  // an event
188  void(PathContext const&, HLTPathStatus const&)>
190 
191  // Signal is emitted before starting to process a Path for beginRun
194 
195  // Signal is emitted after all modules have finished for the Path for beginRun
197  void(std::string const&, HLTPathStatus const&)>
199 
200  // Signal is emitted before starting to process a Path for endRun
203 
204  // Signal is emitted after all modules have finished for the Path for endRun
206  void(std::string const&, HLTPathStatus const&)>
208 
209  // Signal is emitted before starting to process a Path for beginSubRun
212 
213  // Signal is emitted after all modules have finished for the Path for
214  // beginSubRun
216  void(std::string const&, HLTPathStatus const&)>
218 
219  // Signal is emitted before starting to process a Path for endRun
222 
223  // Signal is emitted after all modules have finished for the Path for endRun
225  void(std::string const&, HLTPathStatus const&)>
227 
228  // Signal is emitted before the module is constructed
231 
232  // Signal is emitted after the module was construction
235 
236  // Signal is emitted before module does respondToOpenInputFile
239 
240  // Signal is emitted after module has done respondToOpenInputFile
243 
244  // Signal is emitted before module does respondToCloseInputFile
247 
248  // Signal is emitted after module has done respondToCloseInputFile
251 
252  // Signal is emitted before module does respondToOpenOutputFiles
255 
256  // Signal is emitted after module has done respondToOpenOutputFiles
259 
260  // Signal is emitted before module does respondToCloseOutputFiles
263 
264  // Signal is emitted after module has done respondToCloseOutputFiles
267 
268  // Signal is emitted after beginJob
270  void(InputSource*, std::vector<Worker*> const&)>
272 
273  // Signal is emitted before the module does beginJob
276 
277  // Signal is emitted after the module had done beginJob
280 
281  // Signal is emitted before the module does endJob
284 
285  // Signal is emitted after the module had done endJob
288 
289  // Signal is emitted before the module starts processing the Event
292 
293  // Signal is emitted after the module finished processing the Event
296 
297  // Signal is emitted before the module starts processing beginRun
300 
301  // Signal is emitted after the module finished processing beginRun
304 
305  // Signal is emitted before the module starts processing endRun
308 
309  // Signal is emitted after the module finished processing endRun
312 
313  // Signal is emitted before the module starts processing beginSubRun
316 
317  // Signal is emitted after the module finished processing beginSubRun
320 
321  // Signal is emitted before the module starts processing endSubRun
324 
325  // Signal is emitted after the module finished processing endSubRun
328 
329 }; // ActivityRegistry
330 
331 #endif /* art_Framework_Services_Registry_ActivityRegistry_h */
332 
333 // Local Variables:
334 // mode: c++
335 // End:
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreOpenFile
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleContext const &)> sPreModuleBeginRun
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPostBeginJob
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleContext const &)> sPreModuleEndRun
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathEndSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleBeginJob
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreCloseFile
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &)> sPostOpenOutputFile
GlobalSignal< detail::SignalResponseType::LIFO, void(Event const &, ScheduleContext)> sPostSourceEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToCloseOutputFiles
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleConstruction
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToCloseInputFile
GlobalSignal< detail::SignalResponseType::LIFO, void()> sPostEndJob
GlobalSignal< detail::SignalResponseType::LIFO, void(Run const &)> sPostSourceRun
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &, HLTPathStatus const &)> sPostPathEndRun
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreSourceSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleContext const &)> sPreModule
GlobalSignal< detail::SignalResponseType::LIFO, void(Run const &)> sPostBeginRun
GlobalSignal< detail::SignalResponseType::LIFO, void(SubRun const &)> sPostBeginSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &, HLTPathStatus const &)> sPostPathEndSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleConstruction
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &, HLTPathStatus const &)> sPostPathBeginSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleContext const &)> sPostModuleEndRun
GlobalSignal< detail::SignalResponseType::LIFO, void(InputSource *, std::vector< Worker * > const &)> sPostBeginJobWorkers
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleContext const &)> sPreModuleEndSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleBeginJob
GlobalSignal< detail::SignalResponseType::LIFO, void(PathContext const &, HLTPathStatus const &)> sPostProcessPath
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToOpenInputFile
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleContext const &)> sPreWriteEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostSourceConstruction
ActivityRegistry & operator=(ActivityRegistry const &)=delete
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathEndRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleContext const &)> sPostModuleBeginRun
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathBeginRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToOpenInputFile
GlobalSignal< detail::SignalResponseType::FIFO, void(Event const &, ScheduleContext)> sPreProcessEvent
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleEndJob
GlobalSignal< detail::SignalResponseType::LIFO, void(Event const &, ScheduleContext)> sPostProcessEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(Run const &)> sPostEndRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleContext const &)> sPostModule
GlobalSignal< detail::SignalResponseType::FIFO, void(Run const &)> sPreBeginRun
GlobalSignal< detail::SignalResponseType::FIFO, void(SubRunID const &, Timestamp const &)> sPreEndSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToOpenOutputFiles
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &)> sPostOpenFile
GlobalSignal< detail::SignalResponseType::FIFO, void(PathContext const &)> sPreProcessPath
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPreCloseOutputFile
GlobalSignal< detail::SignalResponseType::LIFO, void(OutputFileInfo const &)> sPostCloseOutputFile
Definition: MVAAlg.h:12
GlobalSignal< detail::SignalResponseType::FIFO, void(RunID const &, Timestamp const &)> sPreEndRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleEndJob
GlobalSignal< detail::SignalResponseType::FIFO, void(SubRun const &)> sPreBeginSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleContext const &)> sPostModuleEndSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void()> sPostCloseFile
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleContext const &)> sPostModuleBeginSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleContext const &)> sPreModuleBeginSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ScheduleContext)> sPreSourceEvent
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToCloseOutputFiles
GlobalSignal< detail::SignalResponseType::LIFO, void(SubRun const &)> sPostSourceSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToOpenOutputFiles
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &, HLTPathStatus const &)> sPostPathBeginRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToCloseInputFile
GlobalSignal< detail::SignalResponseType::LIFO, void(SubRun const &)> sPostEndSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathBeginSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleContext const &)> sPostWriteEvent
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreSourceRun