CMS 3D CMS Logo

ActivityRegistry.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
3 #define FWCore_ServiceRegistry_ActivityRegistry_h
4 //
5 // Package: ServiceRegistry
6 // Class : ActivityRegistry
7 //
64 //
65 // Original Author: Chris Jones
66 // Created: Mon Sep 5 19:53:09 EDT 2005
67 //
68 
69 // system include files
70 #include <functional>
71 #include <string>
72 
73 // user include files
79 
80 #define AR_WATCH_USING_METHOD_0(method) \
81  template <class TClass, class TMethod> \
82  void method(TClass* iObject, TMethod iMethod) { \
83  method(std::bind(std::mem_fn(iMethod), iObject)); \
84  }
85 #define AR_WATCH_USING_METHOD_1(method) \
86  template <class TClass, class TMethod> \
87  void method(TClass* iObject, TMethod iMethod) { \
88  method(std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1)); \
89  }
90 #define AR_WATCH_USING_METHOD_2(method) \
91  template <class TClass, class TMethod> \
92  void method(TClass* iObject, TMethod iMethod) { \
93  method(std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2)); \
94  }
95 #define AR_WATCH_USING_METHOD_3(method) \
96  template <class TClass, class TMethod> \
97  void method(TClass* iObject, TMethod iMethod) { \
98  method(std::bind( \
99  std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); \
100  }
101 // forward declarations
102 namespace edm {
103  class EventID;
104  class LuminosityBlockID;
105  class RunID;
106  class Timestamp;
107  class ModuleDescription;
108  class Event;
109  class LuminosityBlock;
110  class Run;
111  class EventSetup;
112  class IOVSyncValue;
113  class HLTPathStatus;
114  class GlobalContext;
115  class StreamContext;
116  class PathContext;
117  class ProcessContext;
118  class ModuleCallingContext;
119  class PathsAndConsumesOfModulesBase;
120  class ESModuleCallingContext;
121  namespace eventsetup {
122  struct ComponentDescription;
123  class DataKey;
124  class EventSetupRecordKey;
126  } // namespace eventsetup
127  namespace service {
128  class SystemBounds;
129  }
130 
131  namespace signalslot {
133 
134  template <class T>
136  public:
137  typedef std::function<T> slot_type;
138 
139  ObsoleteSignal() = default;
140 
141  template <typename U>
142  void connect(U /* iFunc */) {
144  }
145 
146  template <typename U>
147  void connect_front(U /* iFunc*/) {
149  }
150  };
151  } // namespace signalslot
153  public:
155  ActivityRegistry(ActivityRegistry const&) = delete; // Disallow copying and moving
156  ActivityRegistry& operator=(ActivityRegistry const&) = delete; // Disallow copying and moving
157 
158  // ---------- signals ------------------------------------
164 
171  }
173 
178  void watchPreBeginJob(PreBeginJob::slot_type const& iSlot) { preBeginJobSignal_.connect(iSlot); }
180 
181  typedef signalslot::Signal<void()> PostBeginJob;
185  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) { postBeginJobSignal_.connect(iSlot); }
187 
188  typedef signalslot::Signal<void()> PreEndJob;
191  void watchPreEndJob(PreEndJob::slot_type const& iSlot) { preEndJobSignal_.connect_front(iSlot); }
193 
194  typedef signalslot::Signal<void()> PostEndJob;
197  void watchPostEndJob(PostEndJob::slot_type const& iSlot) { postEndJobSignal_.connect_front(iSlot); }
199 
200  typedef signalslot::Signal<void(StreamContext const&)> PreBeginStream;
204 
205  typedef signalslot::Signal<void(StreamContext const&)> PostBeginStream;
209 
210  typedef signalslot::Signal<void(StreamContext const&)> PreEndStream;
212  void watchPreEndStream(PreEndStream::slot_type const& iSlot) { preEndStreamSignal_.connect(iSlot); }
214 
215  typedef signalslot::Signal<void(StreamContext const&)> PostEndStream;
219 
220  typedef signalslot::Signal<void()> JobFailure;
225  void watchJobFailure(JobFailure::slot_type const& iSlot) { jobFailureSignal_.connect_front(iSlot); }
227 
228 
229  typedef signalslot::Signal<void()> PreSourceNextTransition;
233  }
235 
236 
237  typedef signalslot::Signal<void()> PostSourceNextTransition;
241  }
243 
244 
245  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
249 
250 
251  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
255 
256 
257  typedef signalslot::Signal<void(LuminosityBlockIndex)> PreSourceLumi;
261 
262 
263  typedef signalslot::Signal<void(LuminosityBlockIndex)> PostSourceLumi;
267 
268 
269  typedef signalslot::Signal<void(RunIndex)> PreSourceRun;
271  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) { preSourceRunSignal_.connect(iSlot); }
273 
274 
275  typedef signalslot::Signal<void(RunIndex)> PostSourceRun;
279 
280 
281  typedef signalslot::Signal<void()> PreSourceProcessBlock;
285  }
287 
288 
289  typedef signalslot::Signal<void(std::string const&)> PostSourceProcessBlock;
293  }
295 
296 
297  typedef signalslot::Signal<void(std::string const&)> PreOpenFile;
299  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) { preOpenFileSignal_.connect(iSlot); }
301 
302 
303  // Note this is only done for a primary file, not a secondary one.
304  typedef signalslot::Signal<void(std::string const&)> PostOpenFile;
308 
309 
310  // First argument is the LFN of the file which is being closed.
311  typedef signalslot::Signal<void(std::string const&)> PreCloseFile;
313  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) { preCloseFileSignal_.connect(iSlot); }
315 
316 
317  typedef signalslot::Signal<void(std::string const&)> PostCloseFile;
321 
326  }
328 
333  }
335 
340  }
342 
347  }
349 
350  typedef signalslot::Signal<void(GlobalContext const&)> PreBeginProcessBlock;
354  }
356 
357  typedef signalslot::Signal<void(GlobalContext const&)> PostBeginProcessBlock;
361  }
363 
368  }
370 
375  }
377 
378  typedef signalslot::Signal<void(GlobalContext const&)> PreEndProcessBlock;
382  }
384 
385  typedef signalslot::Signal<void(GlobalContext const&)> PostEndProcessBlock;
389  }
391 
392  typedef signalslot::Signal<void()> BeginProcessing;
397 
398  typedef signalslot::Signal<void()> EndProcessing;
403 
404  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
409 
410  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
414  }
416 
417  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
421 
422  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
424  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
426  }
428 
429  typedef signalslot::Signal<void(GlobalContext const&)> PreWriteProcessBlock;
433  }
435 
436  typedef signalslot::Signal<void(GlobalContext const&)> PostWriteProcessBlock;
440  }
442 
443  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteRun;
447 
448  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteRun;
452  }
454 
455  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
459 
460  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
464  }
466 
467  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
471 
472  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
474  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
476  }
478 
479  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
483  }
485 
486  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
490  }
492 
493  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
497 
498  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
502  }
504 
505  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteLumi;
509  }
511 
512  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteLumi;
516  }
518 
519  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
523  }
525 
526  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
530  }
532 
533  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
537 
538  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
542  }
544 
545  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
548  void watchPreEvent(PreEvent::slot_type const& iSlot) { preEventSignal_.connect(iSlot); }
550 
551  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
554  void watchPostEvent(PostEvent::slot_type const& iSlot) { postEventSignal_.connect_front(iSlot); }
556 
557  typedef signalslot::Signal<void(StreamContext const&)> PreClearEvent;
562 
563  typedef signalslot::Signal<void(StreamContext const&)> PostClearEvent;
568 
569 
570  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
572  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) { prePathEventSignal_.connect(iSlot); }
574 
575 
580 
581 
587  }
589 
590 
596  }
598 
599 
605  }
607 
608 
609  using PostESModuleRegistration = signalslot::Signal<void(eventsetup::ComponentDescription const&)>;
613  }
615 
616 
617  using ESSyncIOVQueuing = signalslot::Signal<void(IOVSyncValue const&)>;
621 
622 
623  using PreESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
625  void watchPreESSyncIOV(PreESSyncIOV::slot_type const& iSlot) { preESSyncIOVSignal_.connect(iSlot); }
627 
628 
629  using PostESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
633 
634 
640  }
642 
643 
649  }
651 
652 
653  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PreESModule;
655  void watchPreESModule(PreESModule::slot_type const& iSlot) { preESModuleSignal_.connect(iSlot); }
657 
658 
659  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PostESModule;
663 
664 
670  }
672 
673 
679  }
681 
682  /* Note M:
683  Concerning use of address of module descriptor
684  during functions called before/after module or source construction:
685  Unlike the case in the Run, Lumi, and Event loops,
686  the Module descriptor (often passed by pointer or reference
687  as an argument named desc) in the construction phase is NOT
688  at some permanent fixed address during the construction phase.
689  Therefore, any optimization of caching the module name keying
690  off of address of the descriptor will NOT be valid during
691  such functions. mf / cj 9/11/09
692  */
693 
694 
699  }
700  // WARNING - ModuleDescription is not in fixed place. See note M above.
702 
703 
708  }
709  // WARNING - ModuleDescription is not in fixed place. See note M above.
711 
712 
713  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleDestruction;
717  }
718  // note: ModuleDescription IS in the fixed place. See note M above.
720 
721 
726  }
727  // WARNING - ModuleDescription is not in fixed place. See note M above.
729 
730 
731  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
735 
736 
737  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
741  }
743 
744 
745  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
749 
750 
751  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
753  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
755  }
757 
758 
763  }
765 
766 
771  }
773 
774 
779 
780 
785 
786 
791  }
793 
794 
799  }
801 
802 
807  }
809 
810 
815  }
817 
818 
823  }
825 
826 
831  }
833 
834 
839  }
841 
842 
847  }
849 
850 
855  }
857 
858 
863  }
865 
866 
871  }
873 
874 
879  }
881 
882 
887  }
889 
890 
895  }
897 
902  }
904 
909  }
911 
916  }
918 
923  }
925 
930  }
932 
937  }
939 
944  }
946 
951  }
953 
958  }
960 
965  }
967 
972  }
974 
980  }
982 
987  }
989 
994  }
996 
997 
1002  }
1004 
1005 
1010  }
1012 
1017  }
1019 
1024  }
1026 
1031  }
1033 
1038  }
1040 
1045  }
1047 
1052  }
1054 
1059  }
1061 
1066  }
1068 
1073  }
1075 
1080  }
1082 
1087 
1092  }
1094 
1099  }
1101 
1106  }
1108 
1109 
1114  }
1115  // WARNING - ModuleDescription is not in fixed place. See note M above.
1117 
1118 
1123  }
1124  // WARNING - ModuleDescription is not in fixed place. See note M above.
1126 
1127  // ---------- member functions ---------------------------
1128 
1129 
1130  void connect(ActivityRegistry& iOther);
1131 
1134  void connectToSubProcess(ActivityRegistry& iOther);
1135 
1141  void copySlotsFrom(ActivityRegistry& iOther);
1142 
1143  private:
1144  // forwards subprocess independent signals to slots connected to iOther
1145  void connectGlobals(ActivityRegistry& iOther);
1146 
1147  // forwards subprocess dependent signals to slots connected to iOther
1148  void connectLocals(ActivityRegistry& iOther);
1149  };
1150 } // namespace edm
1151 #undef AR_WATCH_USING_METHOD
1152 #endif
PreClearEvent preClearEventSignal_
signal is emitted before the data products in the Event are cleared
PreModuleEventPrefetching preModuleEventPrefetchingSignal_
PreModuleStreamBeginRun preModuleStreamBeginRunSignal_
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
PostEndProcessBlock postEndProcessBlockSignal_
PostSourceLumi postSourceLumiSignal_
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)
PostBeginStream postBeginStreamSignal_
void connectLocals(ActivityRegistry &iOther)
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 watchPostModuleTransformAcquiring(PostModuleTransformAcquiring::slot_type const &iSlot)
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_
EventSetupConfiguration eventSetupConfigurationSignal_
signal is emitted before beginJob
PostModuleEvent postModuleEventSignal_
PreEndStream preEndStreamSignal_
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:79
PostGlobalBeginRun postGlobalBeginRunSignal_
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 watchPostSourceNextTransition(PostSourceNextTransition::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 watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
void watchPreModuleAccessInputProcessBlock(PreModuleAccessInputProcessBlock::slot_type const &iSlot)
PostAccessInputProcessBlock postAccessInputProcessBlockSignal_
PostModuleStreamPrefetching postModuleStreamPrefetchingSignal_
void watchPostModuleTransformPrefetching(PostModuleTransformPrefetching::slot_type const &iSlot)
PostModuleEventPrefetching postModuleEventPrefetchingSignal_
void watchPreBeginProcessBlock(PreBeginProcessBlock::slot_type const &iSlot)
signalslot::Signal< void(StreamContext const &, TerminationOrigin)> PreStreamEarlyTermination
PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_
void connectGlobals(ActivityRegistry &iOther)
PreModuleStreamPrefetching preModuleStreamPrefetchingSignal_
PostSourceRun postSourceRunSignal_
PostGlobalEndLumi postGlobalWriteLumiSignal_
void watchPreEndProcessBlock(PreEndProcessBlock::slot_type const &iSlot)
void watchPostModuleTransform(PostModuleTransform::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)
PreModuleTransformPrefetching preModuleTransformPrefetchingSignal_
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_
signalslot::Signal< void(eventsetup::ESRecordsToProductResolverIndices const &, ProcessContext const &)> EventSetupConfiguration
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)
PostEndStream postEndStreamSignal_
void watchPostBeginProcessBlock(PostBeginProcessBlock::slot_type const &iSlot)
PreStreamEarlyTermination preStreamEarlyTerminationSignal_
void watchPostBeginStream(PostBeginStream::slot_type const &iSlot)
PreSourceEarlyTermination preSourceEarlyTerminationSignal_
void watchEventSetupConfiguration(EventSetupConfiguration::slot_type const &iSlot)
PostModuleGlobalEndRun postModuleGlobalEndRunSignal_
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_
PreModuleTransform preModuleTransformSignal_
void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const &iSlot)
void connectToSubProcess(ActivityRegistry &iOther)
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 watchPostEndStream(PostEndStream::slot_type const &iSlot)
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:39
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreEndStream(PreEndStream::slot_type const &iSlot)
void watchPreSourceNextTransition(PreSourceNextTransition::slot_type const &iSlot)
PreEventReadFromSource preEventReadFromSourceSignal_
void copySlotsFrom(ActivityRegistry &iOther)
void watchPreWriteProcessBlock(PreWriteProcessBlock::slot_type const &iSlot)
PreSourceProcessBlock preSourceProcessBlockSignal_
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
PostSourceEvent postSourceSignal_
PreSourceNextTransition preSourceNextTransitionSignal_
PreModuleTransformAcquiring preModuleTransformAcquiringSignal_
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPreModuleTransformAcquiring(PreModuleTransformAcquiring::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)
void watchPreModuleTransformPrefetching(PreModuleTransformPrefetching::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 watchPreModuleTransform(PreModuleTransform::slot_type const &iSlot)
void watchPostAccessInputProcessBlock(PostAccessInputProcessBlock::slot_type const &iSlot)
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
PostSourceNextTransition postSourceNextTransitionSignal_
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 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 watchPostClearEvent(PostClearEvent::slot_type const &iSlot)
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)
PreBeginStream preBeginStreamSignal_
PreESModule preESModuleSignal_
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
PreGlobalEndLumi preGlobalWriteLumiSignal_
PreModuleEvent preModuleEventSignal_
PostModuleTransformPrefetching postModuleTransformPrefetchingSignal_
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
void watchPreClearEvent(PreClearEvent::slot_type const &iSlot)
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_
PostModuleTransform postModuleTransformSignal_
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
PreBeginProcessBlock preBeginProcessBlockSignal_
PreModuleGlobalEndRun preModuleGlobalEndRunSignal_
void connect(ActivityRegistry &iOther)
forwards our signals to slots connected to iOther
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_
PostClearEvent postClearEventSignal_
signal is emitted after all data products in the Event have been cleared
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_
PostModuleTransformAcquiring postModuleTransformAcquiringSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void watchPreModuleGlobalPrefetching(PreModuleGlobalPrefetching::slot_type const &iSlot)
void connect(U iFunc)
Definition: Signal.h:74
PostESModuleRegistration postESModuleRegistrationSignal_
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_
void watchPreESModuleAcquire(PreESModuleAcquire::slot_type const &iSlot)
void watchPreBeginStream(PreBeginStream::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)
PreEndJob preEndJobSignal_
signal is emitted before any modules have gotten their endJob called
PostModuleConstruction postModuleConstructionSignal_