CMS 3D CMS Logo

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 //
48 //
49 // Original Author: Chris Jones
50 // Created: Mon Sep 5 19:53:09 EDT 2005
51 //
52 
53 // system include files
54 #include <functional>
55 #include <string>
56 
57 // user include files
63 
64 #define AR_WATCH_USING_METHOD_0(method) \
65  template <class TClass, class TMethod> \
66  void method(TClass* iObject, TMethod iMethod) { \
67  method(std::bind(std::mem_fn(iMethod), iObject)); \
68  }
69 #define AR_WATCH_USING_METHOD_1(method) \
70  template <class TClass, class TMethod> \
71  void method(TClass* iObject, TMethod iMethod) { \
72  method(std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1)); \
73  }
74 #define AR_WATCH_USING_METHOD_2(method) \
75  template <class TClass, class TMethod> \
76  void method(TClass* iObject, TMethod iMethod) { \
77  method(std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2)); \
78  }
79 #define AR_WATCH_USING_METHOD_3(method) \
80  template <class TClass, class TMethod> \
81  void method(TClass* iObject, TMethod iMethod) { \
82  method(std::bind( \
83  std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); \
84  }
85 // forward declarations
86 namespace edm {
87  class EventID;
88  class LuminosityBlockID;
89  class RunID;
90  class Timestamp;
91  class ModuleDescription;
92  class Event;
93  class LuminosityBlock;
94  class Run;
95  class EventSetup;
96  class IOVSyncValue;
97  class HLTPathStatus;
98  class GlobalContext;
99  class StreamContext;
100  class PathContext;
101  class ProcessContext;
102  class ModuleCallingContext;
103  class PathsAndConsumesOfModulesBase;
104  class ESModuleCallingContext;
105  namespace eventsetup {
106  struct ComponentDescription;
107  class DataKey;
108  class EventSetupRecordKey;
109  } // namespace eventsetup
110  namespace service {
111  class SystemBounds;
112  }
113 
114  namespace signalslot {
116 
117  template <class T>
119  public:
120  typedef std::function<T> slot_type;
121 
122  ObsoleteSignal() = default;
123 
124  template <typename U>
125  void connect(U /* iFunc */) {
127  }
128 
129  template <typename U>
130  void connect_front(U /* iFunc*/) {
132  }
133  };
134  } // namespace signalslot
136  public:
138  ActivityRegistry(ActivityRegistry const&) = delete; // Disallow copying and moving
139  ActivityRegistry& operator=(ActivityRegistry const&) = delete; // Disallow copying and moving
140 
141  // ---------- signals ------------------------------------
147 
152  void watchPreBeginJob(PreBeginJob::slot_type const& iSlot) { preBeginJobSignal_.connect(iSlot); }
154 
155  typedef signalslot::Signal<void()> PostBeginJob;
159  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) { postBeginJobSignal_.connect(iSlot); }
161 
162  typedef signalslot::Signal<void()> PreEndJob;
165  void watchPreEndJob(PreEndJob::slot_type const& iSlot) { preEndJobSignal_.connect_front(iSlot); }
167 
168  typedef signalslot::Signal<void()> PostEndJob;
171  void watchPostEndJob(PostEndJob::slot_type const& iSlot) { postEndJobSignal_.connect_front(iSlot); }
173 
174  typedef signalslot::Signal<void()> JobFailure;
179  void watchJobFailure(JobFailure::slot_type const& iSlot) { jobFailureSignal_.connect_front(iSlot); }
181 
182 
183  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
187 
188 
189  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
193 
194 
195  typedef signalslot::Signal<void(LuminosityBlockIndex)> PreSourceLumi;
199 
200 
201  typedef signalslot::Signal<void(LuminosityBlockIndex)> PostSourceLumi;
205 
206 
207  typedef signalslot::Signal<void(RunIndex)> PreSourceRun;
209  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) { preSourceRunSignal_.connect(iSlot); }
211 
212 
213  typedef signalslot::Signal<void(RunIndex)> PostSourceRun;
217 
218 
219  typedef signalslot::Signal<void()> PreSourceProcessBlock;
223  }
225 
226 
227  typedef signalslot::Signal<void(std::string const&)> PostSourceProcessBlock;
231  }
233 
234 
235  typedef signalslot::Signal<void(std::string const&)> PreOpenFile;
237  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) { preOpenFileSignal_.connect(iSlot); }
239 
240 
241  // Note this is only done for a primary file, not a secondary one.
242  typedef signalslot::Signal<void(std::string const&)> PostOpenFile;
246 
247 
248  // First argument is the LFN of the file which is being closed.
249  typedef signalslot::Signal<void(std::string const&)> PreCloseFile;
251  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) { preCloseFileSignal_.connect(iSlot); }
253 
254 
255  typedef signalslot::Signal<void(std::string const&)> PostCloseFile;
259 
264  }
266 
271  }
273 
278  }
280 
285  }
287 
288  typedef signalslot::Signal<void(GlobalContext const&)> PreBeginProcessBlock;
292  }
294 
295  typedef signalslot::Signal<void(GlobalContext const&)> PostBeginProcessBlock;
299  }
301 
306  }
308 
313  }
315 
316  typedef signalslot::Signal<void(GlobalContext const&)> PreEndProcessBlock;
320  }
322 
323  typedef signalslot::Signal<void(GlobalContext const&)> PostEndProcessBlock;
327  }
329 
330  typedef signalslot::Signal<void()> BeginProcessing;
335 
336  typedef signalslot::Signal<void()> EndProcessing;
341 
342  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
347 
348  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
352  }
354 
355  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
359 
360  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
362  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
364  }
366 
367  typedef signalslot::Signal<void(GlobalContext const&)> PreWriteProcessBlock;
371  }
373 
374  typedef signalslot::Signal<void(GlobalContext const&)> PostWriteProcessBlock;
378  }
380 
381  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteRun;
385 
386  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteRun;
390  }
392 
393  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
397 
398  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
402  }
404 
405  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
409 
410  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
412  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
414  }
416 
417  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
421  }
423 
424  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
428  }
430 
431  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
435 
436  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
440  }
442 
443  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteLumi;
447  }
449 
450  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteLumi;
454  }
456 
457  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
461  }
463 
464  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
468  }
470 
471  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
475 
476  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
480  }
482 
483  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
486  void watchPreEvent(PreEvent::slot_type const& iSlot) { preEventSignal_.connect(iSlot); }
488 
489  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
492  void watchPostEvent(PostEvent::slot_type const& iSlot) { postEventSignal_.connect_front(iSlot); }
494 
495 
496  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
498  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) { prePathEventSignal_.connect(iSlot); }
500 
501 
506 
507 
513  }
515 
516 
522  }
524 
525 
531  }
533 
534 
535  using PostESModuleRegistration = signalslot::Signal<void(eventsetup::ComponentDescription const&)>;
539  }
541 
542 
543  using ESSyncIOVQueuing = signalslot::Signal<void(IOVSyncValue const&)>;
547 
548 
549  using PreESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
551  void watchPreESSyncIOV(PreESSyncIOV::slot_type const& iSlot) { preESSyncIOVSignal_.connect(iSlot); }
553 
554 
555  using PostESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
559 
560 
566  }
568 
569 
575  }
577 
578 
579  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PreESModule;
581  void watchPreESModule(PreESModule::slot_type const& iSlot) { preESModuleSignal_.connect(iSlot); }
583 
584 
585  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PostESModule;
589 
590 
596  }
598 
599 
605  }
607 
608  /* Note M:
609  Concerning use of address of module descriptor
610  during functions called before/after module or source construction:
611  Unlike the case in the Run, Lumi, and Event loops,
612  the Module descriptor (often passed by pointer or reference
613  as an argument named desc) in the construction phase is NOT
614  at some permanent fixed address during the construction phase.
615  Therefore, any optimization of caching the module name keying
616  off of address of the descriptor will NOT be valid during
617  such functions. mf / cj 9/11/09
618  */
619 
620 
625  }
626  // WARNING - ModuleDescription is not in fixed place. See note M above.
628 
629 
634  }
635  // WARNING - ModuleDescription is not in fixed place. See note M above.
637 
638 
639  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleDestruction;
643  }
644  // note: ModuleDescription IS in the fixed place. See note M above.
646 
647 
652  }
653  // WARNING - ModuleDescription is not in fixed place. See note M above.
655 
656 
657  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
661 
662 
663  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
667  }
669 
670 
671  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
675 
676 
677  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
679  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
681  }
683 
684 
689  }
691 
692 
697  }
699 
700 
705 
706 
711 
712 
717  }
719 
720 
725  }
727 
728 
733  }
735 
736 
741  }
743 
744 
749  }
751 
752 
757  }
759 
760 
765  }
767 
768 
773  }
775 
780  }
782 
787  }
789 
794  }
796 
801  }
803 
808  }
810 
815  }
817 
822  }
824 
829  }
831 
836  }
838 
843  }
845 
850  }
852 
858  }
860 
865  }
867 
872  }
874 
875 
880  }
882 
883 
888  }
890 
895  }
897 
902  }
904 
909  }
911 
916  }
918 
923  }
925 
930  }
932 
937  }
939 
944  }
946 
951  }
953 
958  }
960 
965 
970  }
972 
977  }
979 
984  }
986 
987 
992  }
993  // WARNING - ModuleDescription is not in fixed place. See note M above.
995 
996 
1001  }
1002  // WARNING - ModuleDescription is not in fixed place. See note M above.
1004 
1005  // ---------- member functions ---------------------------
1006 
1007 
1008  void connect(ActivityRegistry& iOther);
1009 
1012  void connectToSubProcess(ActivityRegistry& iOther);
1013 
1019  void copySlotsFrom(ActivityRegistry& iOther);
1020 
1021  private:
1022  // forwards subprocess independent signals to slots connected to iOther
1023  void connectGlobals(ActivityRegistry& iOther);
1024 
1025  // forwards subprocess dependent signals to slots connected to iOther
1026  void connectLocals(ActivityRegistry& iOther);
1027  };
1028 } // namespace edm
1029 #undef AR_WATCH_USING_METHOD
1030 #endif
PreModuleEventPrefetching preModuleEventPrefetchingSignal_
PreModuleStreamBeginRun preModuleStreamBeginRunSignal_
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
PostEndProcessBlock postEndProcessBlockSignal_
PostSourceLumi postSourceLumiSignal_
void connectLocals(ActivityRegistry &iOther)
void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const &iSlot)
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
void watchEndProcessing(EndProcessing::slot_type const &iSlot)
PreStreamBeginRun preStreamBeginRunSignal_
void watchPostESModuleRegistration(PostESModuleRegistration::slot_type const &iSlot)
void watchPreEvent(PreEvent::slot_type const &iSlot)
PostModuleEventDelayedGet postModuleEventDelayedGetSignal_
void watchPreModuleStreamPrefetching(PreModuleStreamPrefetching::slot_type const &iSlot)
void watchPreAccessInputProcessBlock(PreAccessInputProcessBlock::slot_type const &iSlot)
PostModuleStreamEndRun postModuleStreamEndRunSignal_
PostModuleDestruction postModuleDestructionSignal_
PreModuleEventDelayedGet preModuleEventDelayedGetSignal_
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
void watchPreallocate(Preallocate::slot_type const &iSlot)
PrePathEvent prePathEventSignal_
PostBeginProcessBlock postBeginProcessBlockSignal_
void watchPostModuleEndProcessBlock(PostModuleEndProcessBlock::slot_type const &iSlot)
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 watchPreESModule(PreESModule::slot_type const &iSlot)
PostModuleGlobalPrefetching postModuleGlobalPrefetchingSignal_
void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const &iSlot)
PostModuleWriteProcessBlock postModuleWriteProcessBlockSignal_
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
PreModuleWriteLumi preModuleWriteLumiSignal_
PreSourceRun preSourceRunSignal_
PostModuleEvent postModuleEventSignal_
void throwObsoleteSignalException()
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
PreESSyncIOV preESSyncIOVSignal_
PreESModulePrefetching preESModulePrefetchingSignal_
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 watchPreModuleEndProcessBlock(PreModuleEndProcessBlock::slot_type const &iSlot)
PostSourceProcessBlock postSourceProcessBlockSignal_
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
PostEvent postEventSignal_
signal is emitted after all modules have finished processing the Event
void watchPostESModuleAcquire(PostESModuleAcquire::slot_type const &iSlot)
PostStreamEndLumi postStreamEndLumiSignal_
void watchPostEvent(PostEvent::slot_type const &iSlot)
void connect_front(U iFunc)
Definition: Signal.h:69
PostGlobalBeginRun postGlobalBeginRunSignal_
void connectGlobals(ActivityRegistry &iOther)
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
PostModuleWriteLumi postModuleWriteLumiSignal_
PreModuleGlobalPrefetching preModuleGlobalPrefetchingSignal_
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostModuleGlobalPrefetching(PostModuleGlobalPrefetching::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
void watchPostEndProcessBlock(PostEndProcessBlock::slot_type const &iSlot)
void watchPreEventReadFromSource(PreEventReadFromSource::slot_type const &iSlot)
void watchPreModuleDestruction(PreModuleDestruction::slot_type const &iSlot)
PostModuleAccessInputProcessBlock postModuleAccessInputProcessBlockSignal_
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
PreAccessInputProcessBlock preAccessInputProcessBlockSignal_
void watchPostESModulePrefetching(PostESModulePrefetching::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)
void watchPreModuleAccessInputProcessBlock(PreModuleAccessInputProcessBlock::slot_type const &iSlot)
PostAccessInputProcessBlock postAccessInputProcessBlockSignal_
PostModuleStreamPrefetching postModuleStreamPrefetchingSignal_
PostModuleEventPrefetching postModuleEventPrefetchingSignal_
void watchPreBeginProcessBlock(PreBeginProcessBlock::slot_type const &iSlot)
signalslot::Signal< void(StreamContext const &, TerminationOrigin)> PreStreamEarlyTermination
PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_
PreModuleStreamPrefetching preModuleStreamPrefetchingSignal_
PostSourceRun postSourceRunSignal_
PostGlobalEndLumi postGlobalWriteLumiSignal_
void watchPreEndProcessBlock(PreEndProcessBlock::slot_type const &iSlot)
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
PostSourceConstruction postSourceConstructionSignal_
signalslot::Signal< void(eventsetup::EventSetupRecordKey const &, ESModuleCallingContext const &)> PostESModuleAcquire
signal is emitted after an esmodule finishes running its acquire method
void watchPreSourceProcessBlock(PreSourceProcessBlock::slot_type const &iSlot)
void watchPostESModule(PostESModule::slot_type const &iSlot)
PreSourceConstruction preSourceConstructionSignal_
void watchPreESSyncIOV(PreESSyncIOV::slot_type const &iSlot)
ActivityRegistry & operator=(ActivityRegistry const &)=delete
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
PreModuleDestruction preModuleDestructionSignal_
PreESModuleAcquire preESModuleAcquireSignal_
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
void watchPreModuleEventPrefetching(PreModuleEventPrefetching::slot_type const &iSlot)
PostModuleEventAcquire postModuleEventAcquireSignal_
PreEndProcessBlock preEndProcessBlockSignal_
void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const &iSlot)
void watchPostModuleWriteRun(PostModuleWriteRun::slot_type const &iSlot)
PostModuleEndProcessBlock postModuleEndProcessBlockSignal_
PostESModulePrefetching postESModulePrefetchingSignal_
void watchPostModuleWriteProcessBlock(PostModuleWriteProcessBlock::slot_type const &iSlot)
void watchPostModuleWriteLumi(PostModuleWriteLumi::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
void watchPostModuleEventPrefetching(PostModuleEventPrefetching::slot_type const &iSlot)
PreGlobalBeginLumi preGlobalBeginLumiSignal_
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void watchPostBeginProcessBlock(PostBeginProcessBlock::slot_type const &iSlot)
PreStreamEarlyTermination preStreamEarlyTerminationSignal_
PreSourceEarlyTermination preSourceEarlyTerminationSignal_
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)
void watchBeginProcessing(BeginProcessing::slot_type const &iSlot)
PreModuleStreamEndRun preModuleStreamEndRunSignal_
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
PostStreamEndRun postStreamEndRunSignal_
PreStreamEndRun preStreamEndRunSignal_
PostGlobalWriteRun postGlobalWriteRunSignal_
PreModuleConstruction preModuleConstructionSignal_
PostModuleEndStream postModuleEndStreamSignal_
void watchPreModuleBeginProcessBlock(PreModuleBeginProcessBlock::slot_type const &iSlot)
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
PreModuleBeginProcessBlock preModuleBeginProcessBlockSignal_
void watchPostSourceProcessBlock(PostSourceProcessBlock::slot_type const &iSlot)
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
PreModuleEndProcessBlock preModuleEndProcessBlockSignal_
PreGlobalEndLumi preGlobalEndLumiSignal_
std::function< void(service::SystemBounds const &) > slot_type
Definition: Signal.h:37
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
PreEventReadFromSource preEventReadFromSourceSignal_
void watchPreWriteProcessBlock(PreWriteProcessBlock::slot_type const &iSlot)
PreSourceProcessBlock preSourceProcessBlockSignal_
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
PostSourceEvent postSourceSignal_
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_1(method)
PreCloseFile preCloseFileSignal_
PostModuleWriteRun postModuleWriteRunSignal_
PreGlobalWriteRun preGlobalWriteRunSignal_
PostESModule postESModuleSignal_
signalslot::Signal< void(eventsetup::EventSetupRecordKey const &, ESModuleCallingContext const &)> PreESModulePrefetching
signal is emitted before the esmodule starts processing and before prefetching has started ...
PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_
PostESSyncIOV postESSyncIOVSignal_
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
PreStreamBeginLumi preStreamBeginLumiSignal_
PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_
void watchPostModuleBeginProcessBlock(PostModuleBeginProcessBlock::slot_type const &iSlot)
PostStreamBeginRun postStreamBeginRunSignal_
ESSyncIOVQueuing esSyncIOVQueuingSignal_
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
void watchPreGlobalWriteLumi(PreGlobalWriteLumi::slot_type const &iSlot)
PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_
signalslot::Signal< void(eventsetup::EventSetupRecordKey const &, ESModuleCallingContext const &)> PostESModulePrefetching
signal is emitted before the esmodule starts processing and after prefetching has finished ...
PreWriteProcessBlock preWriteProcessBlockSignal_
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
PostCloseFile postCloseFileSignal_
signalslot::Signal< void(TerminationOrigin)> PreSourceEarlyTermination
void watchPostAccessInputProcessBlock(PostAccessInputProcessBlock::slot_type const &iSlot)
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 watchPostGlobalWriteRun(PostGlobalWriteRun::slot_type const &iSlot)
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
PostModuleEndJob postModuleEndJobSignal_
void watchESSyncIOVQueuing(ESSyncIOVQueuing::slot_type const &iSlot)
PostModuleBeginJob postModuleBeginJobSignal_
PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_
void connectToSubProcess(ActivityRegistry &iOther)
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
PreModuleWriteRun preModuleWriteRunSignal_
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
PreSourceLumi preSourceLumiSignal_
signalslot::Signal< void(GlobalContext const &, TerminationOrigin)> PreGlobalEarlyTermination
PostWriteProcessBlock postWriteProcessBlockSignal_
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
PostGlobalEndRun postGlobalEndRunSignal_
signalslot::Signal< void(GlobalContext const &, ModuleCallingContext const &)> PostModuleAccessInputProcessBlock
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void watchPreModuleWriteRun(PreModuleWriteRun::slot_type const &iSlot)
PreESModule preESModuleSignal_
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
PreGlobalEndLumi preGlobalWriteLumiSignal_
PreModuleEvent preModuleEventSignal_
PostESModuleAcquire postESModuleAcquireSignal_
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
signalslot::Signal< void(eventsetup::EventSetupRecordKey const &, ESModuleCallingContext const &)> PreESModuleAcquire
signal is emitted before an esmodule starts running its acquire method
PostGlobalBeginLumi postGlobalBeginLumiSignal_
EndProcessing endProcessingSignal_
signal is emitted after all work has been done processing all source transitions
PreModuleWriteProcessBlock preModuleWriteProcessBlockSignal_
PreOpenFile preOpenFileSignal_
void watchPostGlobalWriteLumi(PostGlobalEndLumi::slot_type const &iSlot)
HLT enums.
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
void watchPostModuleAccessInputProcessBlock(PostModuleAccessInputProcessBlock::slot_type const &iSlot)
void watchPostModuleDestruction(PostModuleDestruction::slot_type const &iSlot)
PostEndJob postEndJobSignal_
signal is emitted after all modules have gotten their endJob called
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
void watchPreModuleWriteProcessBlock(PreModuleWriteProcessBlock::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 watchPostEventReadFromSource(PostEventReadFromSource::slot_type const &iSlot)
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
PreModuleEndStream preModuleEndStreamSignal_
void watchPreModuleWriteLumi(PreModuleWriteLumi::slot_type const &iSlot)
PostPathEvent postPathEventSignal_
PostStreamBeginLumi postStreamBeginLumiSignal_
PreStreamEndLumi preStreamEndLumiSignal_
BeginProcessing beginProcessingSignal_
signal is emitted just before the transitions from the Source will begin to be processed ...
PostModuleStreamEndLumi postModuleStreamEndLumiSignal_
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
PreBeginProcessBlock preBeginProcessBlockSignal_
PreModuleGlobalEndRun preModuleGlobalEndRunSignal_
void watchPreESModulePrefetching(PreESModulePrefetching::slot_type const &iSlot)
void watchPostModuleStreamPrefetching(PostModuleStreamPrefetching::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_
PreModuleEventAcquire preModuleEventAcquireSignal_
PostBeginJob postBeginJobSignal_
signal is emitted after all modules have gotten their beginJob called
PreModuleEndJob preModuleEndJobSignal_
PreModuleAccessInputProcessBlock preModuleAccessInputProcessBlockSignal_
void watchPreGlobalWriteRun(PreGlobalWriteRun::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_3(method)
#define AR_WATCH_USING_METHOD_2(method)
PostModuleBeginProcessBlock postModuleBeginProcessBlockSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void watchPreModuleGlobalPrefetching(PreModuleGlobalPrefetching::slot_type const &iSlot)
void connect(U iFunc)
Definition: Signal.h:64
PostESModuleRegistration postESModuleRegistrationSignal_
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_
void watchPreESModuleAcquire(PreESModuleAcquire::slot_type const &iSlot)
PostEventReadFromSource postEventReadFromSourceSignal_
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void watchPostESSyncIOV(PostESSyncIOV::slot_type const &iSlot)
void watchPostWriteProcessBlock(PostWriteProcessBlock::slot_type const &iSlot)
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_