LArSoft  v06_85_00
Liquid Argon Software toolkit - http://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&.
20 //
22 
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 OutputFileInfo;
39  class Run;
40  class RunID;
41  class SubRun;
42  class SubRunID;
43  class Timestamp;
44  class Worker;
45 
46  class ActivityRegistry;
47 
48  class EventProcessor;
49  class Schedule;
50 } // art
51 
53 public:
54  ActivityRegistry() = default;
55  ActivityRegistry(ActivityRegistry const&) = delete;
57 
58  // ---------- signals ------------------------------------
59  // Signal is emitted after all modules have had their beginJob called
61 
62  // Signal is emitted after all modules have had their endJob called
64 
65  // Signal is emitted if event processing or end-of-job
66  // processing fails with an uncaught exception.
68 
69  // Signal is emitted after the source's constructor is called
72 
73  // Signal is emitted before the source starts creating an Event
75 
76  // Signal is emitted after the source starts creating an Event
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
126 
127  // Signal is emitted after all modules have finished processing the
128  // Event
131 
132  // Signal is emitted after the event has been processed, but before
133  // the event has been written.
136 
137  // Signal is emitted after the event has been written.
140 
141  // Signal is emitted after the Run has been created by the InputSource
142  // but before any modules have seen the Run
144 
145  // Signal is emitted after all modules have finished processing the
146  // beginRun
149 
150  // Signal is emitted before the endRun is processed
152  void(RunID const&, Timestamp const&)>
154 
155  // Signal is emitted after all modules have finished processing the
156  // Run
158 
159  // Signal is emitted after the SubRun has been created by the
160  // InputSource but before any modules have seen the SubRun
163 
164  // Signal is emitted after all modules have finished processing the
165  // beginSubRun
168 
169  // Signal is emitted before the endSubRun is processed
171  void(SubRunID const&, Timestamp const&)>
173 
174  // Signal is emitted after all modules have finished processing the
175  // SubRun
178 
179  // Signal is emitted before starting to process a Path for an event
182 
183  // Signal is emitted after all modules have finished for the Path for
184  // an event
186  void(std::string const&, HLTPathStatus const&)>
188 
189  // Signal is emitted before starting to process a Path for beginRun
192 
193  // Signal is emitted after all modules have finished for the Path for beginRun
195  void(std::string const&, HLTPathStatus const&)>
197 
198  // Signal is emitted before starting to process a Path for endRun
201 
202  // Signal is emitted after all modules have finished for the Path for endRun
204  void(std::string const&, HLTPathStatus const&)>
206 
207  // Signal is emitted before starting to process a Path for beginSubRun
210 
211  // Signal is emitted after all modules have finished for the Path for
212  // beginSubRun
214  void(std::string const&, HLTPathStatus const&)>
216 
217  // Signal is emitted before starting to process a Path for endRun
220 
221  // Signal is emitted after all modules have finished for the Path for endRun
223  void(std::string const&, HLTPathStatus const&)>
225 
226  // Signal is emitted before the module is constructed
229 
230  // Signal is emitted after the module was construction
233 
234  // Signal is emitted before module does respondToOpenInputFile
237 
238  // Signal is emitted after module has done respondToOpenInputFile
241 
242  // Signal is emitted before module does respondToCloseInputFile
245 
246  // Signal is emitted after module has done respondToCloseInputFile
249 
250  // Signal is emitted before module does respondToOpenOutputFiles
253 
254  // Signal is emitted after module has done respondToOpenOutputFiles
257 
258  // Signal is emitted before module does respondToCloseOutputFiles
261 
262  // Signal is emitted after module has done respondToCloseOutputFiles
265 
266  // Signal is emitted after beginJob
268  void(InputSource*, std::vector<Worker*> const&)>
270 
271  // Signal is emitted before the module does beginJob
274 
275  // Signal is emitted after the module had done beginJob
278 
279  // Signal is emitted before the module does endJob
282 
283  // Signal is emitted after the module had done endJob
286 
287  // Signal is emitted before the module starts processing the Event
290 
291  // Signal is emitted after the module finished processing the Event
294 
295  // Signal is emitted before the module starts processing beginRun
298 
299  // Signal is emitted after the module finished processing beginRun
302 
303  // Signal is emitted before the module starts processing endRun
306 
307  // Signal is emitted after the module finished processing endRun
310 
311  // Signal is emitted before the module starts processing beginSubRun
314 
315  // Signal is emitted after the module finished processing beginSubRun
318 
319  // Signal is emitted before the module starts processing endSubRun
322 
323  // Signal is emitted after the module finished processing endSubRun
326 
327 }; // ActivityRegistry
328 
329 #endif /* art_Framework_Services_Registry_ActivityRegistry_h */
330 
331 // Local Variables:
332 // mode: c++
333 // End:
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreOpenFile
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleBeginSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPostBeginJob
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathEndSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleBeginJob
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreWriteEvent
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreCloseFile
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &)> sPostOpenOutputFile
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostWriteEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToCloseOutputFiles
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleConstruction
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &, HLTPathStatus const &)> sPostProcessPath
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToCloseInputFile
GlobalSignal< detail::SignalResponseType::LIFO, void()> sPostEndJob
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleEndSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(Run const &)> sPostSourceRun
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &, HLTPathStatus const &)> sPostPathEndRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleEndRun
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreSourceSubRun
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::FIFO, void(ModuleDescription const &)> sPreModuleBeginSubRun
GlobalSignal< detail::SignalResponseType::LIFO, void(InputSource *, std::vector< Worker * > const &)> sPostBeginJobWorkers
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleBeginJob
GlobalSignal< detail::SignalResponseType::FIFO, void()> sPreSourceEvent
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToOpenInputFile
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleBeginRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleEndRun
GlobalSignal< detail::SignalResponseType::LIFO, void(Event const &)> sPostSourceEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostSourceConstruction
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModule
ActivityRegistry & operator=(ActivityRegistry const &)=delete
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathEndRun
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPrePathBeginRun
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleRespondToOpenInputFile
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleEndJob
GlobalSignal< detail::SignalResponseType::LIFO, void(Run const &)> sPostEndRun
GlobalSignal< detail::SignalResponseType::FIFO, void(Run const &)> sPreBeginRun
ActivityRegistry()=default
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleEndSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(SubRunID const &, Timestamp const &)> sPreEndSubRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToOpenOutputFiles
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModule
GlobalSignal< detail::SignalResponseType::FIFO, void(Event const &)> sPreProcessEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &)> sPostOpenFile
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPreProcessPath
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPreCloseOutputFile
GlobalSignal< detail::SignalResponseType::LIFO, void(OutputFileInfo const &)> sPostCloseOutputFile
HLT enums.
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(Event const &)> sPostProcessEvent
GlobalSignal< detail::SignalResponseType::LIFO, void()> sPostCloseFile
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostModuleBeginRun
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreModuleRespondToCloseOutputFiles
GlobalSignal< detail::SignalResponseType::LIFO, void()> sJobFailure
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::FIFO, void()> sPreSourceRun