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 
4 ////////////////////////////////////////////////////////////////////////
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 ////////////////////////////////////////////////////////////////////////
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 
54 public:
55  ~ActivityRegistry() = default;
56  ActivityRegistry() = default;
57 
58  ActivityRegistry(ActivityRegistry const&) = delete;
60 
61  // ---------- signals ------------------------------------
62  // Signal is emitted after all modules have had their beginJob called
64 
65  // Signal is emitted after all modules have had their endJob called
67 
68  // Signal is emitted after the source's constructor is called
71 
72  // Signal is emitted before the source starts creating an Event
75 
76  // Signal is emitted after the source starts creating an Event
78  void(Event const&, ScheduleContext)>
80 
81  // Signal is emitted before the source starts creating a SubRun
83 
84  // Signal is emitted after the source starts creating a SubRun
87 
88  // Signal is emitted before the source starts creating a Run
90 
91  // Signal is emitted after the source starts creating a Run
94 
95  // Signal is emitted before the source opens a file
97 
98  // Signal is emitted after the source opens a file
101 
102  // Signal is emitted before the source closes a file.
104 
105  // Signal is emitted after the source closes a file
107 
108  // Signal is emitted just after the output opens a file (provides
109  // module label).
112 
113  // Signal is emitted just before an output will close a file (provides
114  // module label).
117 
118  // Signal is emitted after an output has closed a file (provides
119  // module label and file name).
122 
123  // Signal is emitted after the Event has been created by the
124  // InputSource but before any modules have seen the Event
126  void(Event const&, ScheduleContext)>
128 
129  // Signal is emitted after all modules have finished processing the
130  // Event
132  void(Event const&, ScheduleContext)>
134 
135  // Signal is emitted after the event has been processed, but before
136  // the event has been written.
139 
140  // Signal is emitted after the event has been written.
143 
144  // Signal is emitted after the Run has been created by the InputSource
145  // but before any modules have seen the Run
147 
148  // Signal is emitted after all modules have finished processing the
149  // beginRun
152 
153  // Signal is emitted before the endRun is processed
155  void(RunID const&, Timestamp const&)>
157 
158  // Signal is emitted after all modules have finished processing the
159  // Run
161 
162  // Signal is emitted after the SubRun has been created by the
163  // InputSource but before any modules have seen the SubRun
166 
167  // Signal is emitted after all modules have finished processing the
168  // beginSubRun
171 
172  // Signal is emitted before the endSubRun is processed
174  void(SubRunID const&, Timestamp const&)>
176 
177  // Signal is emitted after all modules have finished processing the
178  // SubRun
181 
182  // Signal is emitted before starting to process a Path for an event
185 
186  // Signal is emitted after all modules have finished for the Path for
187  // an event
189  void(PathContext const&, HLTPathStatus const&)>
191 
192  // Signal is emitted before starting to process a Path for beginRun
195 
196  // Signal is emitted after all modules have finished for the Path for beginRun
198  void(std::string const&, HLTPathStatus const&)>
200 
201  // Signal is emitted before starting to process a Path for endRun
204 
205  // Signal is emitted after all modules have finished for the Path for endRun
207  void(std::string const&, HLTPathStatus const&)>
209 
210  // Signal is emitted before starting to process a Path for beginSubRun
213 
214  // Signal is emitted after all modules have finished for the Path for
215  // beginSubRun
217  void(std::string const&, HLTPathStatus const&)>
219 
220  // Signal is emitted before starting to process a Path for endRun
223 
224  // Signal is emitted after all modules have finished for the Path for endRun
226  void(std::string const&, HLTPathStatus const&)>
228 
229  // Signal is emitted before the module is constructed
232 
233  // Signal is emitted after the module was construction
236 
237  // Signal is emitted before module does respondToOpenInputFile
240 
241  // Signal is emitted after module has done respondToOpenInputFile
244 
245  // Signal is emitted before module does respondToCloseInputFile
248 
249  // Signal is emitted after module has done respondToCloseInputFile
252 
253  // Signal is emitted before module does respondToOpenOutputFiles
256 
257  // Signal is emitted after module has done respondToOpenOutputFiles
260 
261  // Signal is emitted before module does respondToCloseOutputFiles
264 
265  // Signal is emitted after module has done respondToCloseOutputFiles
268 
269  // Signal is emitted after beginJob
271  void(InputSource*, std::vector<Worker*> const&)>
273 
274  // Signal is emitted before the module does beginJob
277 
278  // Signal is emitted after the module had done beginJob
281 
282  // Signal is emitted before the module does endJob
285 
286  // Signal is emitted after the module had done endJob
289 
290  // Signal is emitted before the module starts processing the Event
293 
294  // Signal is emitted after the module finished processing the Event
297 
298  // Signal is emitted before the module starts processing beginRun
301 
302  // Signal is emitted after the module finished processing beginRun
305 
306  // Signal is emitted before the module starts processing endRun
309 
310  // Signal is emitted after the module finished processing endRun
313 
314  // Signal is emitted before the module starts processing beginSubRun
317 
318  // Signal is emitted after the module finished processing beginSubRun
321 
322  // Signal is emitted before the module starts processing endSubRun
325 
326  // Signal is emitted after the module finished processing endSubRun
329 
330 }; // ActivityRegistry
331 
332 #endif /* art_Framework_Services_Registry_ActivityRegistry_h */
333 
334 // Local Variables:
335 // mode: c++
336 // End:
~ActivityRegistry()=default
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
ActivityRegistry()=default
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
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
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
typedef void(XMLCALL *XML_ElementDeclHandler)(void *userData
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
enum BeamMode string