1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
2 #define FWCore_ServiceRegistry_ActivityRegistry_h
39 #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)); }
40 #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)); }
41 #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)); }
42 #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)); }
46 class LuminosityBlockID;
49 class ModuleDescription;
59 class ModuleCallingContext;
60 class PathsAndConsumesOfModulesBase;
65 namespace signalslot {
107 preBeginJobSignal_.
connect(iSlot);
116 postBeginJobSignal_.
connect(iSlot);
150 preSourceSignal_.
connect(iSlot);
166 preSourceLumiSignal_.
connect(iSlot);
182 preSourceRunSignal_.
connect(iSlot);
198 preOpenFileSignal_.
connect(iSlot);
217 preCloseFileSignal_.
connect(iSlot);
232 preModuleBeginStreamSignal_.
connect(iSlot);
246 preModuleEndStreamSignal_.
connect(iSlot);
261 preGlobalBeginRunSignal_.
connect(iSlot);
275 preGlobalEndRunSignal_.
connect(iSlot);
289 preStreamBeginRunSignal_.
connect(iSlot);
303 preStreamEndRunSignal_.
connect(iSlot);
317 preGlobalBeginLumiSignal_.
connect(iSlot);
331 preGlobalEndLumiSignal_.
connect(iSlot);
345 preStreamBeginLumiSignal_.
connect(iSlot);
359 preStreamEndLumiSignal_.
connect(iSlot);
374 preEventSignal_.
connect(iSlot);
390 prePathEventSignal_.
connect(iSlot);
407 preStreamEarlyTerminationSignal_.
connect(iSlot);
416 preGlobalEarlyTerminationSignal_.
connect(iSlot);
425 preSourceEarlyTerminationSignal_.
connect(iSlot);
434 preProcessEventSignal_.
connect(iSlot);
452 preBeginRunSignal_.
connect(iSlot);
470 preEndRunSignal_.
connect(iSlot);
488 preBeginLumiSignal_.
connect(iSlot);
506 preEndLumiSignal_.
connect(iSlot);
524 preProcessPathSignal_.
connect(iSlot);
542 prePathBeginRunSignal_.
connect(iSlot);
560 prePathEndRunSignal_.
connect(iSlot);
578 prePathBeginLumiSignal_.
connect(iSlot);
596 prePathEndLumiSignal_.
connect(iSlot);
625 preModuleConstructionSignal_.
connect(iSlot);
643 preModuleBeginJobSignal_.
connect(iSlot);
659 preModuleEndJobSignal_.
connect(iSlot);
675 preModuleEventSignal_.
connect(iSlot);
691 preModuleEventDelayedGetSignal_.
connect(iSlot);
706 preModuleStreamBeginRunSignal_.
connect(iSlot);
720 preModuleStreamEndRunSignal_.
connect(iSlot);
734 preModuleStreamBeginLumiSignal_.
connect(iSlot);
748 preModuleStreamEndLumiSignal_.
connect(iSlot);
762 preModuleGlobalBeginRunSignal_.
connect(iSlot);
776 preModuleGlobalEndRunSignal_.
connect(iSlot);
790 preModuleGlobalBeginLumiSignal_.
connect(iSlot);
804 preModuleGlobalEndLumiSignal_.
connect(iSlot);
820 preModuleSignal_.
connect(iSlot);
838 preModuleBeginRunSignal_.
connect(iSlot);
857 preModuleEndRunSignal_.
connect(iSlot);
875 preModuleBeginLumiSignal_.
connect(iSlot);
893 preModuleEndLumiSignal_.
connect(iSlot);
910 preSourceConstructionSignal_.
connect(iSlot);
964 #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)
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_
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
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_
PreBeginJob preBeginJobSignal_
signal is emitted before all modules have gotten their beginJob called
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
PreEndJob preEndJobSignal_
signal is emitted before any modules have gotten their endJob called
PostModuleConstruction postModuleConstructionSignal_