CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ActivityRegistry.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
2 #define FWCore_ServiceRegistry_ActivityRegistry_h
3 // -*- C++ -*-
4 //
5 // Package: ServiceRegistry
6 // Class : ActivityRegistry
7 //
26 //
27 // Original Author: Chris Jones
28 // Created: Mon Sep 5 19:53:09 EDT 2005
29 //
30 
31 // system include files
32 #include <functional>
36 
37 // user include files
38 
39 #define AR_WATCH_USING_METHOD_0(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject)); }
40 #define AR_WATCH_USING_METHOD_1(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1)); }
41 #define AR_WATCH_USING_METHOD_2(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2)); }
42 #define AR_WATCH_USING_METHOD_3(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); }
43 // forward declarations
44 namespace edm {
45  class EventID;
46  class LuminosityBlockID;
47  class RunID;
48  class Timestamp;
49  class ModuleDescription;
50  class Event;
51  class LuminosityBlock;
52  class Run;
53  class EventSetup;
54  class HLTPathStatus;
55  class GlobalContext;
56  class StreamContext;
57  class PathContext;
58  class ProcessContext;
59  class ModuleCallingContext;
60  class PathsAndConsumesOfModulesBase;
61  namespace service {
62  class SystemBounds;
63  }
64 
65  namespace signalslot {
67 
68  template<class T>
70  public:
71  typedef std::function<T> slot_type;
72 
73  ObsoleteSignal() = default;
74 
75  template<typename U>
76  void connect(U /* iFunc */) {
78  }
79 
80  template<typename U>
81  void connect_front(U /* iFunc*/) {
83  }
84 
85  };
86  }
88  public:
90  ActivityRegistry(ActivityRegistry const&) = delete; // Disallow copying and moving
91  ActivityRegistry& operator=(ActivityRegistry const&) = delete; // Disallow copying and moving
92 
93  // ---------- signals ------------------------------------
99  }
101 
104  PreBeginJob preBeginJobSignal_;
106  void watchPreBeginJob(PreBeginJob::slot_type const& iSlot) {
107  preBeginJobSignal_.connect(iSlot);
108  }
110 
111  typedef signalslot::Signal<void()> PostBeginJob;
113  PostBeginJob postBeginJobSignal_;
115  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) {
116  postBeginJobSignal_.connect(iSlot);
117  }
119 
120  typedef signalslot::Signal<void()> PreEndJob;
122  PreEndJob preEndJobSignal_;
123  void watchPreEndJob(PreEndJob::slot_type const& iSlot) {
124  preEndJobSignal_.connect_front(iSlot);
125  }
127 
128  typedef signalslot::Signal<void()> PostEndJob;
130  PostEndJob postEndJobSignal_;
131  void watchPostEndJob(PostEndJob::slot_type const& iSlot) {
132  postEndJobSignal_.connect_front(iSlot);
133  }
135 
136  typedef signalslot::Signal<void()> JobFailure;
139  JobFailure jobFailureSignal_;
141  void watchJobFailure(JobFailure::slot_type const& iSlot) {
142  jobFailureSignal_.connect_front(iSlot);
143  }
145 
146 
147  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
148  PreSourceEvent preSourceSignal_;
149  void watchPreSourceEvent(PreSourceEvent::slot_type const& iSlot) {
150  preSourceSignal_.connect(iSlot);
151  }
153 
154 
155  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
156  PostSourceEvent postSourceSignal_;
157  void watchPostSourceEvent(PostSourceEvent::slot_type const& iSlot) {
158  postSourceSignal_.connect_front(iSlot);
159  }
161 
162 
163  typedef signalslot::Signal<void()> PreSourceLumi;
164  PreSourceLumi preSourceLumiSignal_;
165  void watchPreSourceLumi(PreSourceLumi::slot_type const& iSlot) {
166  preSourceLumiSignal_.connect(iSlot);
167  }
169 
170 
171  typedef signalslot::Signal<void()> PostSourceLumi;
172  PostSourceLumi postSourceLumiSignal_;
173  void watchPostSourceLumi(PostSourceLumi::slot_type const& iSlot) {
174  postSourceLumiSignal_.connect_front(iSlot);
175  }
177 
178 
179  typedef signalslot::Signal<void()> PreSourceRun;
180  PreSourceRun preSourceRunSignal_;
181  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) {
182  preSourceRunSignal_.connect(iSlot);
183  }
185 
186 
187  typedef signalslot::Signal<void()> PostSourceRun;
188  PostSourceRun postSourceRunSignal_;
189  void watchPostSourceRun(PostSourceRun::slot_type const& iSlot) {
190  postSourceRunSignal_.connect_front(iSlot);
191  }
193 
194 
195  typedef signalslot::Signal<void(std::string const&, bool)> PreOpenFile;
196  PreOpenFile preOpenFileSignal_;
197  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) {
198  preOpenFileSignal_.connect(iSlot);
199  }
201 
202 
203  // Note this is only done for a primary file, not a secondary one.
204  typedef signalslot::Signal<void(std::string const&, bool)> PostOpenFile;
205  PostOpenFile postOpenFileSignal_;
206  void watchPostOpenFile(PostOpenFile::slot_type const& iSlot) {
207  postOpenFileSignal_.connect_front(iSlot);
208  }
210 
211 
212  // First argument is the LFN of the file which is being closed.
213  // Second argument is false if fallback is used; true otherwise.
214  typedef signalslot::Signal<void(std::string const&, bool)> PreCloseFile;
215  PreCloseFile preCloseFileSignal_;
216  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) {
217  preCloseFileSignal_.connect(iSlot);
218  }
220 
221 
222  typedef signalslot::Signal<void(std::string const&, bool)> PostCloseFile;
223  PostCloseFile postCloseFileSignal_;
224  void watchPostCloseFile(PostCloseFile::slot_type const& iSlot) {
225  postCloseFileSignal_.connect_front(iSlot);
226  }
228 
230  PreModuleBeginStream preModuleBeginStreamSignal_;
231  void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const& iSlot) {
232  preModuleBeginStreamSignal_.connect(iSlot);
233  }
235 
237  PostModuleBeginStream postModuleBeginStreamSignal_;
238  void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const& iSlot) {
239  postModuleBeginStreamSignal_.connect_front(iSlot);
240  }
242 
243  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PreModuleEndStream;
244  PreModuleEndStream preModuleEndStreamSignal_;
245  void watchPreModuleEndStream(PreModuleEndStream::slot_type const& iSlot) {
246  preModuleEndStreamSignal_.connect(iSlot);
247  }
249 
251  PostModuleEndStream postModuleEndStreamSignal_;
252  void watchPostModuleEndStream(PostModuleEndStream::slot_type const& iSlot) {
253  postModuleEndStreamSignal_.connect_front(iSlot);
254  }
256 
257  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
259  PreGlobalBeginRun preGlobalBeginRunSignal_;
260  void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const& iSlot) {
261  preGlobalBeginRunSignal_.connect(iSlot);
262  }
264 
265  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
266  PostGlobalBeginRun postGlobalBeginRunSignal_;
267  void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const& iSlot) {
268  postGlobalBeginRunSignal_.connect_front(iSlot);
269  }
271 
272  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
273  PreGlobalEndRun preGlobalEndRunSignal_;
274  void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const& iSlot) {
275  preGlobalEndRunSignal_.connect(iSlot);
276  }
278 
279  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
280  PostGlobalEndRun postGlobalEndRunSignal_;
281  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
282  postGlobalEndRunSignal_.connect_front(iSlot);
283  }
285 
286  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
287  PreStreamBeginRun preStreamBeginRunSignal_;
288  void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const& iSlot) {
289  preStreamBeginRunSignal_.connect(iSlot);
290  }
292 
293  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
294  PostStreamBeginRun postStreamBeginRunSignal_;
295  void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const& iSlot) {
296  postStreamBeginRunSignal_.connect_front(iSlot);
297  }
299 
300  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
301  PreStreamEndRun preStreamEndRunSignal_;
302  void watchPreStreamEndRun(PreStreamEndRun::slot_type const& iSlot) {
303  preStreamEndRunSignal_.connect(iSlot);
304  }
306 
307  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
308  PostStreamEndRun postStreamEndRunSignal_;
309  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
310  postStreamEndRunSignal_.connect_front(iSlot);
311  }
313 
314  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
315  PreGlobalBeginLumi preGlobalBeginLumiSignal_;
316  void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const& iSlot) {
317  preGlobalBeginLumiSignal_.connect(iSlot);
318  }
320 
321  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
322  PostGlobalBeginLumi postGlobalBeginLumiSignal_;
323  void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const& iSlot) {
324  postGlobalBeginLumiSignal_.connect_front(iSlot);
325  }
327 
328  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
329  PreGlobalEndLumi preGlobalEndLumiSignal_;
330  void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const& iSlot) {
331  preGlobalEndLumiSignal_.connect(iSlot);
332  }
334 
335  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
336  PostGlobalEndLumi postGlobalEndLumiSignal_;
337  void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const& iSlot) {
338  postGlobalEndLumiSignal_.connect_front(iSlot);
339  }
341 
342  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
343  PreStreamBeginLumi preStreamBeginLumiSignal_;
344  void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const& iSlot) {
345  preStreamBeginLumiSignal_.connect(iSlot);
346  }
348 
349  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
350  PostStreamBeginLumi postStreamBeginLumiSignal_;
351  void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const& iSlot) {
352  postStreamBeginLumiSignal_.connect_front(iSlot);
353  }
355 
356  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
357  PreStreamEndLumi preStreamEndLumiSignal_;
358  void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const& iSlot) {
359  preStreamEndLumiSignal_.connect(iSlot);
360  }
362 
363  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
364  PostStreamEndLumi postStreamEndLumiSignal_;
365  void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const& iSlot) {
366  postStreamEndLumiSignal_.connect_front(iSlot);
367  }
369 
370  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
372  PreEvent preEventSignal_;
373  void watchPreEvent(PreEvent::slot_type const& iSlot) {
374  preEventSignal_.connect(iSlot);
375  }
377 
378  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
380  PostEvent postEventSignal_;
381  void watchPostEvent(PostEvent::slot_type const& iSlot) {
382  postEventSignal_.connect_front(iSlot);
383  }
385 
386 
387  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
388  PrePathEvent prePathEventSignal_;
389  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) {
390  prePathEventSignal_.connect(iSlot);
391  }
393 
394 
395  typedef signalslot::Signal<void(StreamContext const&, PathContext const&, HLTPathStatus const&)> PostPathEvent;
396  PostPathEvent postPathEventSignal_;
397  void watchPostPathEvent(PostPathEvent::slot_type const& iSlot) {
398  postPathEventSignal_.connect_front(iSlot);
399  }
401 
402 
405  PreStreamEarlyTermination preStreamEarlyTerminationSignal_;
406  void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const& iSlot) {
407  preStreamEarlyTerminationSignal_.connect(iSlot);
408  }
410 
411 
414  PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_;
415  void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const& iSlot) {
416  preGlobalEarlyTerminationSignal_.connect(iSlot);
417  }
419 
420 
421  typedef signalslot::Signal<void(TerminationOrigin)> PreSourceEarlyTermination;
423  PreSourceEarlyTermination preSourceEarlyTerminationSignal_;
424  void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const& iSlot) {
425  preSourceEarlyTerminationSignal_.connect(iSlot);
426  }
428 
429  // OLD DELETE THIS
430  typedef signalslot::ObsoleteSignal<void(EventID const&, Timestamp const&)> PreProcessEvent;
432  PreProcessEvent preProcessEventSignal_;
433  void watchPreProcessEvent(PreProcessEvent::slot_type const& iSlot) {
434  preProcessEventSignal_.connect(iSlot);
435  }
437 
438  // OLD DELETE THIS
439  typedef signalslot::ObsoleteSignal<void(Event const&, EventSetup const&)> PostProcessEvent;
441  PostProcessEvent postProcessEventSignal_;
442  void watchPostProcessEvent(PostProcessEvent::slot_type const& iSlot) {
443  postProcessEventSignal_.connect_front(iSlot);
444  }
446 
447  // OLD DELETE THIS
448  typedef signalslot::ObsoleteSignal<void(RunID const&, Timestamp const&)> PreBeginRun;
450  PreBeginRun preBeginRunSignal_;
451  void watchPreBeginRun(PreBeginRun::slot_type const& iSlot) {
452  preBeginRunSignal_.connect(iSlot);
453  }
455 
456  // OLD DELETE THIS
457  typedef signalslot::ObsoleteSignal<void(Run const&, EventSetup const&)> PostBeginRun;
459  PostBeginRun postBeginRunSignal_;
460  void watchPostBeginRun(PostBeginRun::slot_type const& iSlot) {
461  postBeginRunSignal_.connect_front(iSlot);
462  }
464 
465  // OLD DELETE THIS
466  typedef signalslot::ObsoleteSignal<void(RunID const&, Timestamp const&)> PreEndRun;
468  PreEndRun preEndRunSignal_;
469  void watchPreEndRun(PreEndRun::slot_type const& iSlot) {
470  preEndRunSignal_.connect(iSlot);
471  }
473 
474  // OLD DELETE THIS
475  typedef signalslot::ObsoleteSignal<void(Run const&, EventSetup const&)> PostEndRun;
477  PostEndRun postEndRunSignal_;
478  void watchPostEndRun(PostEndRun::slot_type const& iSlot) {
479  postEndRunSignal_.connect_front(iSlot);
480  }
482 
483  // OLD DELETE THIS
484  typedef signalslot::ObsoleteSignal<void(LuminosityBlockID const&, Timestamp const&)> PreBeginLumi;
486  PreBeginLumi preBeginLumiSignal_;
487  void watchPreBeginLumi(PreBeginLumi::slot_type const& iSlot) {
488  preBeginLumiSignal_.connect(iSlot);
489  }
491 
492  // OLD DELETE THIS
493  typedef signalslot::ObsoleteSignal<void(LuminosityBlock const&, EventSetup const&)> PostBeginLumi;
495  PostBeginLumi postBeginLumiSignal_;
496  void watchPostBeginLumi(PostBeginLumi::slot_type const& iSlot) {
497  postBeginLumiSignal_.connect_front(iSlot);
498  }
500 
501  // OLD DELETE THIS
502  typedef signalslot::ObsoleteSignal<void(LuminosityBlockID const&, Timestamp const&)> PreEndLumi;
504  PreEndLumi preEndLumiSignal_;
505  void watchPreEndLumi(PreEndLumi::slot_type const& iSlot) {
506  preEndLumiSignal_.connect(iSlot);
507  }
509 
510  // OLD DELETE THIS
511  typedef signalslot::ObsoleteSignal<void(LuminosityBlock const&, EventSetup const&)> PostEndLumi;
513  PostEndLumi postEndLumiSignal_;
514  void watchPostEndLumi(PostEndLumi::slot_type const& iSlot) {
515  postEndLumiSignal_.connect_front(iSlot);
516  }
518 
519  // OLD DELETE THIS
521  typedef signalslot::ObsoleteSignal<void(std::string const&)> PreProcessPath;
522  PreProcessPath preProcessPathSignal_;
523  void watchPreProcessPath(PreProcessPath::slot_type const& iSlot) {
524  preProcessPathSignal_.connect(iSlot);
525  }
527 
528  // OLD DELETE THIS
530  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostProcessPath;
531  PostProcessPath postProcessPathSignal_;
532  void watchPostProcessPath(PostProcessPath::slot_type const& iSlot) {
533  postProcessPathSignal_.connect_front(iSlot);
534  }
536 
537  // OLD DELETE THIS
539  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathBeginRun;
540  PrePathBeginRun prePathBeginRunSignal_;
541  void watchPrePathBeginRun(PrePathBeginRun::slot_type const& iSlot) {
542  prePathBeginRunSignal_.connect(iSlot);
543  }
545 
546  // OLD DELETE THIS
548  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathBeginRun;
549  PostPathBeginRun postPathBeginRunSignal_;
550  void watchPostPathBeginRun(PostPathBeginRun::slot_type const& iSlot) {
551  postPathBeginRunSignal_.connect_front(iSlot);
552  }
554 
555  // OLD DELETE THIS
557  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathEndRun;
558  PrePathEndRun prePathEndRunSignal_;
559  void watchPrePathEndRun(PrePathEndRun::slot_type const& iSlot) {
560  prePathEndRunSignal_.connect(iSlot);
561  }
563 
564  // OLD DELETE THIS
566  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathEndRun;
567  PostPathEndRun postPathEndRunSignal_;
568  void watchPostPathEndRun(PostPathEndRun::slot_type const& iSlot) {
569  postPathEndRunSignal_.connect_front(iSlot);
570  }
572 
573  // OLD DELETE THIS
575  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathBeginLumi;
576  PrePathBeginLumi prePathBeginLumiSignal_;
577  void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const& iSlot) {
578  prePathBeginLumiSignal_.connect(iSlot);
579  }
581 
582  // OLD DELETE THIS
584  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathBeginLumi;
585  PostPathBeginLumi postPathBeginLumiSignal_;
586  void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const& iSlot) {
587  postPathBeginLumiSignal_.connect_front(iSlot);
588  }
590 
591  // OLD DELETE THIS
593  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathEndLumi;
594  PrePathEndLumi prePathEndLumiSignal_;
595  void watchPrePathEndLumi(PrePathEndLumi::slot_type const& iSlot) {
596  prePathEndLumiSignal_.connect(iSlot);
597  }
599 
600  // OLD DELETE THIS
602  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathEndLumi;
603  PostPathEndLumi postPathEndLumiSignal_;
604  void watchPostPathEndLumi(PostPathEndLumi::slot_type const& iSlot) {
605  postPathEndLumiSignal_.connect_front(iSlot);
606  }
608 
609  /* Note M:
610  Concerning use of address of module descriptor
611  during functions called before/after module or source construction:
612  Unlike the case in the Run, Lumi, and Event loops,
613  the Module descriptor (often passed by pointer or reference
614  as an argument named desc) in the construction phase is NOT
615  at some permanent fixed address during the construction phase.
616  Therefore, any optimization of caching the module name keying
617  off of address of the descriptor will NOT be valid during
618  such functions. mf / cj 9/11/09
619  */
620 
621 
623  PreModuleConstruction preModuleConstructionSignal_;
624  void watchPreModuleConstruction(PreModuleConstruction::slot_type const& iSlot) {
625  preModuleConstructionSignal_.connect(iSlot);
626  }
627  // WARNING - ModuleDescription is not in fixed place. See note M above.
629 
630 
632  PostModuleConstruction postModuleConstructionSignal_;
633  void watchPostModuleConstruction(PostModuleConstruction::slot_type const& iSlot) {
634  postModuleConstructionSignal_.connect_front(iSlot);
635  }
636  // WARNING - ModuleDescription is not in fixed place. See note M above.
638 
639 
640  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
641  PreModuleBeginJob preModuleBeginJobSignal_;
642  void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const& iSlot) {
643  preModuleBeginJobSignal_.connect(iSlot);
644  }
646 
647 
648  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
649  PostModuleBeginJob postModuleBeginJobSignal_;
650  void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const& iSlot) {
651  postModuleBeginJobSignal_.connect_front(iSlot);
652  }
654 
655 
656  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
657  PreModuleEndJob preModuleEndJobSignal_;
658  void watchPreModuleEndJob(PreModuleEndJob::slot_type const& iSlot) {
659  preModuleEndJobSignal_.connect(iSlot);
660  }
662 
663 
664  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
665  PostModuleEndJob postModuleEndJobSignal_;
666  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
667  postModuleEndJobSignal_.connect_front(iSlot);
668  }
670 
671 
672  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PreModuleEvent;
673  PreModuleEvent preModuleEventSignal_;
674  void watchPreModuleEvent(PreModuleEvent::slot_type const& iSlot) {
675  preModuleEventSignal_.connect(iSlot);
676  }
678 
679 
680  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PostModuleEvent;
681  PostModuleEvent postModuleEventSignal_;
682  void watchPostModuleEvent(PostModuleEvent::slot_type const& iSlot) {
683  postModuleEventSignal_.connect_front(iSlot);
684  }
686 
687 
689  PreModuleEventDelayedGet preModuleEventDelayedGetSignal_;
690  void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const& iSlot) {
691  preModuleEventDelayedGetSignal_.connect(iSlot);
692  }
694 
695 
697  PostModuleEventDelayedGet postModuleEventDelayedGetSignal_;
698  void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const& iSlot) {
699  postModuleEventDelayedGetSignal_.connect_front(iSlot);
700  }
702 
704  PreModuleStreamBeginRun preModuleStreamBeginRunSignal_;
705  void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const& iSlot) {
706  preModuleStreamBeginRunSignal_.connect(iSlot);
707  }
709 
711  PostModuleStreamBeginRun postModuleStreamBeginRunSignal_;
712  void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const& iSlot) {
713  postModuleStreamBeginRunSignal_.connect_front(iSlot);
714  }
716 
718  PreModuleStreamEndRun preModuleStreamEndRunSignal_;
719  void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const& iSlot) {
720  preModuleStreamEndRunSignal_.connect(iSlot);
721  }
723 
725  PostModuleStreamEndRun postModuleStreamEndRunSignal_;
726  void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const& iSlot) {
727  postModuleStreamEndRunSignal_.connect_front(iSlot);
728  }
730 
732  PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_;
733  void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const& iSlot) {
734  preModuleStreamBeginLumiSignal_.connect(iSlot);
735  }
737 
739  PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_;
740  void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const& iSlot) {
741  postModuleStreamBeginLumiSignal_.connect_front(iSlot);
742  }
744 
746  PreModuleStreamEndLumi preModuleStreamEndLumiSignal_;
747  void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const& iSlot) {
748  preModuleStreamEndLumiSignal_.connect(iSlot);
749  }
751 
753  PostModuleStreamEndLumi postModuleStreamEndLumiSignal_;
754  void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const& iSlot) {
755  postModuleStreamEndLumiSignal_.connect_front(iSlot);
756  }
758 
760  PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_;
761  void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const& iSlot) {
762  preModuleGlobalBeginRunSignal_.connect(iSlot);
763  }
765 
767  PostModuleGlobalBeginRun postModuleGlobalBeginRunSignal_;
768  void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const& iSlot) {
769  postModuleGlobalBeginRunSignal_.connect_front(iSlot);
770  }
772 
774  PreModuleGlobalEndRun preModuleGlobalEndRunSignal_;
775  void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const& iSlot) {
776  preModuleGlobalEndRunSignal_.connect(iSlot);
777  }
779 
781  PostModuleGlobalEndRun postModuleGlobalEndRunSignal_;
782  void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const& iSlot) {
783  postModuleGlobalEndRunSignal_.connect_front(iSlot);
784  }
786 
788  PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_;
789  void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const& iSlot) {
790  preModuleGlobalBeginLumiSignal_.connect(iSlot);
791  }
793 
795  PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_;
796  void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const& iSlot) {
797  postModuleGlobalBeginLumiSignal_.connect_front(iSlot);
798  }
800 
802  PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_;
803  void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const& iSlot) {
804  preModuleGlobalEndLumiSignal_.connect(iSlot);
805  }
807 
809  PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_;
810  void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const& iSlot) {
811  postModuleGlobalEndLumiSignal_.connect_front(iSlot);
812  }
814 
815  // OLD DELETE THIS
817  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModule;
818  PreModule preModuleSignal_;
819  void watchPreModule(PreModule::slot_type const& iSlot) {
820  preModuleSignal_.connect(iSlot);
821  }
823 
824  // OLD DELETE THIS
826  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModule;
827  PostModule postModuleSignal_;
828  void watchPostModule(PostModule::slot_type const& iSlot) {
829  postModuleSignal_.connect_front(iSlot);
830  }
832 
833  // OLD DELETE THIS
835  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleBeginRun;
836  PreModuleBeginRun preModuleBeginRunSignal_;
837  void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const& iSlot) {
838  preModuleBeginRunSignal_.connect(iSlot);
839  }
841 
842  // OLD DELETE THIS
844  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleBeginRun;
845  PostModuleBeginRun postModuleBeginRunSignal_;
846  void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const& iSlot) {
847  postModuleBeginRunSignal_.connect_front(iSlot);
848 
849  }
851 
852  // OLD DELETE THIS
854  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleEndRun;
855  PreModuleEndRun preModuleEndRunSignal_;
856  void watchPreModuleEndRun(PreModuleEndRun::slot_type const& iSlot) {
857  preModuleEndRunSignal_.connect(iSlot);
858  }
860 
861  // OLD DELETE THIS
863  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleEndRun;
864  PostModuleEndRun postModuleEndRunSignal_;
865  void watchPostModuleEndRun(PostModuleEndRun::slot_type const& iSlot) {
866  postModuleEndRunSignal_.connect_front(iSlot);
867  }
869 
870  // OLD DELETE THIS
872  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleBeginLumi;
873  PreModuleBeginLumi preModuleBeginLumiSignal_;
874  void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const& iSlot) {
875  preModuleBeginLumiSignal_.connect(iSlot);
876  }
878 
879  // OLD DELETE THIS
881  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleBeginLumi;
882  PostModuleBeginLumi postModuleBeginLumiSignal_;
883  void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const& iSlot) {
884  postModuleBeginLumiSignal_.connect_front(iSlot);
885  }
887 
888  // OLD DELETE THIS
890  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleEndLumi;
891  PreModuleEndLumi preModuleEndLumiSignal_;
892  void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const& iSlot) {
893  preModuleEndLumiSignal_.connect(iSlot);
894  }
896 
897  // OLD DELETE THIS
899  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleEndLumi;
900  PostModuleEndLumi postModuleEndLumiSignal_;
901  void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const& iSlot) {
902  postModuleEndLumiSignal_.connect_front(iSlot);
903  }
905 
906 
908  PreSourceConstruction preSourceConstructionSignal_;
909  void watchPreSourceConstruction(PreSourceConstruction::slot_type const& iSlot) {
910  preSourceConstructionSignal_.connect(iSlot);
911  }
912  // WARNING - ModuleDescription is not in fixed place. See note M above.
914 
915 
917  PostSourceConstruction postSourceConstructionSignal_;
918  void watchPostSourceConstruction(PostSourceConstruction::slot_type const& iSlot) {
919  postSourceConstructionSignal_.connect_front(iSlot);
920  }
921  // WARNING - ModuleDescription is not in fixed place. See note M above.
923 
924 
925  typedef signalslot::Signal<void()> PreForkReleaseResources;
926  PreForkReleaseResources preForkReleaseResourcesSignal_;
927  void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const& iSlot) {
928  preForkReleaseResourcesSignal_.connect_front(iSlot);
929  }
931 
932 
933  typedef signalslot::Signal<void(unsigned int, unsigned int)> PostForkReacquireResources;
934  PostForkReacquireResources postForkReacquireResourcesSignal_;
935  void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const& iSlot) {
936  postForkReacquireResourcesSignal_.connect_front(iSlot);
937  }
939 
940  // ---------- member functions ---------------------------
941 
942 
943  void connect(ActivityRegistry& iOther);
944 
948 
954  void copySlotsFrom(ActivityRegistry& iOther);
955 
956  private:
957  // forwards subprocess independent signals to slots connected to iOther
958  void connectGlobals(ActivityRegistry& iOther);
959 
960  // forwards subprocess dependent signals to slots connected to iOther
961  void connectLocals(ActivityRegistry& iOther);
962  };
963 }
964 #undef AR_WATCH_USING_METHOD
965 #endif
void watchPostBeginRun(PostBeginRun::slot_type const &iSlot)
void watchPrePathEndLumi(PrePathEndLumi::slot_type const &iSlot)
PreModuleStreamBeginRun preModuleStreamBeginRunSignal_
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
PostSourceLumi postSourceLumiSignal_
void connectLocals(ActivityRegistry &iOther)
void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const &iSlot)
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
PreStreamBeginRun preStreamBeginRunSignal_
PreModuleBeginLumi preModuleBeginLumiSignal_
void watchPreEvent(PreEvent::slot_type const &iSlot)
PreBeginLumi preBeginLumiSignal_
signal is emitted after the Lumi has been created by the InputSource but before any modules have seen...
PostModuleEventDelayedGet postModuleEventDelayedGetSignal_
PostModuleStreamEndRun postModuleStreamEndRunSignal_
PreModuleEventDelayedGet preModuleEventDelayedGetSignal_
PreEndRun preEndRunSignal_
signal is emitted before the endRun is processed
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
void watchPreallocate(Preallocate::slot_type const &iSlot)
PrePathEvent prePathEventSignal_
PostModuleGlobalBeginRun postModuleGlobalBeginRunSignal_
PostModuleBeginStream postModuleBeginStreamSignal_
PreGlobalBeginRun preGlobalBeginRunSignal_
signal is emitted after the Run has been created by the InputSource but before any modules have seen ...
void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
PreSourceRun preSourceRunSignal_
PostModuleEvent postModuleEventSignal_
void watchPrePathEndRun(PrePathEndRun::slot_type const &iSlot)
void throwObsoleteSignalException()
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
PostOpenFile postOpenFileSignal_
signalslot::Signal< void(service::SystemBounds const &)> Preallocate
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
PreGlobalEndRun preGlobalEndRunSignal_
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
PostEvent postEventSignal_
signal is emitted after all modules have finished processing the Event
PreModuleEndRun preModuleEndRunSignal_
void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const &iSlot)
PostStreamEndLumi postStreamEndLumiSignal_
PostModuleEndRun postModuleEndRunSignal_
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPostModule(PostModule::slot_type const &iSlot)
void connect_front(U iFunc)
Definition: Signal.h:68
PostModuleEndLumi postModuleEndLumiSignal_
PostGlobalBeginRun postGlobalBeginRunSignal_
void watchPreProcessEvent(PreProcessEvent::slot_type const &iSlot)
void connectGlobals(ActivityRegistry &iOther)
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void watchPreEndLumi(PreEndLumi::slot_type const &iSlot)
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
void watchPostPathEndRun(PostPathEndRun::slot_type const &iSlot)
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
PreModuleBeginStream preModuleBeginStreamSignal_
void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const &iSlot)
void copySlotsFrom(ActivityRegistry &iOther)
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
PreEndLumi preEndLumiSignal_
signal is emitted before the endLumi is processed
void watchPostEndLumi(PostEndLumi::slot_type const &iSlot)
PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_
PostSourceRun postSourceRunSignal_
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
PostSourceConstruction postSourceConstructionSignal_
PostBeginRun postBeginRunSignal_
signal is emitted after all modules have finished processing the beginRun
void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const &iSlot)
PreSourceConstruction preSourceConstructionSignal_
ActivityRegistry & operator=(ActivityRegistry const &)=delete
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
PostPathEndRun postPathEndRunSignal_
void watchPostPathEndLumi(PostPathEndLumi::slot_type const &iSlot)
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
PostPathBeginRun postPathBeginRunSignal_
void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const &iSlot)
PreForkReleaseResources preForkReleaseResourcesSignal_
void watchPreEndRun(PreEndRun::slot_type const &iSlot)
void watchPreModule(PreModule::slot_type const &iSlot)
PreModuleStreamEndLumi preModuleStreamEndLumiSignal_
void watchJobFailure(JobFailure::slot_type const &iSlot)
convenience function for attaching to signal
PostGlobalEndLumi postGlobalEndLumiSignal_
Preallocate preallocateSignal_
signal is emitted before beginJob
PreGlobalBeginLumi preGlobalBeginLumiSignal_
PreModuleBeginRun preModuleBeginRunSignal_
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
void watchPostProcessEvent(PostProcessEvent::slot_type const &iSlot)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void watchPreModuleEndRun(PreModuleEndRun::slot_type const &iSlot)
PostForkReacquireResources postForkReacquireResourcesSignal_
PrePathBeginLumi prePathBeginLumiSignal_
void watchPrePathBeginRun(PrePathBeginRun::slot_type const &iSlot)
PreStreamEarlyTermination preStreamEarlyTerminationSignal_
PreSourceEarlyTermination preSourceEarlyTerminationSignal_
PrePathEndRun prePathEndRunSignal_
PostModuleGlobalEndRun postModuleGlobalEndRunSignal_
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_
void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const &iSlot)
PreModuleStreamEndRun preModuleStreamEndRunSignal_
PostPathEndLumi postPathEndLumiSignal_
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
PostProcessEvent postProcessEventSignal_
signal is emitted after all modules have finished processing the Event
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
PostStreamEndRun postStreamEndRunSignal_
void watchPostModuleEndRun(PostModuleEndRun::slot_type const &iSlot)
PreStreamEndRun preStreamEndRunSignal_
PreModuleConstruction preModuleConstructionSignal_
PostModuleEndStream postModuleEndStreamSignal_
PostEndRun postEndRunSignal_
signal is emitted after all modules have finished processing the Run
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
PreGlobalEndLumi preGlobalEndLumiSignal_
std::function< void(service::SystemBounds const &) > slot_type
Definition: Signal.h:39
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
PostSourceEvent postSourceSignal_
void watchPostBeginLumi(PostBeginLumi::slot_type const &iSlot)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const &iSlot)
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_1(method)
PreCloseFile preCloseFileSignal_
PostModuleBeginLumi postModuleBeginLumiSignal_
PostEndLumi postEndLumiSignal_
signal is emitted after all modules have finished processing the Lumi
void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const &iSlot)
PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
PreStreamBeginLumi preStreamBeginLumiSignal_
void watchPostPathBeginRun(PostPathBeginRun::slot_type const &iSlot)
PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_
PostStreamBeginRun postStreamBeginRunSignal_
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
PostCloseFile postCloseFileSignal_
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
void watchPreCloseFile(PreCloseFile::slot_type const &iSlot)
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_0(method)
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
PostModuleEndJob postModuleEndJobSignal_
PostModuleBeginJob postModuleBeginJobSignal_
PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_
void connectToSubProcess(ActivityRegistry &iOther)
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
PreSourceLumi preSourceLumiSignal_
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
PostModuleBeginRun postModuleBeginRunSignal_
PrePathEndLumi prePathEndLumiSignal_
string const
Definition: compareJSON.py:14
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_
PreProcessPath preProcessPathSignal_
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
PostGlobalEndRun postGlobalEndRunSignal_
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
PreModuleEvent preModuleEventSignal_
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const &iSlot)
PostGlobalBeginLumi postGlobalBeginLumiSignal_
PreOpenFile preOpenFileSignal_
PreModuleEndLumi preModuleEndLumiSignal_
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
PostEndJob postEndJobSignal_
signal is emitted after all modules have gotten their endJob called
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
PreModuleBeginJob preModuleBeginJobSignal_
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
PreSourceEvent preSourceSignal_
PreBeginJob preBeginJobSignal_
signal is emitted before all modules have gotten their beginJob called
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
PreModuleEndStream preModuleEndStreamSignal_
void watchPreBeginLumi(PreBeginLumi::slot_type const &iSlot)
PostPathEvent postPathEventSignal_
PostStreamBeginLumi postStreamBeginLumiSignal_
PreStreamEndLumi preStreamEndLumiSignal_
PostModuleStreamEndLumi postModuleStreamEndLumiSignal_
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
void watchPostEndRun(PostEndRun::slot_type const &iSlot)
PreModuleGlobalEndRun preModuleGlobalEndRunSignal_
void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const &iSlot)
PreEvent preEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
PostModuleStreamBeginRun postModuleStreamBeginRunSignal_
PostBeginJob postBeginJobSignal_
signal is emitted after all modules have gotten their beginJob called
PreModuleEndJob preModuleEndJobSignal_
#define AR_WATCH_USING_METHOD_3(method)
#define AR_WATCH_USING_METHOD_2(method)
void watchPreProcessPath(PreProcessPath::slot_type const &iSlot)
PrePathBeginRun prePathBeginRunSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void connect(U iFunc)
Definition: Signal.h:63
void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const &iSlot)
PostPathBeginLumi postPathBeginLumiSignal_
void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const &iSlot)
void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const &iSlot)
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostProcessPath(PostProcessPath::slot_type const &iSlot)
Definition: Run.h:43
PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_
PostProcessPath postProcessPathSignal_
PreBeginRun preBeginRunSignal_
signal is emitted after the Run has been created by the InputSource but before any modules have seen ...
void watchPreBeginRun(PreBeginRun::slot_type const &iSlot)
PostBeginLumi postBeginLumiSignal_
signal is emitted after all modules have finished processing the beginLumi
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: vlib.h:39
void connect(ActivityRegistry &iOther)
forwards our signals to slots connected to iOther
PreEndJob preEndJobSignal_
signal is emitted before any modules have gotten their endJob called
PostModuleConstruction postModuleConstructionSignal_