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;
101 class ProcessContext;
102 class ModuleCallingContext;
103 class PathsAndConsumesOfModulesBase;
104 class ESModuleCallingContext;
105 namespace eventsetup {
106 struct ComponentDescription;
115 namespace signalslot {
125 template <
typename U>
130 template <
typename U>
1115 #undef AR_WATCH_USING_METHOD 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)
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_
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)
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)
JobFailure jobFailureSignal_
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)
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)
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_