1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
2 #define FWCore_ServiceRegistry_ActivityRegistry_h
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)); \
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)); \
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)); \
79 #define AR_WATCH_USING_METHOD_3(method) \
80 template <class TClass, class TMethod> \
81 void method(TClass* iObject, TMethod iMethod) { \
83 std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); \
88 class LuminosityBlockID;
91 class ModuleDescription;
100 class ProcessContext;
101 class ModuleCallingContext;
102 class PathsAndConsumesOfModulesBase;
103 class ESModuleCallingContext;
104 namespace eventsetup {
105 struct ComponentDescription;
113 namespace signalslot {
123 template <
typename U>
128 template <
typename U>
221 preSourceProcessBlockSignal_.
connect(iSlot);
263 preModuleBeginStreamSignal_.
connect(iSlot);
277 preModuleEndStreamSignal_.
connect(iSlot);
291 preBeginProcessBlockSignal_.
connect(iSlot);
305 preAccessInputProcessBlockSignal_.
connect(iSlot);
319 preEndProcessBlockSignal_.
connect(iSlot);
358 preWriteProcessBlockSignal_.
connect(iSlot);
408 preGlobalBeginLumiSignal_.
connect(iSlot);
434 preGlobalWriteLumiSignal_.
connect(iSlot);
448 preStreamBeginLumiSignal_.
connect(iSlot);
500 preStreamEarlyTerminationSignal_.
connect(iSlot);
509 preGlobalEarlyTerminationSignal_.
connect(iSlot);
518 preSourceEarlyTerminationSignal_.
connect(iSlot);
527 preESModulePrefetchingSignal_.
connect(iSlot);
568 preModuleConstructionSignal_.
connect(iSlot);
586 preModuleDestructionSignal_.
connect(iSlot);
632 preModuleEventPrefetchingSignal_.
connect(iSlot);
660 preModuleEventAcquireSignal_.
connect(iSlot);
676 preModuleEventDelayedGetSignal_.
connect(iSlot);
692 preEventReadFromSourceSignal_.
connect(iSlot);
707 preModuleStreamBeginRunSignal_.
connect(iSlot);
721 preModuleStreamEndRunSignal_.
connect(iSlot);
735 preModuleStreamBeginLumiSignal_.
connect(iSlot);
749 preModuleStreamEndLumiSignal_.
connect(iSlot);
763 preModuleBeginProcessBlockSignal_.
connect(iSlot);
777 preModuleAccessInputProcessBlockSignal_.
connect(iSlot);
785 postModuleAccessInputProcessBlockSignal_.
connect_front(iSlot);
792 preModuleEndProcessBlockSignal_.
connect(iSlot);
806 preModuleGlobalBeginRunSignal_.
connect(iSlot);
820 preModuleGlobalEndRunSignal_.
connect(iSlot);
834 preModuleGlobalBeginLumiSignal_.
connect(iSlot);
848 preModuleGlobalEndLumiSignal_.
connect(iSlot);
862 preModuleWriteProcessBlockSignal_.
connect(iSlot);
888 preModuleWriteLumiSignal_.
connect(iSlot);
903 preSourceConstructionSignal_.
connect(iSlot);
918 typedef signalslot::
Signal<
void(
924 preLockEventSetupGetSignal_.
connect(iSlot);
929 typedef signalslot::
Signal<
void(
940 typedef signalslot::
Signal<
void(
974 #undef AR_WATCH_USING_METHOD
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 watchPreEvent(PreEvent::slot_type const &iSlot)
PostModuleEventDelayedGet postModuleEventDelayedGetSignal_
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)
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)
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)
PostGlobalBeginRun postGlobalBeginRunSignal_
void connectGlobals(ActivityRegistry &iOther)
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
PostModuleWriteLumi postModuleWriteLumiSignal_
void watchPostSourceConstruction(PostSourceConstruction::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_
PostModuleEventPrefetching postModuleEventPrefetchingSignal_
void watchPreBeginProcessBlock(PreBeginProcessBlock::slot_type const &iSlot)
PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_
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_
ActivityRegistry & operator=(ActivityRegistry const &)=delete
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
PreLockEventSetupGet preLockEventSetupGetSignal_
signal is emitted before lock taken in EventSetup DataProxy::get function
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_
PostLockEventSetupGet postLockEventSetupGetSignal_
signal is emitted after lock taken in EventSetup DataProxy::get function
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_
std::function< T > slot_type
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
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_
PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_
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_
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
void watchPreGlobalWriteLumi(PreGlobalWriteLumi::slot_type const &iSlot)
PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_
PreWriteProcessBlock preWriteProcessBlockSignal_
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
PostCloseFile postCloseFileSignal_
JobFailure jobFailureSignal_
void watchPostAccessInputProcessBlock(PostAccessInputProcessBlock::slot_type const &iSlot)
void watchPreLockEventSetupGet(PreLockEventSetupGet::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_
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_
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_
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)
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 watchPostEventSetupGet(PostEventSetupGet::slot_type const &iSlot)
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_
PostEventSetupGet postEventSetupGetSignal_
signal is emitted after getImpl has returned in the EventSetup DataProxy::get function ...
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
void watchPostLockEventSetupGet(PostLockEventSetupGet::slot_type const &iSlot)
PreBeginProcessBlock preBeginProcessBlockSignal_
PreModuleGlobalEndRun preModuleGlobalEndRunSignal_
void watchPreESModulePrefetching(PreESModulePrefetching::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 watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_
PostEventReadFromSource postEventReadFromSourceSignal_
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
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_