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(GlobalContext const&)> PreGlobalBeginRun;
335 
336  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
340  }
342 
343  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
347 
348  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
350  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
352  }
354 
355  typedef signalslot::Signal<void(GlobalContext const&)> PreWriteProcessBlock;
359  }
361 
362  typedef signalslot::Signal<void(GlobalContext const&)> PostWriteProcessBlock;
366  }
368 
369  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteRun;
373 
374  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteRun;
378  }
380 
381  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
385 
386  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
390  }
392 
393  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
397 
398  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
400  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
402  }
404 
405  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
409  }
411 
412  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
416  }
418 
419  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
423 
424  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
428  }
430 
431  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteLumi;
435  }
437 
438  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteLumi;
442  }
444 
445  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
449  }
451 
452  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
456  }
458 
459  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
463 
464  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
468  }
470 
471  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
474  void watchPreEvent(PreEvent::slot_type const& iSlot) { preEventSignal_.connect(iSlot); }
476 
477  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
480  void watchPostEvent(PostEvent::slot_type const& iSlot) { postEventSignal_.connect_front(iSlot); }
482 
483 
484  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
486  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) { prePathEventSignal_.connect(iSlot); }
488 
489 
494 
495 
501  }
503 
504 
510  }
512 
513 
519  }
521 
522 
523  using PostESModuleRegistration = signalslot::Signal<void(eventsetup::ComponentDescription const&)>;
527  }
529 
530 
531  using ESSyncIOVQueuing = signalslot::Signal<void(IOVSyncValue const&)>;
535 
536 
537  using PreESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
539  void watchPreESSyncIOV(PreESSyncIOV::slot_type const& iSlot) { preESSyncIOVSignal_.connect(iSlot); }
541 
542 
543  using PostESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
547 
548 
554  }
556 
557 
563  }
565 
566 
567  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PreESModule;
569  void watchPreESModule(PreESModule::slot_type const& iSlot) { preESModuleSignal_.connect(iSlot); }
571 
572 
573  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PostESModule;
577 
578  /* Note M:
579  Concerning use of address of module descriptor
580  during functions called before/after module or source construction:
581  Unlike the case in the Run, Lumi, and Event loops,
582  the Module descriptor (often passed by pointer or reference
583  as an argument named desc) in the construction phase is NOT
584  at some permanent fixed address during the construction phase.
585  Therefore, any optimization of caching the module name keying
586  off of address of the descriptor will NOT be valid during
587  such functions. mf / cj 9/11/09
588  */
589 
590 
595  }
596  // WARNING - ModuleDescription is not in fixed place. See note M above.
598 
599 
604  }
605  // WARNING - ModuleDescription is not in fixed place. See note M above.
607 
608 
609  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleDestruction;
613  }
614  // note: ModuleDescription IS in the fixed place. See note M above.
616 
617 
622  }
623  // WARNING - ModuleDescription is not in fixed place. See note M above.
625 
626 
627  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
631 
632 
633  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
637  }
639 
640 
641  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
645 
646 
647  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
649  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
651  }
653 
654 
659  }
661 
662 
667  }
669 
670 
675 
676 
681 
682 
687  }
689 
690 
695  }
697 
698 
703  }
705 
706 
711  }
713 
714 
719  }
721 
722 
727  }
729 
730 
735  }
737 
738 
743  }
745 
750  }
752 
757  }
759 
764  }
766 
771  }
773 
778  }
780 
785  }
787 
792  }
794 
799  }
801 
806  }
808 
813  }
815 
820  }
822 
828  }
830 
835  }
837 
842  }
844 
845 
850  }
852 
853 
858  }
860 
865  }
867 
872  }
874 
879  }
881 
886  }
888 
893  }
895 
900  }
902 
907  }
909 
914  }
916 
921  }
923 
928  }
930 
935 
940  }
942 
947  }
949 
954  }
956 
957 
962  }
963  // WARNING - ModuleDescription is not in fixed place. See note M above.
965 
966 
971  }
972  // WARNING - ModuleDescription is not in fixed place. See note M above.
974 
975  // ---------- member functions ---------------------------
976 
977 
978  void connect(ActivityRegistry& iOther);
979 
983 
989  void copySlotsFrom(ActivityRegistry& iOther);
990 
991  private:
992  // forwards subprocess independent signals to slots connected to iOther
993  void connectGlobals(ActivityRegistry& iOther);
994 
995  // forwards subprocess dependent signals to slots connected to iOther
996  void connectLocals(ActivityRegistry& iOther);
997  };
998 } // namespace edm
999 #undef AR_WATCH_USING_METHOD
1000 #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)
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
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_
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_
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)
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_
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
PostGlobalBeginLumi postGlobalBeginLumiSignal_
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_
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_
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_