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 "boost/signal.hpp"
33 #include <functional>
37 
38 // user include files
39 
40 #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)); }
41 #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)); }
42 #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)); }
43 #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)); }
44 // forward declarations
45 namespace edm {
46  class EventID;
47  class LuminosityBlockID;
48  class RunID;
49  class Timestamp;
50  class ModuleDescription;
51  class Event;
52  class LuminosityBlock;
53  class Run;
54  class EventSetup;
55  class HLTPathStatus;
56  class GlobalContext;
57  class StreamContext;
58  class PathContext;
59  class ModuleCallingContext;
60  namespace service {
61  class SystemBounds;
62  }
63 
64  namespace signalslot {
66 
67  template<class T>
69  public:
70  typedef std::function<T> slot_type;
71 
72  ObsoleteSignal() = default;
73 
74  template<typename U>
75  void connect(U iFunc) {
77  }
78 
79  template<typename U>
80  void connect_front(U iFunc) {
82  }
83 
84  };
85  }
87  public:
89  ActivityRegistry(ActivityRegistry const&) = delete; // Disallow copying and moving
90  ActivityRegistry& operator=(ActivityRegistry const&) = delete; // Disallow copying and moving
91 
92  // ---------- signals ------------------------------------
98  }
100 
101  typedef signalslot::Signal<void()> PostBeginJob;
103  PostBeginJob postBeginJobSignal_;
105  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) {
106  postBeginJobSignal_.connect(iSlot);
107  }
109 
110  typedef signalslot::Signal<void()> PostEndJob;
112  PostEndJob postEndJobSignal_;
113  void watchPostEndJob(PostEndJob::slot_type const& iSlot) {
114  postEndJobSignal_.connect_front(iSlot);
115  }
117 
118  typedef signalslot::Signal<void()> JobFailure;
121  JobFailure jobFailureSignal_;
123  void watchJobFailure(JobFailure::slot_type const& iSlot) {
124  jobFailureSignal_.connect_front(iSlot);
125  }
127 
128 
129  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
130  PreSourceEvent preSourceSignal_;
131  void watchPreSourceEvent(PreSourceEvent::slot_type const& iSlot) {
132  preSourceSignal_.connect(iSlot);
133  }
135 
136 
137  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
138  PostSourceEvent postSourceSignal_;
139  void watchPostSourceEvent(PostSourceEvent::slot_type const& iSlot) {
140  postSourceSignal_.connect_front(iSlot);
141  }
143 
144 
145  typedef signalslot::Signal<void()> PreSourceLumi;
146  PreSourceLumi preSourceLumiSignal_;
147  void watchPreSourceLumi(PreSourceLumi::slot_type const& iSlot) {
148  preSourceLumiSignal_.connect(iSlot);
149  }
151 
152 
153  typedef signalslot::Signal<void()> PostSourceLumi;
154  PostSourceLumi postSourceLumiSignal_;
155  void watchPostSourceLumi(PostSourceLumi::slot_type const& iSlot) {
156  postSourceLumiSignal_.connect_front(iSlot);
157  }
159 
160 
161  typedef signalslot::Signal<void()> PreSourceRun;
162  PreSourceRun preSourceRunSignal_;
163  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) {
164  preSourceRunSignal_.connect(iSlot);
165  }
167 
168 
169  typedef signalslot::Signal<void()> PostSourceRun;
170  PostSourceRun postSourceRunSignal_;
171  void watchPostSourceRun(PostSourceRun::slot_type const& iSlot) {
172  postSourceRunSignal_.connect_front(iSlot);
173  }
175 
176 
177  typedef signalslot::Signal<void(std::string const&, bool)> PreOpenFile;
178  PreOpenFile preOpenFileSignal_;
179  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) {
180  preOpenFileSignal_.connect(iSlot);
181  }
183 
184 
185  // Note this is only done for a primary file, not a secondary one.
186  typedef signalslot::Signal<void(std::string const&, bool)> PostOpenFile;
187  PostOpenFile postOpenFileSignal_;
188  void watchPostOpenFile(PostOpenFile::slot_type const& iSlot) {
189  postOpenFileSignal_.connect_front(iSlot);
190  }
192 
193 
194  // First argument is the LFN of the file which is being closed.
195  // Second argument is false if fallback is used; true otherwise.
196  typedef signalslot::Signal<void(std::string const&, bool)> PreCloseFile;
197  PreCloseFile preCloseFileSignal_;
198  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) {
199  preCloseFileSignal_.connect(iSlot);
200  }
202 
203 
204  typedef signalslot::Signal<void(std::string const&, bool)> PostCloseFile;
205  PostCloseFile postCloseFileSignal_;
206  void watchPostCloseFile(PostCloseFile::slot_type const& iSlot) {
207  postCloseFileSignal_.connect_front(iSlot);
208  }
210 
212  PreModuleBeginStream preModuleBeginStreamSignal_;
213  void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const& iSlot) {
214  preModuleBeginStreamSignal_.connect(iSlot);
215  }
217 
219  PostModuleBeginStream postModuleBeginStreamSignal_;
220  void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const& iSlot) {
221  postModuleBeginStreamSignal_.connect_front(iSlot);
222  }
224 
225  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PreModuleEndStream;
226  PreModuleEndStream preModuleEndStreamSignal_;
227  void watchPreModuleEndStream(PreModuleEndStream::slot_type const& iSlot) {
228  preModuleEndStreamSignal_.connect(iSlot);
229  }
231 
233  PostModuleEndStream postModuleEndStreamSignal_;
234  void watchPostModuleEndStream(PostModuleEndStream::slot_type const& iSlot) {
235  postModuleEndStreamSignal_.connect_front(iSlot);
236  }
238 
239  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
241  PreGlobalBeginRun preGlobalBeginRunSignal_;
242  void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const& iSlot) {
243  preGlobalBeginRunSignal_.connect(iSlot);
244  }
246 
247  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
248  PostGlobalBeginRun postGlobalBeginRunSignal_;
249  void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const& iSlot) {
250  postGlobalBeginRunSignal_.connect_front(iSlot);
251  }
253 
254  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
255  PreGlobalEndRun preGlobalEndRunSignal_;
256  void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const& iSlot) {
257  preGlobalEndRunSignal_.connect(iSlot);
258  }
260 
261  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
262  PostGlobalEndRun postGlobalEndRunSignal_;
263  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
264  postGlobalEndRunSignal_.connect_front(iSlot);
265  }
267 
268  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
269  PreStreamBeginRun preStreamBeginRunSignal_;
270  void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const& iSlot) {
271  preStreamBeginRunSignal_.connect(iSlot);
272  }
274 
275  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
276  PostStreamBeginRun postStreamBeginRunSignal_;
277  void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const& iSlot) {
278  postStreamBeginRunSignal_.connect_front(iSlot);
279  }
281 
282  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
283  PreStreamEndRun preStreamEndRunSignal_;
284  void watchPreStreamEndRun(PreStreamEndRun::slot_type const& iSlot) {
285  preStreamEndRunSignal_.connect(iSlot);
286  }
288 
289  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
290  PostStreamEndRun postStreamEndRunSignal_;
291  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
292  postStreamEndRunSignal_.connect_front(iSlot);
293  }
295 
296  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
297  PreGlobalBeginLumi preGlobalBeginLumiSignal_;
298  void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const& iSlot) {
299  preGlobalBeginLumiSignal_.connect(iSlot);
300  }
302 
303  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
304  PostGlobalBeginLumi postGlobalBeginLumiSignal_;
305  void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const& iSlot) {
306  postGlobalBeginLumiSignal_.connect_front(iSlot);
307  }
309 
310  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
311  PreGlobalEndLumi preGlobalEndLumiSignal_;
312  void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const& iSlot) {
313  preGlobalEndLumiSignal_.connect(iSlot);
314  }
316 
317  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
318  PostGlobalEndLumi postGlobalEndLumiSignal_;
319  void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const& iSlot) {
320  postGlobalEndLumiSignal_.connect_front(iSlot);
321  }
323 
324  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
325  PreStreamBeginLumi preStreamBeginLumiSignal_;
326  void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const& iSlot) {
327  preStreamBeginLumiSignal_.connect(iSlot);
328  }
330 
331  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
332  PostStreamBeginLumi postStreamBeginLumiSignal_;
333  void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const& iSlot) {
334  postStreamBeginLumiSignal_.connect_front(iSlot);
335  }
337 
338  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
339  PreStreamEndLumi preStreamEndLumiSignal_;
340  void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const& iSlot) {
341  preStreamEndLumiSignal_.connect(iSlot);
342  }
344 
345  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
346  PostStreamEndLumi postStreamEndLumiSignal_;
347  void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const& iSlot) {
348  postStreamEndLumiSignal_.connect_front(iSlot);
349  }
351 
352  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
354  PreEvent preEventSignal_;
355  void watchPreEvent(PreEvent::slot_type const& iSlot) {
356  preEventSignal_.connect(iSlot);
357  }
359 
360  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
362  PostEvent postEventSignal_;
363  void watchPostEvent(PostEvent::slot_type const& iSlot) {
364  postEventSignal_.connect_front(iSlot);
365  }
367 
368 
369  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
370  PrePathEvent prePathEventSignal_;
371  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) {
372  prePathEventSignal_.connect(iSlot);
373  }
375 
376 
377  typedef signalslot::Signal<void(StreamContext const&, PathContext const&, HLTPathStatus const&)> PostPathEvent;
378  PostPathEvent postPathEventSignal_;
379  void watchPostPathEvent(PostPathEvent::slot_type const& iSlot) {
380  postPathEventSignal_.connect_front(iSlot);
381  }
383 
384 
387  PreStreamEarlyTermination preStreamEarlyTerminationSignal_;
388  void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const& iSlot) {
389  preStreamEarlyTerminationSignal_.connect(iSlot);
390  }
392 
393 
396  PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_;
397  void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const& iSlot) {
398  preGlobalEarlyTerminationSignal_.connect(iSlot);
399  }
401 
402 
403  typedef signalslot::Signal<void(TerminationOrigin)> PreSourceEarlyTermination;
405  PreSourceEarlyTermination preSourceEarlyTerminationSignal_;
406  void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const& iSlot) {
407  preSourceEarlyTerminationSignal_.connect(iSlot);
408  }
410 
411  // OLD DELETE THIS
412  typedef signalslot::ObsoleteSignal<void(EventID const&, Timestamp const&)> PreProcessEvent;
414  PreProcessEvent preProcessEventSignal_;
415  void watchPreProcessEvent(PreProcessEvent::slot_type const& iSlot) {
416  preProcessEventSignal_.connect(iSlot);
417  }
419 
420  // OLD DELETE THIS
421  typedef signalslot::ObsoleteSignal<void(Event const&, EventSetup const&)> PostProcessEvent;
423  PostProcessEvent postProcessEventSignal_;
424  void watchPostProcessEvent(PostProcessEvent::slot_type const& iSlot) {
425  postProcessEventSignal_.connect_front(iSlot);
426  }
428 
429  // OLD DELETE THIS
430  typedef signalslot::ObsoleteSignal<void(RunID const&, Timestamp const&)> PreBeginRun;
432  PreBeginRun preBeginRunSignal_;
433  void watchPreBeginRun(PreBeginRun::slot_type const& iSlot) {
434  preBeginRunSignal_.connect(iSlot);
435  }
437 
438  // OLD DELETE THIS
439  typedef signalslot::ObsoleteSignal<void(Run const&, EventSetup const&)> PostBeginRun;
441  PostBeginRun postBeginRunSignal_;
442  void watchPostBeginRun(PostBeginRun::slot_type const& iSlot) {
443  postBeginRunSignal_.connect_front(iSlot);
444  }
446 
447  // OLD DELETE THIS
448  typedef signalslot::ObsoleteSignal<void(RunID const&, Timestamp const&)> PreEndRun;
450  PreEndRun preEndRunSignal_;
451  void watchPreEndRun(PreEndRun::slot_type const& iSlot) {
452  preEndRunSignal_.connect(iSlot);
453  }
455 
456  // OLD DELETE THIS
457  typedef signalslot::ObsoleteSignal<void(Run const&, EventSetup const&)> PostEndRun;
459  PostEndRun postEndRunSignal_;
460  void watchPostEndRun(PostEndRun::slot_type const& iSlot) {
461  postEndRunSignal_.connect_front(iSlot);
462  }
464 
465  // OLD DELETE THIS
466  typedef signalslot::ObsoleteSignal<void(LuminosityBlockID const&, Timestamp const&)> PreBeginLumi;
468  PreBeginLumi preBeginLumiSignal_;
469  void watchPreBeginLumi(PreBeginLumi::slot_type const& iSlot) {
470  preBeginLumiSignal_.connect(iSlot);
471  }
473 
474  // OLD DELETE THIS
475  typedef signalslot::ObsoleteSignal<void(LuminosityBlock const&, EventSetup const&)> PostBeginLumi;
477  PostBeginLumi postBeginLumiSignal_;
478  void watchPostBeginLumi(PostBeginLumi::slot_type const& iSlot) {
479  postBeginLumiSignal_.connect_front(iSlot);
480  }
482 
483  // OLD DELETE THIS
484  typedef signalslot::ObsoleteSignal<void(LuminosityBlockID const&, Timestamp const&)> PreEndLumi;
486  PreEndLumi preEndLumiSignal_;
487  void watchPreEndLumi(PreEndLumi::slot_type const& iSlot) {
488  preEndLumiSignal_.connect(iSlot);
489  }
491 
492  // OLD DELETE THIS
493  typedef signalslot::ObsoleteSignal<void(LuminosityBlock const&, EventSetup const&)> PostEndLumi;
495  PostEndLumi postEndLumiSignal_;
496  void watchPostEndLumi(PostEndLumi::slot_type const& iSlot) {
497  postEndLumiSignal_.connect_front(iSlot);
498  }
500 
501  // OLD DELETE THIS
503  typedef signalslot::ObsoleteSignal<void(std::string const&)> PreProcessPath;
504  PreProcessPath preProcessPathSignal_;
505  void watchPreProcessPath(PreProcessPath::slot_type const& iSlot) {
506  preProcessPathSignal_.connect(iSlot);
507  }
509 
510  // OLD DELETE THIS
512  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostProcessPath;
513  PostProcessPath postProcessPathSignal_;
514  void watchPostProcessPath(PostProcessPath::slot_type const& iSlot) {
515  postProcessPathSignal_.connect_front(iSlot);
516  }
518 
519  // OLD DELETE THIS
521  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathBeginRun;
522  PrePathBeginRun prePathBeginRunSignal_;
523  void watchPrePathBeginRun(PrePathBeginRun::slot_type const& iSlot) {
524  prePathBeginRunSignal_.connect(iSlot);
525  }
527 
528  // OLD DELETE THIS
530  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathBeginRun;
531  PostPathBeginRun postPathBeginRunSignal_;
532  void watchPostPathBeginRun(PostPathBeginRun::slot_type const& iSlot) {
533  postPathBeginRunSignal_.connect_front(iSlot);
534  }
536 
537  // OLD DELETE THIS
539  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathEndRun;
540  PrePathEndRun prePathEndRunSignal_;
541  void watchPrePathEndRun(PrePathEndRun::slot_type const& iSlot) {
542  prePathEndRunSignal_.connect(iSlot);
543  }
545 
546  // OLD DELETE THIS
548  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathEndRun;
549  PostPathEndRun postPathEndRunSignal_;
550  void watchPostPathEndRun(PostPathEndRun::slot_type const& iSlot) {
551  postPathEndRunSignal_.connect_front(iSlot);
552  }
554 
555  // OLD DELETE THIS
557  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathBeginLumi;
558  PrePathBeginLumi prePathBeginLumiSignal_;
559  void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const& iSlot) {
560  prePathBeginLumiSignal_.connect(iSlot);
561  }
563 
564  // OLD DELETE THIS
566  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathBeginLumi;
567  PostPathBeginLumi postPathBeginLumiSignal_;
568  void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const& iSlot) {
569  postPathBeginLumiSignal_.connect_front(iSlot);
570  }
572 
573  // OLD DELETE THIS
575  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathEndLumi;
576  PrePathEndLumi prePathEndLumiSignal_;
577  void watchPrePathEndLumi(PrePathEndLumi::slot_type const& iSlot) {
578  prePathEndLumiSignal_.connect(iSlot);
579  }
581 
582  // OLD DELETE THIS
584  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathEndLumi;
585  PostPathEndLumi postPathEndLumiSignal_;
586  void watchPostPathEndLumi(PostPathEndLumi::slot_type const& iSlot) {
587  postPathEndLumiSignal_.connect_front(iSlot);
588  }
590 
591  /* Note M:
592  Concerning use of address of module descriptor
593  during functions called before/after module or source construction:
594  Unlike the case in the Run, Lumi, and Event loops,
595  the Module descriptor (often passed by pointer or reference
596  as an argument named desc) in the construction phase is NOT
597  at some permanent fixed address during the construction phase.
598  Therefore, any optimization of caching the module name keying
599  off of address of the descriptor will NOT be valid during
600  such functions. mf / cj 9/11/09
601  */
602 
603 
605  PreModuleConstruction preModuleConstructionSignal_;
606  void watchPreModuleConstruction(PreModuleConstruction::slot_type const& iSlot) {
607  preModuleConstructionSignal_.connect(iSlot);
608  }
609  // WARNING - ModuleDescription is not in fixed place. See note M above.
611 
612 
614  PostModuleConstruction postModuleConstructionSignal_;
615  void watchPostModuleConstruction(PostModuleConstruction::slot_type const& iSlot) {
616  postModuleConstructionSignal_.connect_front(iSlot);
617  }
618  // WARNING - ModuleDescription is not in fixed place. See note M above.
620 
621 
622  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
623  PreModuleBeginJob preModuleBeginJobSignal_;
624  void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const& iSlot) {
625  preModuleBeginJobSignal_.connect(iSlot);
626  }
628 
629 
630  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
631  PostModuleBeginJob postModuleBeginJobSignal_;
632  void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const& iSlot) {
633  postModuleBeginJobSignal_.connect_front(iSlot);
634  }
636 
637 
638  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
639  PreModuleEndJob preModuleEndJobSignal_;
640  void watchPreModuleEndJob(PreModuleEndJob::slot_type const& iSlot) {
641  preModuleEndJobSignal_.connect(iSlot);
642  }
644 
645 
646  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
647  PostModuleEndJob postModuleEndJobSignal_;
648  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
649  postModuleEndJobSignal_.connect_front(iSlot);
650  }
652 
653 
654  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PreModuleEvent;
655  PreModuleEvent preModuleEventSignal_;
656  void watchPreModuleEvent(PreModuleEvent::slot_type const& iSlot) {
657  preModuleEventSignal_.connect(iSlot);
658  }
660 
661 
662  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PostModuleEvent;
663  PostModuleEvent postModuleEventSignal_;
664  void watchPostModuleEvent(PostModuleEvent::slot_type const& iSlot) {
665  postModuleEventSignal_.connect_front(iSlot);
666  }
668 
669 
671  PreModuleEventDelayedGet preModuleEventDelayedGetSignal_;
672  void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const& iSlot) {
673  preModuleEventDelayedGetSignal_.connect(iSlot);
674  }
676 
677 
679  PostModuleEventDelayedGet postModuleEventDelayedGetSignal_;
680  void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const& iSlot) {
681  postModuleEventDelayedGetSignal_.connect_front(iSlot);
682  }
684 
686  PreModuleStreamBeginRun preModuleStreamBeginRunSignal_;
687  void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const& iSlot) {
688  preModuleStreamBeginRunSignal_.connect(iSlot);
689  }
691 
693  PostModuleStreamBeginRun postModuleStreamBeginRunSignal_;
694  void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const& iSlot) {
695  postModuleStreamBeginRunSignal_.connect_front(iSlot);
696  }
698 
700  PreModuleStreamEndRun preModuleStreamEndRunSignal_;
701  void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const& iSlot) {
702  preModuleStreamEndRunSignal_.connect(iSlot);
703  }
705 
707  PostModuleStreamEndRun postModuleStreamEndRunSignal_;
708  void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const& iSlot) {
709  postModuleStreamEndRunSignal_.connect_front(iSlot);
710  }
712 
714  PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_;
715  void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const& iSlot) {
716  preModuleStreamBeginLumiSignal_.connect(iSlot);
717  }
719 
721  PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_;
722  void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const& iSlot) {
723  postModuleStreamBeginLumiSignal_.connect_front(iSlot);
724  }
726 
728  PreModuleStreamEndLumi preModuleStreamEndLumiSignal_;
729  void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const& iSlot) {
730  preModuleStreamEndLumiSignal_.connect(iSlot);
731  }
733 
735  PostModuleStreamEndLumi postModuleStreamEndLumiSignal_;
736  void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const& iSlot) {
737  postModuleStreamEndLumiSignal_.connect_front(iSlot);
738  }
740 
742  PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_;
743  void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const& iSlot) {
744  preModuleGlobalBeginRunSignal_.connect(iSlot);
745  }
747 
749  PostModuleGlobalBeginRun postModuleGlobalBeginRunSignal_;
750  void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const& iSlot) {
751  postModuleGlobalBeginRunSignal_.connect_front(iSlot);
752  }
754 
756  PreModuleGlobalEndRun preModuleGlobalEndRunSignal_;
757  void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const& iSlot) {
758  preModuleGlobalEndRunSignal_.connect(iSlot);
759  }
761 
763  PostModuleGlobalEndRun postModuleGlobalEndRunSignal_;
764  void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const& iSlot) {
765  postModuleGlobalEndRunSignal_.connect_front(iSlot);
766  }
768 
770  PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_;
771  void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const& iSlot) {
772  preModuleGlobalBeginLumiSignal_.connect(iSlot);
773  }
775 
777  PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_;
778  void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const& iSlot) {
779  postModuleGlobalBeginLumiSignal_.connect_front(iSlot);
780  }
782 
784  PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_;
785  void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const& iSlot) {
786  preModuleGlobalEndLumiSignal_.connect(iSlot);
787  }
789 
791  PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_;
792  void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const& iSlot) {
793  postModuleGlobalEndLumiSignal_.connect_front(iSlot);
794  }
796 
797  // OLD DELETE THIS
799  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModule;
800  PreModule preModuleSignal_;
801  void watchPreModule(PreModule::slot_type const& iSlot) {
802  preModuleSignal_.connect(iSlot);
803  }
805 
806  // OLD DELETE THIS
808  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModule;
809  PostModule postModuleSignal_;
810  void watchPostModule(PostModule::slot_type const& iSlot) {
811  postModuleSignal_.connect_front(iSlot);
812  }
814 
815  // OLD DELETE THIS
817  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleBeginRun;
818  PreModuleBeginRun preModuleBeginRunSignal_;
819  void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const& iSlot) {
820  preModuleBeginRunSignal_.connect(iSlot);
821  }
823 
824  // OLD DELETE THIS
826  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleBeginRun;
827  PostModuleBeginRun postModuleBeginRunSignal_;
828  void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const& iSlot) {
829  postModuleBeginRunSignal_.connect_front(iSlot);
830 
831  }
833 
834  // OLD DELETE THIS
836  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleEndRun;
837  PreModuleEndRun preModuleEndRunSignal_;
838  void watchPreModuleEndRun(PreModuleEndRun::slot_type const& iSlot) {
839  preModuleEndRunSignal_.connect(iSlot);
840  }
842 
843  // OLD DELETE THIS
845  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleEndRun;
846  PostModuleEndRun postModuleEndRunSignal_;
847  void watchPostModuleEndRun(PostModuleEndRun::slot_type const& iSlot) {
848  postModuleEndRunSignal_.connect_front(iSlot);
849  }
851 
852  // OLD DELETE THIS
854  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleBeginLumi;
855  PreModuleBeginLumi preModuleBeginLumiSignal_;
856  void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const& iSlot) {
857  preModuleBeginLumiSignal_.connect(iSlot);
858  }
860 
861  // OLD DELETE THIS
863  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleBeginLumi;
864  PostModuleBeginLumi postModuleBeginLumiSignal_;
865  void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const& iSlot) {
866  postModuleBeginLumiSignal_.connect_front(iSlot);
867  }
869 
870  // OLD DELETE THIS
872  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleEndLumi;
873  PreModuleEndLumi preModuleEndLumiSignal_;
874  void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const& iSlot) {
875  preModuleEndLumiSignal_.connect(iSlot);
876  }
878 
879  // OLD DELETE THIS
881  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleEndLumi;
882  PostModuleEndLumi postModuleEndLumiSignal_;
883  void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const& iSlot) {
884  postModuleEndLumiSignal_.connect_front(iSlot);
885  }
887 
888 
890  PreSourceConstruction preSourceConstructionSignal_;
891  void watchPreSourceConstruction(PreSourceConstruction::slot_type const& iSlot) {
892  preSourceConstructionSignal_.connect(iSlot);
893  }
894  // WARNING - ModuleDescription is not in fixed place. See note M above.
896 
897 
899  PostSourceConstruction postSourceConstructionSignal_;
900  void watchPostSourceConstruction(PostSourceConstruction::slot_type const& iSlot) {
901  postSourceConstructionSignal_.connect_front(iSlot);
902  }
903  // WARNING - ModuleDescription is not in fixed place. See note M above.
905 
906 
907  typedef signalslot::Signal<void()> PreForkReleaseResources;
908  PreForkReleaseResources preForkReleaseResourcesSignal_;
909  void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const& iSlot) {
910  preForkReleaseResourcesSignal_.connect_front(iSlot);
911  }
913 
914 
915  typedef signalslot::Signal<void(unsigned int, unsigned int)> PostForkReacquireResources;
916  PostForkReacquireResources postForkReacquireResourcesSignal_;
917  void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const& iSlot) {
918  postForkReacquireResourcesSignal_.connect_front(iSlot);
919  }
921 
922  // ---------- member functions ---------------------------
923 
924 
925  void connect(ActivityRegistry& iOther);
926 
930 
936  void copySlotsFrom(ActivityRegistry& iOther);
937 
938  private:
939  // forwards subprocess independent signals to slots connected to iOther
940  void connectGlobals(ActivityRegistry& iOther);
941 
942  // forwards subprocess dependent signals to slots connected to iOther
943  void connectLocals(ActivityRegistry& iOther);
944  };
945 }
946 #undef AR_WATCH_USING_METHOD
947 #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_
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
PreModuleEvent preModuleEventSignal_
#define private
Definition: FWFileEntry.h:17
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_
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:41
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
PostModuleConstruction postModuleConstructionSignal_