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;
110  } // namespace eventsetup
111  namespace service {
112  class SystemBounds;
113  }
114 
115  namespace signalslot {
117 
118  template <class T>
120  public:
121  typedef std::function<T> slot_type;
122 
123  ObsoleteSignal() = default;
124 
125  template <typename U>
126  void connect(U /* iFunc */) {
128  }
129 
130  template <typename U>
131  void connect_front(U /* iFunc*/) {
133  }
134  };
135  } // namespace signalslot
137  public:
139  ActivityRegistry(ActivityRegistry const&) = delete; // Disallow copying and moving
140  ActivityRegistry& operator=(ActivityRegistry const&) = delete; // Disallow copying and moving
141 
142  // ---------- signals ------------------------------------
148 
155  }
157 
162  void watchPreBeginJob(PreBeginJob::slot_type const& iSlot) { preBeginJobSignal_.connect(iSlot); }
164 
165  typedef signalslot::Signal<void()> PostBeginJob;
169  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) { postBeginJobSignal_.connect(iSlot); }
171 
172  typedef signalslot::Signal<void()> PreEndJob;
175  void watchPreEndJob(PreEndJob::slot_type const& iSlot) { preEndJobSignal_.connect_front(iSlot); }
177 
178  typedef signalslot::Signal<void()> PostEndJob;
181  void watchPostEndJob(PostEndJob::slot_type const& iSlot) { postEndJobSignal_.connect_front(iSlot); }
183 
184  typedef signalslot::Signal<void()> JobFailure;
189  void watchJobFailure(JobFailure::slot_type const& iSlot) { jobFailureSignal_.connect_front(iSlot); }
191 
192 
193  typedef signalslot::Signal<void()> PreSourceNextTransition;
197  }
199 
200 
201  typedef signalslot::Signal<void()> PostSourceNextTransition;
205  }
207 
208 
209  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
213 
214 
215  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
219 
220 
221  typedef signalslot::Signal<void(LuminosityBlockIndex)> PreSourceLumi;
225 
226 
227  typedef signalslot::Signal<void(LuminosityBlockIndex)> PostSourceLumi;
231 
232 
233  typedef signalslot::Signal<void(RunIndex)> PreSourceRun;
235  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) { preSourceRunSignal_.connect(iSlot); }
237 
238 
239  typedef signalslot::Signal<void(RunIndex)> PostSourceRun;
243 
244 
245  typedef signalslot::Signal<void()> PreSourceProcessBlock;
249  }
251 
252 
253  typedef signalslot::Signal<void(std::string const&)> PostSourceProcessBlock;
257  }
259 
260 
261  typedef signalslot::Signal<void(std::string const&)> PreOpenFile;
263  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) { preOpenFileSignal_.connect(iSlot); }
265 
266 
267  // Note this is only done for a primary file, not a secondary one.
268  typedef signalslot::Signal<void(std::string const&)> PostOpenFile;
272 
273 
274  // First argument is the LFN of the file which is being closed.
275  typedef signalslot::Signal<void(std::string const&)> PreCloseFile;
277  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) { preCloseFileSignal_.connect(iSlot); }
279 
280 
281  typedef signalslot::Signal<void(std::string const&)> PostCloseFile;
285 
290  }
292 
297  }
299 
304  }
306 
311  }
313 
314  typedef signalslot::Signal<void(GlobalContext const&)> PreBeginProcessBlock;
318  }
320 
321  typedef signalslot::Signal<void(GlobalContext const&)> PostBeginProcessBlock;
325  }
327 
332  }
334 
339  }
341 
342  typedef signalslot::Signal<void(GlobalContext const&)> PreEndProcessBlock;
346  }
348 
349  typedef signalslot::Signal<void(GlobalContext const&)> PostEndProcessBlock;
353  }
355 
356  typedef signalslot::Signal<void()> BeginProcessing;
361 
362  typedef signalslot::Signal<void()> EndProcessing;
367 
368  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
373 
374  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
378  }
380 
381  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
385 
386  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
388  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
390  }
392 
393  typedef signalslot::Signal<void(GlobalContext const&)> PreWriteProcessBlock;
397  }
399 
400  typedef signalslot::Signal<void(GlobalContext const&)> PostWriteProcessBlock;
404  }
406 
407  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteRun;
411 
412  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteRun;
416  }
418 
419  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
423 
424  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
428  }
430 
431  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
435 
436  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
438  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
440  }
442 
443  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
447  }
449 
450  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
454  }
456 
457  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
461 
462  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
466  }
468 
469  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteLumi;
473  }
475 
476  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteLumi;
480  }
482 
483  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
487  }
489 
490  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
494  }
496 
497  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
501 
502  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
506  }
508 
509  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
512  void watchPreEvent(PreEvent::slot_type const& iSlot) { preEventSignal_.connect(iSlot); }
514 
515  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
518  void watchPostEvent(PostEvent::slot_type const& iSlot) { postEventSignal_.connect_front(iSlot); }
520 
521  typedef signalslot::Signal<void(StreamContext const&)> PreClearEvent;
526 
527  typedef signalslot::Signal<void(StreamContext const&)> PostClearEvent;
532 
533 
534  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
536  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) { prePathEventSignal_.connect(iSlot); }
538 
539 
544 
545 
551  }
553 
554 
560  }
562 
563 
569  }
571 
572 
573  using PostESModuleRegistration = signalslot::Signal<void(eventsetup::ComponentDescription const&)>;
577  }
579 
580 
581  using ESSyncIOVQueuing = signalslot::Signal<void(IOVSyncValue const&)>;
585 
586 
587  using PreESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
589  void watchPreESSyncIOV(PreESSyncIOV::slot_type const& iSlot) { preESSyncIOVSignal_.connect(iSlot); }
591 
592 
593  using PostESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
597 
598 
604  }
606 
607 
613  }
615 
616 
617  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PreESModule;
619  void watchPreESModule(PreESModule::slot_type const& iSlot) { preESModuleSignal_.connect(iSlot); }
621 
622 
623  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PostESModule;
627 
628 
634  }
636 
637 
643  }
645 
646  /* Note M:
647  Concerning use of address of module descriptor
648  during functions called before/after module or source construction:
649  Unlike the case in the Run, Lumi, and Event loops,
650  the Module descriptor (often passed by pointer or reference
651  as an argument named desc) in the construction phase is NOT
652  at some permanent fixed address during the construction phase.
653  Therefore, any optimization of caching the module name keying
654  off of address of the descriptor will NOT be valid during
655  such functions. mf / cj 9/11/09
656  */
657 
658 
663  }
664  // WARNING - ModuleDescription is not in fixed place. See note M above.
666 
667 
672  }
673  // WARNING - ModuleDescription is not in fixed place. See note M above.
675 
676 
677  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleDestruction;
681  }
682  // note: ModuleDescription IS in the fixed place. See note M above.
684 
685 
690  }
691  // WARNING - ModuleDescription is not in fixed place. See note M above.
693 
694 
695  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
699 
700 
701  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
705  }
707 
708 
709  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
713 
714 
715  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
717  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
719  }
721 
722 
727  }
729 
730 
735  }
737 
738 
743 
744 
749 
750 
755  }
757 
758 
763  }
765 
766 
771  }
773 
774 
779  }
781 
782 
787  }
789 
790 
795  }
797 
798 
803  }
805 
806 
811  }
813 
814 
819  }
821 
822 
827  }
829 
830 
835  }
837 
838 
843  }
845 
846 
851  }
853 
854 
859  }
861 
866  }
868 
873  }
875 
880  }
882 
887  }
889 
894  }
896 
901  }
903 
908  }
910 
915  }
917 
922  }
924 
929  }
931 
936  }
938 
944  }
946 
951  }
953 
958  }
960 
961 
966  }
968 
969 
974  }
976 
981  }
983 
988  }
990 
995  }
997 
1002  }
1004 
1009  }
1011 
1016  }
1018 
1023  }
1025 
1030  }
1032 
1037  }
1039 
1044  }
1046 
1051 
1056  }
1058 
1063  }
1065 
1070  }
1072 
1073 
1078  }
1079  // WARNING - ModuleDescription is not in fixed place. See note M above.
1081 
1082 
1087  }
1088  // WARNING - ModuleDescription is not in fixed place. See note M above.
1090 
1091  // ---------- member functions ---------------------------
1092 
1093 
1094  void connect(ActivityRegistry& iOther);
1095 
1098  void connectToSubProcess(ActivityRegistry& iOther);
1099 
1105  void copySlotsFrom(ActivityRegistry& iOther);
1106 
1107  private:
1108  // forwards subprocess independent signals to slots connected to iOther
1109  void connectGlobals(ActivityRegistry& iOther);
1110 
1111  // forwards subprocess dependent signals to slots connected to iOther
1112  void connectLocals(ActivityRegistry& iOther);
1113  };
1114 } // namespace edm
1115 #undef AR_WATCH_USING_METHOD
1116 #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 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 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_
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 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 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_
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_
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)
void watchPostBeginProcessBlock(PostBeginProcessBlock::slot_type const &iSlot)
PreStreamEarlyTermination preStreamEarlyTerminationSignal_
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 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)
void watchPreSourceNextTransition(PreSourceNextTransition::slot_type const &iSlot)
PreEventReadFromSource preEventReadFromSourceSignal_
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 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 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)
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 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: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_