CMS 3D CMS Logo

ActivityRegistry.h
Go to the documentation of this file.
1 #ifndef FWCore_ServiceRegistry_ActivityRegistry_h
2 #define FWCore_ServiceRegistry_ActivityRegistry_h
3 // -*- C++ -*-
4 //
5 // Package: ServiceRegistry
6 // Class : ActivityRegistry
7 //
48 //
49 // Original Author: Chris Jones
50 // Created: Mon Sep 5 19:53:09 EDT 2005
51 //
52 
53 // system include files
54 #include <functional>
55 #include <string>
56 
57 // user include files
63 
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)); \
68  }
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)); \
73  }
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)); \
78  }
79 #define AR_WATCH_USING_METHOD_3(method) \
80  template <class TClass, class TMethod> \
81  void method(TClass* iObject, TMethod iMethod) { \
82  method(std::bind( \
83  std::mem_fn(iMethod), iObject, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); \
84  }
85 // forward declarations
86 namespace edm {
87  class EventID;
88  class LuminosityBlockID;
89  class RunID;
90  class Timestamp;
91  class ModuleDescription;
92  class Event;
93  class LuminosityBlock;
94  class Run;
95  class EventSetup;
96  class IOVSyncValue;
97  class HLTPathStatus;
98  class GlobalContext;
99  class StreamContext;
100  class PathContext;
101  class ProcessContext;
102  class ModuleCallingContext;
103  class PathsAndConsumesOfModulesBase;
104  class ESModuleCallingContext;
105  namespace eventsetup {
106  struct ComponentDescription;
107  class DataKey;
108  class EventSetupRecordKey;
110  } // namespace eventsetup
111  namespace service {
112  class SystemBounds;
113  }
114 
115  namespace signalslot {
117 
118  template <class T>
120  public:
121  typedef std::function<T> slot_type;
122 
123  ObsoleteSignal() = default;
124 
125  template <typename U>
126  void connect(U /* iFunc */) {
128  }
129 
130  template <typename U>
131  void connect_front(U /* iFunc*/) {
133  }
134  };
135  } // namespace signalslot
137  public:
139  ActivityRegistry(ActivityRegistry const&) = delete; // Disallow copying and moving
140  ActivityRegistry& operator=(ActivityRegistry const&) = delete; // Disallow copying and moving
141 
142  // ---------- signals ------------------------------------
148 
155  }
157 
162  void watchPreBeginJob(PreBeginJob::slot_type const& iSlot) { preBeginJobSignal_.connect(iSlot); }
164 
165  typedef signalslot::Signal<void()> PostBeginJob;
169  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) { postBeginJobSignal_.connect(iSlot); }
171 
172  typedef signalslot::Signal<void()> PreEndJob;
175  void watchPreEndJob(PreEndJob::slot_type const& iSlot) { preEndJobSignal_.connect_front(iSlot); }
177 
178  typedef signalslot::Signal<void()> PostEndJob;
181  void watchPostEndJob(PostEndJob::slot_type const& iSlot) { postEndJobSignal_.connect_front(iSlot); }
183 
184  typedef signalslot::Signal<void()> JobFailure;
189  void watchJobFailure(JobFailure::slot_type const& iSlot) { jobFailureSignal_.connect_front(iSlot); }
191 
192 
193  typedef signalslot::Signal<void(StreamID)> PreSourceEvent;
197 
198 
199  typedef signalslot::Signal<void(StreamID)> PostSourceEvent;
203 
204 
205  typedef signalslot::Signal<void(LuminosityBlockIndex)> PreSourceLumi;
209 
210 
211  typedef signalslot::Signal<void(LuminosityBlockIndex)> PostSourceLumi;
215 
216 
217  typedef signalslot::Signal<void(RunIndex)> PreSourceRun;
219  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) { preSourceRunSignal_.connect(iSlot); }
221 
222 
223  typedef signalslot::Signal<void(RunIndex)> PostSourceRun;
227 
228 
229  typedef signalslot::Signal<void()> PreSourceProcessBlock;
233  }
235 
236 
237  typedef signalslot::Signal<void(std::string const&)> PostSourceProcessBlock;
241  }
243 
244 
245  typedef signalslot::Signal<void(std::string const&)> PreOpenFile;
247  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) { preOpenFileSignal_.connect(iSlot); }
249 
250 
251  // Note this is only done for a primary file, not a secondary one.
252  typedef signalslot::Signal<void(std::string const&)> PostOpenFile;
256 
257 
258  // First argument is the LFN of the file which is being closed.
259  typedef signalslot::Signal<void(std::string const&)> PreCloseFile;
261  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) { preCloseFileSignal_.connect(iSlot); }
263 
264 
265  typedef signalslot::Signal<void(std::string const&)> PostCloseFile;
269 
274  }
276 
281  }
283 
288  }
290 
295  }
297 
298  typedef signalslot::Signal<void(GlobalContext const&)> PreBeginProcessBlock;
302  }
304 
305  typedef signalslot::Signal<void(GlobalContext const&)> PostBeginProcessBlock;
309  }
311 
316  }
318 
323  }
325 
326  typedef signalslot::Signal<void(GlobalContext const&)> PreEndProcessBlock;
330  }
332 
333  typedef signalslot::Signal<void(GlobalContext const&)> PostEndProcessBlock;
337  }
339 
340  typedef signalslot::Signal<void()> BeginProcessing;
345 
346  typedef signalslot::Signal<void()> EndProcessing;
351 
352  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginRun;
357 
358  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginRun;
362  }
364 
365  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndRun;
369 
370  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndRun;
372  void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const& iSlot) {
374  }
376 
377  typedef signalslot::Signal<void(GlobalContext const&)> PreWriteProcessBlock;
381  }
383 
384  typedef signalslot::Signal<void(GlobalContext const&)> PostWriteProcessBlock;
388  }
390 
391  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteRun;
395 
396  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteRun;
400  }
402 
403  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginRun;
407 
408  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginRun;
412  }
414 
415  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndRun;
419 
420  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndRun;
422  void watchPostStreamEndRun(PostStreamEndRun::slot_type const& iSlot) {
424  }
426 
427  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalBeginLumi;
431  }
433 
434  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalBeginLumi;
438  }
440 
441  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalEndLumi;
445 
446  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalEndLumi;
450  }
452 
453  typedef signalslot::Signal<void(GlobalContext const&)> PreGlobalWriteLumi;
457  }
459 
460  typedef signalslot::Signal<void(GlobalContext const&)> PostGlobalWriteLumi;
464  }
466 
467  typedef signalslot::Signal<void(StreamContext const&)> PreStreamBeginLumi;
471  }
473 
474  typedef signalslot::Signal<void(StreamContext const&)> PostStreamBeginLumi;
478  }
480 
481  typedef signalslot::Signal<void(StreamContext const&)> PreStreamEndLumi;
485 
486  typedef signalslot::Signal<void(StreamContext const&)> PostStreamEndLumi;
490  }
492 
493  typedef signalslot::Signal<void(StreamContext const&)> PreEvent;
496  void watchPreEvent(PreEvent::slot_type const& iSlot) { preEventSignal_.connect(iSlot); }
498 
499  typedef signalslot::Signal<void(StreamContext const&)> PostEvent;
502  void watchPostEvent(PostEvent::slot_type const& iSlot) { postEventSignal_.connect_front(iSlot); }
504 
505 
506  typedef signalslot::Signal<void(StreamContext const&, PathContext const&)> PrePathEvent;
508  void watchPrePathEvent(PrePathEvent::slot_type const& iSlot) { prePathEventSignal_.connect(iSlot); }
510 
511 
516 
517 
523  }
525 
526 
532  }
534 
535 
541  }
543 
544 
545  using PostESModuleRegistration = signalslot::Signal<void(eventsetup::ComponentDescription const&)>;
549  }
551 
552 
553  using ESSyncIOVQueuing = signalslot::Signal<void(IOVSyncValue const&)>;
557 
558 
559  using PreESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
561  void watchPreESSyncIOV(PreESSyncIOV::slot_type const& iSlot) { preESSyncIOVSignal_.connect(iSlot); }
563 
564 
565  using PostESSyncIOV = signalslot::Signal<void(IOVSyncValue const&)>;
569 
570 
576  }
578 
579 
585  }
587 
588 
589  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PreESModule;
591  void watchPreESModule(PreESModule::slot_type const& iSlot) { preESModuleSignal_.connect(iSlot); }
593 
594 
595  typedef signalslot::Signal<void(eventsetup::EventSetupRecordKey const&, ESModuleCallingContext const&)> PostESModule;
599 
600 
606  }
608 
609 
615  }
617 
618  /* Note M:
619  Concerning use of address of module descriptor
620  during functions called before/after module or source construction:
621  Unlike the case in the Run, Lumi, and Event loops,
622  the Module descriptor (often passed by pointer or reference
623  as an argument named desc) in the construction phase is NOT
624  at some permanent fixed address during the construction phase.
625  Therefore, any optimization of caching the module name keying
626  off of address of the descriptor will NOT be valid during
627  such functions. mf / cj 9/11/09
628  */
629 
630 
635  }
636  // WARNING - ModuleDescription is not in fixed place. See note M above.
638 
639 
644  }
645  // WARNING - ModuleDescription is not in fixed place. See note M above.
647 
648 
649  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleDestruction;
653  }
654  // note: ModuleDescription IS in the fixed place. See note M above.
656 
657 
662  }
663  // WARNING - ModuleDescription is not in fixed place. See note M above.
665 
666 
667  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
671 
672 
673  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
677  }
679 
680 
681  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
685 
686 
687  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
689  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
691  }
693 
694 
699  }
701 
702 
707  }
709 
710 
715 
716 
721 
722 
727  }
729 
730 
735  }
737 
738 
743  }
745 
746 
751  }
753 
754 
759  }
761 
762 
767  }
769 
770 
775  }
777 
778 
783  }
785 
790  }
792 
797  }
799 
804  }
806 
811  }
813 
818  }
820 
825  }
827 
832  }
834 
839  }
841 
846  }
848 
853  }
855 
860  }
862 
868  }
870 
875  }
877 
882  }
884 
885 
890  }
892 
893 
898  }
900 
905  }
907 
912  }
914 
919  }
921 
926  }
928 
933  }
935 
940  }
942 
947  }
949 
954  }
956 
961  }
963 
968  }
970 
975 
980  }
982 
987  }
989 
994  }
996 
997 
1002  }
1003  // WARNING - ModuleDescription is not in fixed place. See note M above.
1005 
1006 
1011  }
1012  // WARNING - ModuleDescription is not in fixed place. See note M above.
1014 
1015  // ---------- member functions ---------------------------
1016 
1017 
1018  void connect(ActivityRegistry& iOther);
1019 
1022  void connectToSubProcess(ActivityRegistry& iOther);
1023 
1029  void copySlotsFrom(ActivityRegistry& iOther);
1030 
1031  private:
1032  // forwards subprocess independent signals to slots connected to iOther
1033  void connectGlobals(ActivityRegistry& iOther);
1034 
1035  // forwards subprocess dependent signals to slots connected to iOther
1036  void connectLocals(ActivityRegistry& iOther);
1037  };
1038 } // namespace edm
1039 #undef AR_WATCH_USING_METHOD
1040 #endif
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 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)
Definition: Signal.h:69
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 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_
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 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)
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_
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_
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
Definition: Signal.h:37
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_
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)
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 watchPostAccessInputProcessBlock(PostAccessInputProcessBlock::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_
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 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_
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
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)
HLT enums.
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_
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_
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 watchPreModuleGlobalPrefetching(PreModuleGlobalPrefetching::slot_type const &iSlot)
void connect(U iFunc)
Definition: Signal.h:64
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_