1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
2 #define FWCore_ServiceRegistry_ActivityRegistry_h
40 #define AR_WATCH_USING_METHOD_0(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject)); }
41 #define AR_WATCH_USING_METHOD_1(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1)); }
42 #define AR_WATCH_USING_METHOD_2(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2)); }
43 #define AR_WATCH_USING_METHOD_3(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); }
47 class LuminosityBlockID;
50 class ModuleDescription;
59 class ModuleCallingContext;
64 namespace signalslot {
106 postBeginJobSignal_.
connect(iSlot);
132 preSourceSignal_.
connect(iSlot);
148 preSourceLumiSignal_.
connect(iSlot);
164 preSourceRunSignal_.
connect(iSlot);
180 preOpenFileSignal_.
connect(iSlot);
199 preCloseFileSignal_.
connect(iSlot);
214 preModuleBeginStreamSignal_.
connect(iSlot);
228 preModuleEndStreamSignal_.
connect(iSlot);
243 preGlobalBeginRunSignal_.
connect(iSlot);
257 preGlobalEndRunSignal_.
connect(iSlot);
271 preStreamBeginRunSignal_.
connect(iSlot);
285 preStreamEndRunSignal_.
connect(iSlot);
299 preGlobalBeginLumiSignal_.
connect(iSlot);
313 preGlobalEndLumiSignal_.
connect(iSlot);
327 preStreamBeginLumiSignal_.
connect(iSlot);
341 preStreamEndLumiSignal_.
connect(iSlot);
356 preEventSignal_.
connect(iSlot);
372 prePathEventSignal_.
connect(iSlot);
389 preStreamEarlyTerminationSignal_.
connect(iSlot);
398 preGlobalEarlyTerminationSignal_.
connect(iSlot);
407 preSourceEarlyTerminationSignal_.
connect(iSlot);
416 preProcessEventSignal_.
connect(iSlot);
434 preBeginRunSignal_.
connect(iSlot);
452 preEndRunSignal_.
connect(iSlot);
470 preBeginLumiSignal_.
connect(iSlot);
488 preEndLumiSignal_.
connect(iSlot);
506 preProcessPathSignal_.
connect(iSlot);
524 prePathBeginRunSignal_.
connect(iSlot);
542 prePathEndRunSignal_.
connect(iSlot);
560 prePathBeginLumiSignal_.
connect(iSlot);
578 prePathEndLumiSignal_.
connect(iSlot);
607 preModuleConstructionSignal_.
connect(iSlot);
625 preModuleBeginJobSignal_.
connect(iSlot);
641 preModuleEndJobSignal_.
connect(iSlot);
657 preModuleEventSignal_.
connect(iSlot);
673 preModuleEventDelayedGetSignal_.
connect(iSlot);
688 preModuleStreamBeginRunSignal_.
connect(iSlot);
702 preModuleStreamEndRunSignal_.
connect(iSlot);
716 preModuleStreamBeginLumiSignal_.
connect(iSlot);
730 preModuleStreamEndLumiSignal_.
connect(iSlot);
744 preModuleGlobalBeginRunSignal_.
connect(iSlot);
758 preModuleGlobalEndRunSignal_.
connect(iSlot);
772 preModuleGlobalBeginLumiSignal_.
connect(iSlot);
786 preModuleGlobalEndLumiSignal_.
connect(iSlot);
802 preModuleSignal_.
connect(iSlot);
820 preModuleBeginRunSignal_.
connect(iSlot);
839 preModuleEndRunSignal_.
connect(iSlot);
857 preModuleBeginLumiSignal_.
connect(iSlot);
875 preModuleEndLumiSignal_.
connect(iSlot);
892 preSourceConstructionSignal_.
connect(iSlot);
946 #undef AR_WATCH_USING_METHOD
void watchPostBeginRun(PostBeginRun::slot_type const &iSlot)
void watchPrePathEndLumi(PrePathEndLumi::slot_type const &iSlot)
PreModuleStreamBeginRun preModuleStreamBeginRunSignal_
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
PostSourceLumi postSourceLumiSignal_
void connectLocals(ActivityRegistry &iOther)
void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const &iSlot)
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
PreStreamBeginRun preStreamBeginRunSignal_
PreModuleBeginLumi preModuleBeginLumiSignal_
void watchPreEvent(PreEvent::slot_type const &iSlot)
PreBeginLumi preBeginLumiSignal_
signal is emitted after the Lumi has been created by the InputSource but before any modules have seen...
PostModuleEventDelayedGet postModuleEventDelayedGetSignal_
PostModuleStreamEndRun postModuleStreamEndRunSignal_
PreModuleEventDelayedGet preModuleEventDelayedGetSignal_
PostModule postModuleSignal_
PreEndRun preEndRunSignal_
signal is emitted before the endRun is processed
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
void watchPreallocate(Preallocate::slot_type const &iSlot)
PrePathEvent prePathEventSignal_
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 watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
PreSourceRun preSourceRunSignal_
PostModuleEvent postModuleEventSignal_
void watchPrePathEndRun(PrePathEndRun::slot_type const &iSlot)
void throwObsoleteSignalException()
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
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 watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
PostEvent postEventSignal_
signal is emitted after all modules have finished processing the Event
PreModuleEndRun preModuleEndRunSignal_
void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const &iSlot)
PostStreamEndLumi postStreamEndLumiSignal_
PostModuleEndRun postModuleEndRunSignal_
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPostModule(PostModule::slot_type const &iSlot)
void connect_front(U iFunc)
PostModuleEndLumi postModuleEndLumiSignal_
PostGlobalBeginRun postGlobalBeginRunSignal_
void watchPreProcessEvent(PreProcessEvent::slot_type const &iSlot)
void connectGlobals(ActivityRegistry &iOther)
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void watchPreEndLumi(PreEndLumi::slot_type const &iSlot)
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
void watchPostPathEndRun(PostPathEndRun::slot_type const &iSlot)
void watchPostPathEvent(PostPathEvent::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)
PreEndLumi preEndLumiSignal_
signal is emitted before the endLumi is processed
void watchPostEndLumi(PostEndLumi::slot_type const &iSlot)
PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_
PostSourceRun postSourceRunSignal_
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
PostSourceConstruction postSourceConstructionSignal_
PostBeginRun postBeginRunSignal_
signal is emitted after all modules have finished processing the beginRun
void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const &iSlot)
PreSourceConstruction preSourceConstructionSignal_
ActivityRegistry & operator=(ActivityRegistry const &)=delete
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
PostPathEndRun postPathEndRunSignal_
void watchPostPathEndLumi(PostPathEndLumi::slot_type const &iSlot)
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
PostPathBeginRun postPathBeginRunSignal_
void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const &iSlot)
PreForkReleaseResources preForkReleaseResourcesSignal_
void watchPreEndRun(PreEndRun::slot_type const &iSlot)
void watchPreModule(PreModule::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
PreGlobalBeginLumi preGlobalBeginLumiSignal_
PreModuleBeginRun preModuleBeginRunSignal_
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
void watchPostProcessEvent(PostProcessEvent::slot_type const &iSlot)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void watchPreModuleEndRun(PreModuleEndRun::slot_type const &iSlot)
PostForkReacquireResources postForkReacquireResourcesSignal_
PrePathBeginLumi prePathBeginLumiSignal_
void watchPrePathBeginRun(PrePathBeginRun::slot_type const &iSlot)
PreStreamEarlyTermination preStreamEarlyTerminationSignal_
PreSourceEarlyTermination preSourceEarlyTerminationSignal_
PrePathEndRun prePathEndRunSignal_
PostModuleGlobalEndRun postModuleGlobalEndRunSignal_
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_
void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const &iSlot)
PreModuleStreamEndRun preModuleStreamEndRunSignal_
PostPathEndLumi postPathEndLumiSignal_
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
PostProcessEvent postProcessEventSignal_
signal is emitted after all modules have finished processing the Event
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
void connect_front(U iFunc)
PostStreamEndRun postStreamEndRunSignal_
void watchPostModuleEndRun(PostModuleEndRun::slot_type const &iSlot)
PreStreamEndRun preStreamEndRunSignal_
std::function< T > slot_type
PreModuleConstruction preModuleConstructionSignal_
PostModuleEndStream postModuleEndStreamSignal_
PostEndRun postEndRunSignal_
signal is emitted after all modules have finished processing the Run
PreModule preModuleSignal_
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
PreGlobalEndLumi preGlobalEndLumiSignal_
std::function< void(service::SystemBounds const &) > slot_type
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
PostSourceEvent postSourceSignal_
void watchPostBeginLumi(PostBeginLumi::slot_type const &iSlot)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const &iSlot)
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_1(method)
PreCloseFile preCloseFileSignal_
PostModuleBeginLumi postModuleBeginLumiSignal_
PostEndLumi postEndLumiSignal_
signal is emitted after all modules have finished processing the Lumi
void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const &iSlot)
PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
PreStreamBeginLumi preStreamBeginLumiSignal_
void watchPostPathBeginRun(PostPathBeginRun::slot_type const &iSlot)
PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_
PostStreamBeginRun postStreamBeginRunSignal_
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
PostCloseFile postCloseFileSignal_
JobFailure jobFailureSignal_
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 watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
PostModuleEndJob postModuleEndJobSignal_
PostModuleBeginJob postModuleBeginJobSignal_
PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_
void connectToSubProcess(ActivityRegistry &iOther)
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
PreSourceLumi preSourceLumiSignal_
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
PostModuleBeginRun postModuleBeginRunSignal_
PrePathEndLumi prePathEndLumiSignal_
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_
PreProcessPath preProcessPathSignal_
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
PostGlobalEndRun postGlobalEndRunSignal_
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
PreModuleEvent preModuleEventSignal_
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const &iSlot)
PostGlobalBeginLumi postGlobalBeginLumiSignal_
PreOpenFile preOpenFileSignal_
PreModuleEndLumi preModuleEndLumiSignal_
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
PostEndJob postEndJobSignal_
signal is emitted after all modules have gotten their endJob called
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
PreModuleBeginJob preModuleBeginJobSignal_
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
PreSourceEvent preSourceSignal_
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
PreModuleEndStream preModuleEndStreamSignal_
void watchPreBeginLumi(PreBeginLumi::slot_type const &iSlot)
PostPathEvent postPathEventSignal_
PostStreamBeginLumi postStreamBeginLumiSignal_
PreStreamEndLumi preStreamEndLumiSignal_
PostModuleStreamEndLumi postModuleStreamEndLumiSignal_
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
void watchPostEndRun(PostEndRun::slot_type const &iSlot)
PreModuleGlobalEndRun preModuleGlobalEndRunSignal_
void watchPreModuleBeginLumi(PreModuleBeginLumi::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_
PostBeginJob postBeginJobSignal_
signal is emitted after all modules have gotten their beginJob called
PreModuleEndJob preModuleEndJobSignal_
#define AR_WATCH_USING_METHOD_3(method)
#define AR_WATCH_USING_METHOD_2(method)
void watchPreProcessPath(PreProcessPath::slot_type const &iSlot)
PrePathBeginRun prePathBeginRunSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const &iSlot)
PostPathBeginLumi postPathBeginLumiSignal_
void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const &iSlot)
void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const &iSlot)
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostProcessPath(PostProcessPath::slot_type const &iSlot)
PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_
PostProcessPath postProcessPathSignal_
PreBeginRun preBeginRunSignal_
signal is emitted after the Run has been created by the InputSource but before any modules have seen ...
void watchPreBeginRun(PreBeginRun::slot_type const &iSlot)
PostBeginLumi postBeginLumiSignal_
signal is emitted after all modules have finished processing the beginLumi
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void connect(ActivityRegistry &iOther)
forwards our signals to slots connected to iOther
PostModuleConstruction postModuleConstructionSignal_