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"
35 #include "boost/bind.hpp"
36 #include "boost/mem_fn.hpp"
37 #include "boost/utility.hpp"
38 
39 // user include files
40 
41 #define AR_WATCH_USING_METHOD_0(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject)); }
42 #define AR_WATCH_USING_METHOD_1(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1)); }
43 #define AR_WATCH_USING_METHOD_2(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1, _2)); }
44 #define AR_WATCH_USING_METHOD_3(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1, _2, _3)); }
45 // forward declarations
46 namespace edm {
47  class EventID;
48  class LuminosityBlockID;
49  class RunID;
50  class Timestamp;
51  class ModuleDescription;
52  class Event;
53  class LuminosityBlock;
54  class Run;
55  class EventSetup;
56  class HLTPathStatus;
57  class GlobalContext;
58  class StreamContext;
59  class PathContext;
60  class ModuleCallingContext;
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  }
87  class ActivityRegistry : private boost::noncopyable {
88  public:
90 
91  // ---------- signals ------------------------------------
97  }
99 
100  typedef signalslot::Signal<void()> PostBeginJob;
102  PostBeginJob postBeginJobSignal_;
104  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) {
105  postBeginJobSignal_.connect(iSlot);
106  }
108 
109  typedef signalslot::Signal<void()> PostEndJob;
111  PostEndJob postEndJobSignal_;
112  void watchPostEndJob(PostEndJob::slot_type const& iSlot) {
113  postEndJobSignal_.connect_front(iSlot);
114  }
116 
117  typedef signalslot::Signal<void()> JobFailure;
120  JobFailure jobFailureSignal_;
122  void watchJobFailure(JobFailure::slot_type const& iSlot) {
123  jobFailureSignal_.connect_front(iSlot);
124  }
126 
127 
128  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
129  PreSourceEvent preSourceSignal_;
130  void watchPreSourceEvent(PreSourceEvent::slot_type const& iSlot) {
131  preSourceSignal_.connect(iSlot);
132  }
134 
135 
136  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
137  PostSourceEvent postSourceSignal_;
138  void watchPostSourceEvent(PostSourceEvent::slot_type const& iSlot) {
139  postSourceSignal_.connect_front(iSlot);
140  }
142 
143 
144  typedef signalslot::Signal<void()> PreSourceLumi;
145  PreSourceLumi preSourceLumiSignal_;
146  void watchPreSourceLumi(PreSourceLumi::slot_type const& iSlot) {
147  preSourceLumiSignal_.connect(iSlot);
148  }
150 
151 
152  typedef signalslot::Signal<void()> PostSourceLumi;
153  PostSourceLumi postSourceLumiSignal_;
154  void watchPostSourceLumi(PostSourceLumi::slot_type const& iSlot) {
155  postSourceLumiSignal_.connect_front(iSlot);
156  }
158 
159 
160  typedef signalslot::Signal<void()> PreSourceRun;
161  PreSourceRun preSourceRunSignal_;
162  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) {
163  preSourceRunSignal_.connect(iSlot);
164  }
166 
167 
168  typedef signalslot::Signal<void()> PostSourceRun;
169  PostSourceRun postSourceRunSignal_;
170  void watchPostSourceRun(PostSourceRun::slot_type const& iSlot) {
171  postSourceRunSignal_.connect_front(iSlot);
172  }
174 
175 
176  typedef signalslot::Signal<void(std::string const&, bool)> PreOpenFile;
177  PreOpenFile preOpenFileSignal_;
178  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) {
179  preOpenFileSignal_.connect(iSlot);
180  }
182 
183 
184  // Note this is only done for a primary file, not a secondary one.
185  typedef signalslot::Signal<void(std::string const&, bool)> PostOpenFile;
186  PostOpenFile postOpenFileSignal_;
187  void watchPostOpenFile(PostOpenFile::slot_type const& iSlot) {
188  postOpenFileSignal_.connect_front(iSlot);
189  }
191 
192 
193  // First argument is the LFN of the file which is being closed.
194  // Second argument is false if fallback is used; true otherwise.
195  typedef signalslot::Signal<void(std::string const&, bool)> PreCloseFile;
196  PreCloseFile preCloseFileSignal_;
197  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) {
198  preCloseFileSignal_.connect(iSlot);
199  }
201 
202 
203  typedef signalslot::Signal<void(std::string const&, bool)> PostCloseFile;
204  PostCloseFile postCloseFileSignal_;
205  void watchPostCloseFile(PostCloseFile::slot_type const& iSlot) {
206  postCloseFileSignal_.connect_front(iSlot);
207  }
209 
211  PreModuleBeginStream preModuleBeginStreamSignal_;
212  void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const& iSlot) {
213  preModuleBeginStreamSignal_.connect(iSlot);
214  }
216 
218  PostModuleBeginStream postModuleBeginStreamSignal_;
219  void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const& iSlot) {
220  postModuleBeginStreamSignal_.connect_front(iSlot);
221  }
223 
224  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PreModuleEndStream;
225  PreModuleEndStream preModuleEndStreamSignal_;
226  void watchPreModuleEndStream(PreModuleEndStream::slot_type const& iSlot) {
227  preModuleEndStreamSignal_.connect(iSlot);
228  }
230 
232  PostModuleEndStream postModuleEndStreamSignal_;
233  void watchPostModuleEndStream(PostModuleEndStream::slot_type const& iSlot) {
234  postModuleEndStreamSignal_.connect_front(iSlot);
235  }
237 
238  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
240  PreGlobalBeginRun preGlobalBeginRunSignal_;
241  void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const& iSlot) {
242  preGlobalBeginRunSignal_.connect(iSlot);
243  }
245 
246  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
247  PostGlobalBeginRun postGlobalBeginRunSignal_;
248  void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const& iSlot) {
249  postGlobalBeginRunSignal_.connect_front(iSlot);
250  }
252 
253  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
254  PreGlobalEndRun preGlobalEndRunSignal_;
255  void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const& iSlot) {
256  preGlobalEndRunSignal_.connect(iSlot);
257  }
259 
260  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
261  PostGlobalEndRun postGlobalEndRunSignal_;
262  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
263  postGlobalEndRunSignal_.connect_front(iSlot);
264  }
266 
267  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
268  PreStreamBeginRun preStreamBeginRunSignal_;
269  void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const& iSlot) {
270  preStreamBeginRunSignal_.connect(iSlot);
271  }
273 
274  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
275  PostStreamBeginRun postStreamBeginRunSignal_;
276  void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const& iSlot) {
277  postStreamBeginRunSignal_.connect_front(iSlot);
278  }
280 
281  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
282  PreStreamEndRun preStreamEndRunSignal_;
283  void watchPreStreamEndRun(PreStreamEndRun::slot_type const& iSlot) {
284  preStreamEndRunSignal_.connect(iSlot);
285  }
287 
288  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
289  PostStreamEndRun postStreamEndRunSignal_;
290  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
291  postStreamEndRunSignal_.connect_front(iSlot);
292  }
294 
295  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
296  PreGlobalBeginLumi preGlobalBeginLumiSignal_;
297  void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const& iSlot) {
298  preGlobalBeginLumiSignal_.connect(iSlot);
299  }
301 
302  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
303  PostGlobalBeginLumi postGlobalBeginLumiSignal_;
304  void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const& iSlot) {
305  postGlobalBeginLumiSignal_.connect_front(iSlot);
306  }
308 
309  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
310  PreGlobalEndLumi preGlobalEndLumiSignal_;
311  void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const& iSlot) {
312  preGlobalEndLumiSignal_.connect(iSlot);
313  }
315 
316  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
317  PostGlobalEndLumi postGlobalEndLumiSignal_;
318  void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const& iSlot) {
319  postGlobalEndLumiSignal_.connect_front(iSlot);
320  }
322 
323  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
324  PreStreamBeginLumi preStreamBeginLumiSignal_;
325  void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const& iSlot) {
326  preStreamBeginLumiSignal_.connect(iSlot);
327  }
329 
330  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
331  PostStreamBeginLumi postStreamBeginLumiSignal_;
332  void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const& iSlot) {
333  postStreamBeginLumiSignal_.connect_front(iSlot);
334  }
336 
337  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
338  PreStreamEndLumi preStreamEndLumiSignal_;
339  void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const& iSlot) {
340  preStreamEndLumiSignal_.connect(iSlot);
341  }
343 
344  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
345  PostStreamEndLumi postStreamEndLumiSignal_;
346  void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const& iSlot) {
347  postStreamEndLumiSignal_.connect_front(iSlot);
348  }
350 
351  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
353  PreEvent preEventSignal_;
354  void watchPreEvent(PreEvent::slot_type const& iSlot) {
355  preEventSignal_.connect(iSlot);
356  }
358 
359  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
361  PostEvent postEventSignal_;
362  void watchPostEvent(PostEvent::slot_type const& iSlot) {
363  postEventSignal_.connect_front(iSlot);
364  }
366 
367 
368  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
369  PrePathEvent prePathEventSignal_;
370  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) {
371  prePathEventSignal_.connect(iSlot);
372  }
374 
375 
376  typedef signalslot::Signal<void(StreamContext const&, PathContext const&, HLTPathStatus const&)> PostPathEvent;
377  PostPathEvent postPathEventSignal_;
378  void watchPostPathEvent(PostPathEvent::slot_type const& iSlot) {
379  postPathEventSignal_.connect_front(iSlot);
380  }
382 
383  // OLD DELETE THIS
384  typedef signalslot::ObsoleteSignal<void(EventID const&, Timestamp const&)> PreProcessEvent;
386  PreProcessEvent preProcessEventSignal_;
387  void watchPreProcessEvent(PreProcessEvent::slot_type const& iSlot) {
388  preProcessEventSignal_.connect(iSlot);
389  }
391 
392  // OLD DELETE THIS
393  typedef signalslot::ObsoleteSignal<void(Event const&, EventSetup const&)> PostProcessEvent;
395  PostProcessEvent postProcessEventSignal_;
396  void watchPostProcessEvent(PostProcessEvent::slot_type const& iSlot) {
397  postProcessEventSignal_.connect_front(iSlot);
398  }
400 
401  // OLD DELETE THIS
402  typedef signalslot::ObsoleteSignal<void(RunID const&, Timestamp const&)> PreBeginRun;
404  PreBeginRun preBeginRunSignal_;
405  void watchPreBeginRun(PreBeginRun::slot_type const& iSlot) {
406  preBeginRunSignal_.connect(iSlot);
407  }
409 
410  // OLD DELETE THIS
411  typedef signalslot::ObsoleteSignal<void(Run const&, EventSetup const&)> PostBeginRun;
413  PostBeginRun postBeginRunSignal_;
414  void watchPostBeginRun(PostBeginRun::slot_type const& iSlot) {
415  postBeginRunSignal_.connect_front(iSlot);
416  }
418 
419  // OLD DELETE THIS
420  typedef signalslot::ObsoleteSignal<void(RunID const&, Timestamp const&)> PreEndRun;
422  PreEndRun preEndRunSignal_;
423  void watchPreEndRun(PreEndRun::slot_type const& iSlot) {
424  preEndRunSignal_.connect(iSlot);
425  }
427 
428  // OLD DELETE THIS
429  typedef signalslot::ObsoleteSignal<void(Run const&, EventSetup const&)> PostEndRun;
431  PostEndRun postEndRunSignal_;
432  void watchPostEndRun(PostEndRun::slot_type const& iSlot) {
433  postEndRunSignal_.connect_front(iSlot);
434  }
436 
437  // OLD DELETE THIS
438  typedef signalslot::ObsoleteSignal<void(LuminosityBlockID const&, Timestamp const&)> PreBeginLumi;
440  PreBeginLumi preBeginLumiSignal_;
441  void watchPreBeginLumi(PreBeginLumi::slot_type const& iSlot) {
442  preBeginLumiSignal_.connect(iSlot);
443  }
445 
446  // OLD DELETE THIS
447  typedef signalslot::ObsoleteSignal<void(LuminosityBlock const&, EventSetup const&)> PostBeginLumi;
449  PostBeginLumi postBeginLumiSignal_;
450  void watchPostBeginLumi(PostBeginLumi::slot_type const& iSlot) {
451  postBeginLumiSignal_.connect_front(iSlot);
452  }
454 
455  // OLD DELETE THIS
456  typedef signalslot::ObsoleteSignal<void(LuminosityBlockID const&, Timestamp const&)> PreEndLumi;
458  PreEndLumi preEndLumiSignal_;
459  void watchPreEndLumi(PreEndLumi::slot_type const& iSlot) {
460  preEndLumiSignal_.connect(iSlot);
461  }
463 
464  // OLD DELETE THIS
465  typedef signalslot::ObsoleteSignal<void(LuminosityBlock const&, EventSetup const&)> PostEndLumi;
467  PostEndLumi postEndLumiSignal_;
468  void watchPostEndLumi(PostEndLumi::slot_type const& iSlot) {
469  postEndLumiSignal_.connect_front(iSlot);
470  }
472 
473  // OLD DELETE THIS
475  typedef signalslot::ObsoleteSignal<void(std::string const&)> PreProcessPath;
476  PreProcessPath preProcessPathSignal_;
477  void watchPreProcessPath(PreProcessPath::slot_type const& iSlot) {
478  preProcessPathSignal_.connect(iSlot);
479  }
481 
482  // OLD DELETE THIS
484  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostProcessPath;
485  PostProcessPath postProcessPathSignal_;
486  void watchPostProcessPath(PostProcessPath::slot_type const& iSlot) {
487  postProcessPathSignal_.connect_front(iSlot);
488  }
490 
491  // OLD DELETE THIS
493  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathBeginRun;
494  PrePathBeginRun prePathBeginRunSignal_;
495  void watchPrePathBeginRun(PrePathBeginRun::slot_type const& iSlot) {
496  prePathBeginRunSignal_.connect(iSlot);
497  }
499 
500  // OLD DELETE THIS
502  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathBeginRun;
503  PostPathBeginRun postPathBeginRunSignal_;
504  void watchPostPathBeginRun(PostPathBeginRun::slot_type const& iSlot) {
505  postPathBeginRunSignal_.connect_front(iSlot);
506  }
508 
509  // OLD DELETE THIS
511  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathEndRun;
512  PrePathEndRun prePathEndRunSignal_;
513  void watchPrePathEndRun(PrePathEndRun::slot_type const& iSlot) {
514  prePathEndRunSignal_.connect(iSlot);
515  }
517 
518  // OLD DELETE THIS
520  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathEndRun;
521  PostPathEndRun postPathEndRunSignal_;
522  void watchPostPathEndRun(PostPathEndRun::slot_type const& iSlot) {
523  postPathEndRunSignal_.connect_front(iSlot);
524  }
526 
527  // OLD DELETE THIS
529  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathBeginLumi;
530  PrePathBeginLumi prePathBeginLumiSignal_;
531  void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const& iSlot) {
532  prePathBeginLumiSignal_.connect(iSlot);
533  }
535 
536  // OLD DELETE THIS
538  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathBeginLumi;
539  PostPathBeginLumi postPathBeginLumiSignal_;
540  void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const& iSlot) {
541  postPathBeginLumiSignal_.connect_front(iSlot);
542  }
544 
545  // OLD DELETE THIS
547  typedef signalslot::ObsoleteSignal<void(std::string const&)> PrePathEndLumi;
548  PrePathEndLumi prePathEndLumiSignal_;
549  void watchPrePathEndLumi(PrePathEndLumi::slot_type const& iSlot) {
550  prePathEndLumiSignal_.connect(iSlot);
551  }
553 
554  // OLD DELETE THIS
556  typedef signalslot::ObsoleteSignal<void(std::string const&, HLTPathStatus const&)> PostPathEndLumi;
557  PostPathEndLumi postPathEndLumiSignal_;
558  void watchPostPathEndLumi(PostPathEndLumi::slot_type const& iSlot) {
559  postPathEndLumiSignal_.connect_front(iSlot);
560  }
562 
563  /* Note M:
564  Concerning use of address of module descriptor
565  during functions called before/after module or source construction:
566  Unlike the case in the Run, Lumi, and Event loops,
567  the Module descriptor (often passed by pointer or reference
568  as an argument named desc) in the construction phase is NOT
569  at some permanent fixed address during the construction phase.
570  Therefore, any optimization of caching the module name keying
571  off of address of the descriptor will NOT be valid during
572  such functions. mf / cj 9/11/09
573  */
574 
575 
577  PreModuleConstruction preModuleConstructionSignal_;
578  void watchPreModuleConstruction(PreModuleConstruction::slot_type const& iSlot) {
579  preModuleConstructionSignal_.connect(iSlot);
580  }
581  // WARNING - ModuleDescription is not in fixed place. See note M above.
583 
584 
586  PostModuleConstruction postModuleConstructionSignal_;
587  void watchPostModuleConstruction(PostModuleConstruction::slot_type const& iSlot) {
588  postModuleConstructionSignal_.connect_front(iSlot);
589  }
590  // WARNING - ModuleDescription is not in fixed place. See note M above.
592 
593 
594  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
595  PreModuleBeginJob preModuleBeginJobSignal_;
596  void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const& iSlot) {
597  preModuleBeginJobSignal_.connect(iSlot);
598  }
600 
601 
602  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
603  PostModuleBeginJob postModuleBeginJobSignal_;
604  void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const& iSlot) {
605  postModuleBeginJobSignal_.connect_front(iSlot);
606  }
608 
609 
610  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
611  PreModuleEndJob preModuleEndJobSignal_;
612  void watchPreModuleEndJob(PreModuleEndJob::slot_type const& iSlot) {
613  preModuleEndJobSignal_.connect(iSlot);
614  }
616 
617 
618  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
619  PostModuleEndJob postModuleEndJobSignal_;
620  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
621  postModuleEndJobSignal_.connect_front(iSlot);
622  }
624 
625 
626  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PreModuleEvent;
627  PreModuleEvent preModuleEventSignal_;
628  void watchPreModuleEvent(PreModuleEvent::slot_type const& iSlot) {
629  preModuleEventSignal_.connect(iSlot);
630  }
632 
633 
634  typedef signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> PostModuleEvent;
635  PostModuleEvent postModuleEventSignal_;
636  void watchPostModuleEvent(PostModuleEvent::slot_type const& iSlot) {
637  postModuleEventSignal_.connect_front(iSlot);
638  }
640 
641 
643  PreModuleEventDelayedGet preModuleEventDelayedGetSignal_;
644  void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const& iSlot) {
645  preModuleEventDelayedGetSignal_.connect(iSlot);
646  }
648 
649 
651  PostModuleEventDelayedGet postModuleEventDelayedGetSignal_;
652  void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const& iSlot) {
653  postModuleEventDelayedGetSignal_.connect_front(iSlot);
654  }
656 
658  PreModuleStreamBeginRun preModuleStreamBeginRunSignal_;
659  void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const& iSlot) {
660  preModuleStreamBeginRunSignal_.connect(iSlot);
661  }
663 
665  PostModuleStreamBeginRun postModuleStreamBeginRunSignal_;
666  void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const& iSlot) {
667  postModuleStreamBeginRunSignal_.connect_front(iSlot);
668  }
670 
672  PreModuleStreamEndRun preModuleStreamEndRunSignal_;
673  void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const& iSlot) {
674  preModuleStreamEndRunSignal_.connect(iSlot);
675  }
677 
679  PostModuleStreamEndRun postModuleStreamEndRunSignal_;
680  void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const& iSlot) {
681  postModuleStreamEndRunSignal_.connect_front(iSlot);
682  }
684 
686  PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_;
687  void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const& iSlot) {
688  preModuleStreamBeginLumiSignal_.connect(iSlot);
689  }
691 
693  PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_;
694  void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const& iSlot) {
695  postModuleStreamBeginLumiSignal_.connect_front(iSlot);
696  }
698 
700  PreModuleStreamEndLumi preModuleStreamEndLumiSignal_;
701  void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const& iSlot) {
702  preModuleStreamEndLumiSignal_.connect(iSlot);
703  }
705 
707  PostModuleStreamEndLumi postModuleStreamEndLumiSignal_;
708  void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const& iSlot) {
709  postModuleStreamEndLumiSignal_.connect_front(iSlot);
710  }
712 
714  PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_;
715  void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const& iSlot) {
716  preModuleGlobalBeginRunSignal_.connect(iSlot);
717  }
719 
721  PostModuleGlobalBeginRun postModuleGlobalBeginRunSignal_;
722  void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const& iSlot) {
723  postModuleGlobalBeginRunSignal_.connect_front(iSlot);
724  }
726 
728  PreModuleGlobalEndRun preModuleGlobalEndRunSignal_;
729  void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const& iSlot) {
730  preModuleGlobalEndRunSignal_.connect(iSlot);
731  }
733 
735  PostModuleGlobalEndRun postModuleGlobalEndRunSignal_;
736  void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const& iSlot) {
737  postModuleGlobalEndRunSignal_.connect_front(iSlot);
738  }
740 
742  PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_;
743  void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const& iSlot) {
744  preModuleGlobalBeginLumiSignal_.connect(iSlot);
745  }
747 
749  PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_;
750  void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const& iSlot) {
751  postModuleGlobalBeginLumiSignal_.connect_front(iSlot);
752  }
754 
756  PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_;
757  void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const& iSlot) {
758  preModuleGlobalEndLumiSignal_.connect(iSlot);
759  }
761 
763  PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_;
764  void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const& iSlot) {
765  postModuleGlobalEndLumiSignal_.connect_front(iSlot);
766  }
768 
769  // OLD DELETE THIS
771  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModule;
772  PreModule preModuleSignal_;
773  void watchPreModule(PreModule::slot_type const& iSlot) {
774  preModuleSignal_.connect(iSlot);
775  }
777 
778  // OLD DELETE THIS
780  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModule;
781  PostModule postModuleSignal_;
782  void watchPostModule(PostModule::slot_type const& iSlot) {
783  postModuleSignal_.connect_front(iSlot);
784  }
786 
787  // OLD DELETE THIS
789  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleBeginRun;
790  PreModuleBeginRun preModuleBeginRunSignal_;
791  void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const& iSlot) {
792  preModuleBeginRunSignal_.connect(iSlot);
793  }
795 
796  // OLD DELETE THIS
798  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleBeginRun;
799  PostModuleBeginRun postModuleBeginRunSignal_;
800  void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const& iSlot) {
801  postModuleBeginRunSignal_.connect_front(iSlot);
802 
803  }
805 
806  // OLD DELETE THIS
808  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleEndRun;
809  PreModuleEndRun preModuleEndRunSignal_;
810  void watchPreModuleEndRun(PreModuleEndRun::slot_type const& iSlot) {
811  preModuleEndRunSignal_.connect(iSlot);
812  }
814 
815  // OLD DELETE THIS
817  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleEndRun;
818  PostModuleEndRun postModuleEndRunSignal_;
819  void watchPostModuleEndRun(PostModuleEndRun::slot_type const& iSlot) {
820  postModuleEndRunSignal_.connect_front(iSlot);
821  }
823 
824  // OLD DELETE THIS
826  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleBeginLumi;
827  PreModuleBeginLumi preModuleBeginLumiSignal_;
828  void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const& iSlot) {
829  preModuleBeginLumiSignal_.connect(iSlot);
830  }
832 
833  // OLD DELETE THIS
835  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleBeginLumi;
836  PostModuleBeginLumi postModuleBeginLumiSignal_;
837  void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const& iSlot) {
838  postModuleBeginLumiSignal_.connect_front(iSlot);
839  }
841 
842  // OLD DELETE THIS
844  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PreModuleEndLumi;
845  PreModuleEndLumi preModuleEndLumiSignal_;
846  void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const& iSlot) {
847  preModuleEndLumiSignal_.connect(iSlot);
848  }
850 
851  // OLD DELETE THIS
853  typedef signalslot::ObsoleteSignal<void(ModuleDescription const&)> PostModuleEndLumi;
854  PostModuleEndLumi postModuleEndLumiSignal_;
855  void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const& iSlot) {
856  postModuleEndLumiSignal_.connect_front(iSlot);
857  }
859 
860 
862  PreSourceConstruction preSourceConstructionSignal_;
863  void watchPreSourceConstruction(PreSourceConstruction::slot_type const& iSlot) {
864  preSourceConstructionSignal_.connect(iSlot);
865  }
866  // WARNING - ModuleDescription is not in fixed place. See note M above.
868 
869 
871  PostSourceConstruction postSourceConstructionSignal_;
872  void watchPostSourceConstruction(PostSourceConstruction::slot_type const& iSlot) {
873  postSourceConstructionSignal_.connect_front(iSlot);
874  }
875  // WARNING - ModuleDescription is not in fixed place. See note M above.
877 
878 
879  typedef signalslot::Signal<void()> PreForkReleaseResources;
880  PreForkReleaseResources preForkReleaseResourcesSignal_;
881  void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const& iSlot) {
882  preForkReleaseResourcesSignal_.connect_front(iSlot);
883  }
885 
886 
887  typedef signalslot::Signal<void(unsigned int, unsigned int)> PostForkReacquireResources;
888  PostForkReacquireResources postForkReacquireResourcesSignal_;
889  void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const& iSlot) {
890  postForkReacquireResourcesSignal_.connect_front(iSlot);
891  }
893 
894  // ---------- member functions ---------------------------
895 
896 
897  void connect(ActivityRegistry& iOther);
898 
902 
908  void copySlotsFrom(ActivityRegistry& iOther);
909 
910  private:
911  // forwards subprocess independent signals to slots connected to iOther
912  void connectGlobals(ActivityRegistry& iOther);
913 
914  // forwards subprocess dependent signals to slots connected to iOther
915  void connectLocals(ActivityRegistry& iOther);
916  };
917 }
918 #undef AR_WATCH_USING_METHOD
919 #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 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_
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_
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)
PrePathEndRun prePathEndRunSignal_
PostModuleGlobalEndRun postModuleGlobalEndRunSignal_
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_
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)
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_