1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h 2 #define FWCore_ServiceRegistry_ActivityRegistry_h 63 #define AR_WATCH_USING_METHOD_0(method) \ 64 template <class TClass, class TMethod> \ 65 void method(TClass* iObject, TMethod iMethod) { \ 66 method(std::bind(std::mem_fn(iMethod), iObject)); \ 68 #define AR_WATCH_USING_METHOD_1(method) \ 69 template <class TClass, class TMethod> \ 70 void method(TClass* iObject, TMethod iMethod) { \ 71 method(std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1)); \ 73 #define AR_WATCH_USING_METHOD_2(method) \ 74 template <class TClass, class TMethod> \ 75 void method(TClass* iObject, TMethod iMethod) { \ 76 method(std::bind(std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2)); \ 78 #define AR_WATCH_USING_METHOD_3(method) \ 79 template <class TClass, class TMethod> \ 80 void method(TClass* iObject, TMethod iMethod) { \ 82 std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); \ 87 class LuminosityBlockID;
90 class ModuleDescription;
100 class ModuleCallingContext;
101 class PathsAndConsumesOfModulesBase;
102 namespace eventsetup {
103 struct ComponentDescription;
111 namespace signalslot {
121 template <
typename U>
126 template <
typename U>
147 PreBeginJob preBeginJobSignal_;
149 void watchPreBeginJob(PreBeginJob::slot_type const& iSlot) { preBeginJobSignal_.
connect(iSlot); }
154 PostBeginJob postBeginJobSignal_;
156 void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) { postBeginJobSignal_.
connect(iSlot); }
161 PreEndJob preEndJobSignal_;
162 void watchPreEndJob(PreEndJob::slot_type const& iSlot) { preEndJobSignal_.
connect_front(iSlot); }
167 PostEndJob postEndJobSignal_;
168 void watchPostEndJob(PostEndJob::slot_type const& iSlot) { postEndJobSignal_.
connect_front(iSlot); }
174 JobFailure jobFailureSignal_;
176 void watchJobFailure(JobFailure::slot_type const& iSlot) { jobFailureSignal_.
connect_front(iSlot); }
181 PreSourceEvent preSourceSignal_;
182 void watchPreSourceEvent(PreSourceEvent::slot_type const& iSlot) { preSourceSignal_.
connect(iSlot); }
187 PostSourceEvent postSourceSignal_;
188 void watchPostSourceEvent(PostSourceEvent::slot_type const& iSlot) { postSourceSignal_.
connect_front(iSlot); }
193 PreSourceLumi preSourceLumiSignal_;
194 void watchPreSourceLumi(PreSourceLumi::slot_type const& iSlot) { preSourceLumiSignal_.
connect(iSlot); }
199 PostSourceLumi postSourceLumiSignal_;
200 void watchPostSourceLumi(PostSourceLumi::slot_type const& iSlot) { postSourceLumiSignal_.
connect_front(iSlot); }
205 PreSourceRun preSourceRunSignal_;
206 void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) { preSourceRunSignal_.
connect(iSlot); }
211 PostSourceRun postSourceRunSignal_;
212 void watchPostSourceRun(PostSourceRun::slot_type const& iSlot) { postSourceRunSignal_.
connect_front(iSlot); }
217 PreOpenFile preOpenFileSignal_;
218 void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) { preOpenFileSignal_.
connect(iSlot); }
224 PostOpenFile postOpenFileSignal_;
225 void watchPostOpenFile(PostOpenFile::slot_type const& iSlot) { postOpenFileSignal_.
connect_front(iSlot); }
232 PreCloseFile preCloseFileSignal_;
233 void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) { preCloseFileSignal_.
connect(iSlot); }
238 PostCloseFile postCloseFileSignal_;
239 void watchPostCloseFile(PostCloseFile::slot_type const& iSlot) { postCloseFileSignal_.
connect_front(iSlot); }
243 PreModuleBeginStream preModuleBeginStreamSignal_;
244 void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const& iSlot) {
245 preModuleBeginStreamSignal_.
connect(iSlot);
250 PostModuleBeginStream postModuleBeginStreamSignal_;
251 void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const& iSlot) {
257 PreModuleEndStream preModuleEndStreamSignal_;
258 void watchPreModuleEndStream(PreModuleEndStream::slot_type const& iSlot) {
259 preModuleEndStreamSignal_.
connect(iSlot);
264 PostModuleEndStream postModuleEndStreamSignal_;
265 void watchPostModuleEndStream(PostModuleEndStream::slot_type const& iSlot) {
272 PreGlobalBeginRun preGlobalBeginRunSignal_;
273 void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const& iSlot) { preGlobalBeginRunSignal_.
connect(iSlot); }
277 PostGlobalBeginRun postGlobalBeginRunSignal_;
278 void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const& iSlot) {
284 PreGlobalEndRun preGlobalEndRunSignal_;
285 void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const& iSlot) { preGlobalEndRunSignal_.
connect(iSlot); }
289 PostGlobalEndRun postGlobalEndRunSignal_;
290 void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
296 PreStreamBeginRun preStreamBeginRunSignal_;
297 void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const& iSlot) { preStreamBeginRunSignal_.
connect(iSlot); }
301 PostStreamBeginRun postStreamBeginRunSignal_;
302 void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const& iSlot) {
308 PreStreamEndRun preStreamEndRunSignal_;
309 void watchPreStreamEndRun(PreStreamEndRun::slot_type const& iSlot) { preStreamEndRunSignal_.
connect(iSlot); }
313 PostStreamEndRun postStreamEndRunSignal_;
314 void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
320 PreGlobalBeginLumi preGlobalBeginLumiSignal_;
321 void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const& iSlot) {
322 preGlobalBeginLumiSignal_.
connect(iSlot);
327 PostGlobalBeginLumi postGlobalBeginLumiSignal_;
328 void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const& iSlot) {
334 PreGlobalEndLumi preGlobalEndLumiSignal_;
335 void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const& iSlot) { preGlobalEndLumiSignal_.
connect(iSlot); }
339 PostGlobalEndLumi postGlobalEndLumiSignal_;
340 void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const& iSlot) {
346 PreStreamBeginLumi preStreamBeginLumiSignal_;
347 void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const& iSlot) {
348 preStreamBeginLumiSignal_.
connect(iSlot);
353 PostStreamBeginLumi postStreamBeginLumiSignal_;
354 void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const& iSlot) {
360 PreStreamEndLumi preStreamEndLumiSignal_;
361 void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const& iSlot) { preStreamEndLumiSignal_.
connect(iSlot); }
365 PostStreamEndLumi postStreamEndLumiSignal_;
366 void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const& iSlot) {
373 PreEvent preEventSignal_;
374 void watchPreEvent(PreEvent::slot_type const& iSlot) { preEventSignal_.
connect(iSlot); }
379 PostEvent postEventSignal_;
380 void watchPostEvent(PostEvent::slot_type const& iSlot) { postEventSignal_.
connect_front(iSlot); }
385 PrePathEvent prePathEventSignal_;
386 void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) { prePathEventSignal_.
connect(iSlot); }
391 PostPathEvent postPathEventSignal_;
392 void watchPostPathEvent(PostPathEvent::slot_type const& iSlot) { postPathEventSignal_.
connect_front(iSlot); }
398 PreStreamEarlyTermination preStreamEarlyTerminationSignal_;
399 void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const& iSlot) {
400 preStreamEarlyTerminationSignal_.
connect(iSlot);
407 PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_;
408 void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const& iSlot) {
409 preGlobalEarlyTerminationSignal_.
connect(iSlot);
416 PreSourceEarlyTermination preSourceEarlyTerminationSignal_;
417 void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const& iSlot) {
418 preSourceEarlyTerminationSignal_.
connect(iSlot);
425 PreProcessEvent preProcessEventSignal_;
426 void watchPreProcessEvent(PreProcessEvent::slot_type const& iSlot) { preProcessEventSignal_.
connect(iSlot); }
432 PostProcessEvent postProcessEventSignal_;
433 void watchPostProcessEvent(PostProcessEvent::slot_type const& iSlot) {
441 PreBeginRun preBeginRunSignal_;
442 void watchPreBeginRun(PreBeginRun::slot_type const& iSlot) { preBeginRunSignal_.
connect(iSlot); }
448 PostBeginRun postBeginRunSignal_;
449 void watchPostBeginRun(PostBeginRun::slot_type const& iSlot) { postBeginRunSignal_.
connect_front(iSlot); }
455 PreEndRun preEndRunSignal_;
456 void watchPreEndRun(PreEndRun::slot_type const& iSlot) { preEndRunSignal_.
connect(iSlot); }
462 PostEndRun postEndRunSignal_;
463 void watchPostEndRun(PostEndRun::slot_type const& iSlot) { postEndRunSignal_.
connect_front(iSlot); }
469 PreBeginLumi preBeginLumiSignal_;
470 void watchPreBeginLumi(PreBeginLumi::slot_type const& iSlot) { preBeginLumiSignal_.
connect(iSlot); }
476 PostBeginLumi postBeginLumiSignal_;
477 void watchPostBeginLumi(PostBeginLumi::slot_type const& iSlot) { postBeginLumiSignal_.
connect_front(iSlot); }
483 PreEndLumi preEndLumiSignal_;
484 void watchPreEndLumi(PreEndLumi::slot_type const& iSlot) { preEndLumiSignal_.
connect(iSlot); }
490 PostEndLumi postEndLumiSignal_;
491 void watchPostEndLumi(PostEndLumi::slot_type const& iSlot) { postEndLumiSignal_.
connect_front(iSlot); }
497 PreProcessPath preProcessPathSignal_;
498 void watchPreProcessPath(PreProcessPath::slot_type const& iSlot) { preProcessPathSignal_.
connect(iSlot); }
504 PostProcessPath postProcessPathSignal_;
505 void watchPostProcessPath(PostProcessPath::slot_type const& iSlot) { postProcessPathSignal_.
connect_front(iSlot); }
511 PrePathBeginRun prePathBeginRunSignal_;
512 void watchPrePathBeginRun(PrePathBeginRun::slot_type const& iSlot) { prePathBeginRunSignal_.
connect(iSlot); }
518 PostPathBeginRun postPathBeginRunSignal_;
519 void watchPostPathBeginRun(PostPathBeginRun::slot_type const& iSlot) {
527 PrePathEndRun prePathEndRunSignal_;
528 void watchPrePathEndRun(PrePathEndRun::slot_type const& iSlot) { prePathEndRunSignal_.
connect(iSlot); }
534 PostPathEndRun postPathEndRunSignal_;
535 void watchPostPathEndRun(PostPathEndRun::slot_type const& iSlot) { postPathEndRunSignal_.
connect_front(iSlot); }
541 PrePathBeginLumi prePathBeginLumiSignal_;
542 void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const& iSlot) { prePathBeginLumiSignal_.
connect(iSlot); }
548 PostPathBeginLumi postPathBeginLumiSignal_;
549 void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const& iSlot) {
557 PrePathEndLumi prePathEndLumiSignal_;
558 void watchPrePathEndLumi(PrePathEndLumi::slot_type const& iSlot) { prePathEndLumiSignal_.
connect(iSlot); }
564 PostPathEndLumi postPathEndLumiSignal_;
565 void watchPostPathEndLumi(PostPathEndLumi::slot_type const& iSlot) { postPathEndLumiSignal_.
connect_front(iSlot); }
582 PreModuleConstruction preModuleConstructionSignal_;
583 void watchPreModuleConstruction(PreModuleConstruction::slot_type const& iSlot) {
584 preModuleConstructionSignal_.
connect(iSlot);
591 PostModuleConstruction postModuleConstructionSignal_;
592 void watchPostModuleConstruction(PostModuleConstruction::slot_type const& iSlot) {
600 PreModuleBeginJob preModuleBeginJobSignal_;
601 void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const& iSlot) { preModuleBeginJobSignal_.
connect(iSlot); }
606 PostModuleBeginJob postModuleBeginJobSignal_;
607 void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const& iSlot) {
614 PreModuleEndJob preModuleEndJobSignal_;
615 void watchPreModuleEndJob(PreModuleEndJob::slot_type const& iSlot) { preModuleEndJobSignal_.
connect(iSlot); }
620 PostModuleEndJob postModuleEndJobSignal_;
621 void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
628 PreModuleEventPrefetching preModuleEventPrefetchingSignal_;
629 void watchPreModuleEventPrefetching(PreModuleEventPrefetching::slot_type const& iSlot) {
630 preModuleEventPrefetchingSignal_.
connect(iSlot);
636 PostModuleEventPrefetching postModuleEventPrefetchingSignal_;
637 void watchPostModuleEventPrefetching(PostModuleEventPrefetching::slot_type const& iSlot) {
644 PreModuleEvent preModuleEventSignal_;
645 void watchPreModuleEvent(PreModuleEvent::slot_type const& iSlot) { preModuleEventSignal_.
connect(iSlot); }
650 PostModuleEvent postModuleEventSignal_;
651 void watchPostModuleEvent(PostModuleEvent::slot_type const& iSlot) { postModuleEventSignal_.
connect_front(iSlot); }
656 PreModuleEventAcquire preModuleEventAcquireSignal_;
657 void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const& iSlot) {
658 preModuleEventAcquireSignal_.
connect(iSlot);
664 PostModuleEventAcquire postModuleEventAcquireSignal_;
665 void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const& iSlot) {
672 PreModuleEventDelayedGet preModuleEventDelayedGetSignal_;
673 void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const& iSlot) {
674 preModuleEventDelayedGetSignal_.
connect(iSlot);
680 PostModuleEventDelayedGet postModuleEventDelayedGetSignal_;
681 void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const& iSlot) {
688 PreEventReadFromSource preEventReadFromSourceSignal_;
689 void watchPreEventReadFromSource(PreEventReadFromSource::slot_type const& iSlot) {
690 preEventReadFromSourceSignal_.
connect(iSlot);
696 PostEventReadFromSource postEventReadFromSourceSignal_;
697 void watchPostEventReadFromSource(PostEventReadFromSource::slot_type const& iSlot) {
703 PreModuleStreamBeginRun preModuleStreamBeginRunSignal_;
704 void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const& iSlot) {
705 preModuleStreamBeginRunSignal_.
connect(iSlot);
710 PostModuleStreamBeginRun postModuleStreamBeginRunSignal_;
711 void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const& iSlot) {
717 PreModuleStreamEndRun preModuleStreamEndRunSignal_;
718 void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const& iSlot) {
719 preModuleStreamEndRunSignal_.
connect(iSlot);
724 PostModuleStreamEndRun postModuleStreamEndRunSignal_;
725 void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const& iSlot) {
731 PreModuleStreamBeginLumi preModuleStreamBeginLumiSignal_;
732 void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const& iSlot) {
733 preModuleStreamBeginLumiSignal_.
connect(iSlot);
738 PostModuleStreamBeginLumi postModuleStreamBeginLumiSignal_;
739 void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const& iSlot) {
745 PreModuleStreamEndLumi preModuleStreamEndLumiSignal_;
746 void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const& iSlot) {
747 preModuleStreamEndLumiSignal_.
connect(iSlot);
752 PostModuleStreamEndLumi postModuleStreamEndLumiSignal_;
753 void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const& iSlot) {
759 PreModuleGlobalBeginRun preModuleGlobalBeginRunSignal_;
760 void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const& iSlot) {
761 preModuleGlobalBeginRunSignal_.
connect(iSlot);
766 PostModuleGlobalBeginRun postModuleGlobalBeginRunSignal_;
767 void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const& iSlot) {
773 PreModuleGlobalEndRun preModuleGlobalEndRunSignal_;
774 void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const& iSlot) {
775 preModuleGlobalEndRunSignal_.
connect(iSlot);
780 PostModuleGlobalEndRun postModuleGlobalEndRunSignal_;
781 void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const& iSlot) {
787 PreModuleGlobalBeginLumi preModuleGlobalBeginLumiSignal_;
788 void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const& iSlot) {
789 preModuleGlobalBeginLumiSignal_.
connect(iSlot);
794 PostModuleGlobalBeginLumi postModuleGlobalBeginLumiSignal_;
795 void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const& iSlot) {
801 PreModuleGlobalEndLumi preModuleGlobalEndLumiSignal_;
802 void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const& iSlot) {
803 preModuleGlobalEndLumiSignal_.
connect(iSlot);
808 PostModuleGlobalEndLumi postModuleGlobalEndLumiSignal_;
809 void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const& iSlot) {
815 PreModuleWriteRun preModuleWriteRunSignal_;
816 void watchPreModuleWriteRun(PreModuleWriteRun::slot_type const& iSlot) { preModuleWriteRunSignal_.
connect(iSlot); }
820 PostModuleWriteRun postModuleWriteRunSignal_;
821 void watchPostModuleWriteRun(PostModuleWriteRun::slot_type const& iSlot) {
827 PreModuleWriteLumi preModuleWriteLumiSignal_;
828 void watchPreModuleWriteLumi(PreModuleWriteLumi::slot_type const& iSlot) {
829 preModuleWriteLumiSignal_.
connect(iSlot);
834 PostModuleWriteLumi postModuleWriteLumiSignal_;
835 void watchPostModuleWriteLumi(PostModuleWriteLumi::slot_type const& iSlot) {
843 PreModule preModuleSignal_;
844 void watchPreModule(PreModule::slot_type const& iSlot) { preModuleSignal_.
connect(iSlot); }
850 PostModule postModuleSignal_;
851 void watchPostModule(PostModule::slot_type const& iSlot) { postModuleSignal_.
connect_front(iSlot); }
857 PreModuleBeginRun preModuleBeginRunSignal_;
858 void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const& iSlot) { preModuleBeginRunSignal_.
connect(iSlot); }
864 PostModuleBeginRun postModuleBeginRunSignal_;
865 void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const& iSlot) {
873 PreModuleEndRun preModuleEndRunSignal_;
874 void watchPreModuleEndRun(PreModuleEndRun::slot_type const& iSlot) { preModuleEndRunSignal_.
connect(iSlot); }
880 PostModuleEndRun postModuleEndRunSignal_;
881 void watchPostModuleEndRun(PostModuleEndRun::slot_type const& iSlot) {
889 PreModuleBeginLumi preModuleBeginLumiSignal_;
890 void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const& iSlot) {
891 preModuleBeginLumiSignal_.
connect(iSlot);
898 PostModuleBeginLumi postModuleBeginLumiSignal_;
899 void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const& iSlot) {
907 PreModuleEndLumi preModuleEndLumiSignal_;
908 void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const& iSlot) { preModuleEndLumiSignal_.
connect(iSlot); }
914 PostModuleEndLumi postModuleEndLumiSignal_;
915 void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const& iSlot) {
922 PreSourceConstruction preSourceConstructionSignal_;
923 void watchPreSourceConstruction(PreSourceConstruction::slot_type const& iSlot) {
924 preSourceConstructionSignal_.
connect(iSlot);
931 PostSourceConstruction postSourceConstructionSignal_;
932 void watchPostSourceConstruction(PostSourceConstruction::slot_type const& iSlot) {
938 typedef signalslot::
Signal<
void(
944 preLockEventSetupGetSignal_.
connect(iSlot);
948 typedef signalslot::
Signal<
void(
958 typedef signalslot::
Signal<
void(
992 #undef AR_WATCH_USING_METHOD #define AR_WATCH_USING_METHOD_0(method)
void watchPreallocate(Preallocate::slot_type const &iSlot)
void throwObsoleteSignalException()
signalslot::Signal< void(service::SystemBounds const &)> Preallocate
#define AR_WATCH_USING_METHOD_3(method)
void connect_front(U iFunc)
Preallocate preallocateSignal_
signal is emitted before beginJob
#define AR_WATCH_USING_METHOD_2(method)
#define AR_WATCH_USING_METHOD_1(method)
std::function< T > slot_type
std::function< void(service::SystemBounds const &) > slot_type