CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 //
16 //
17 // Original Author: Chris Jones
18 // Created: Mon Sep 5 19:53:09 EDT 2005
19 //
20 
21 // system include files
22 //#include "boost/signal.hpp"
24 #include "boost/bind.hpp"
25 #include "boost/mem_fn.hpp"
26 #include "boost/utility.hpp"
27 
28 // user include files
29 
30 #define AR_WATCH_USING_METHOD_0(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject)); }
31 #define AR_WATCH_USING_METHOD_1(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1)); }
32 #define AR_WATCH_USING_METHOD_2(method) template<class TClass, class TMethod> void method (TClass* iObject, TMethod iMethod) { method (boost::bind(boost::mem_fn(iMethod), iObject, _1, _2)); }
33 // forward declarations
34 namespace edm {
35  class EventID;
36  class LuminosityBlockID;
37  class RunID;
38  class Timestamp;
39  class ModuleDescription;
40  class Event;
41  class LuminosityBlock;
42  class Run;
43  class EventSetup;
44  class HLTPathStatus;
45 
46  class ActivityRegistry : private boost::noncopyable {
47  public:
49 
50  // ---------- signals ------------------------------------
57  }
59 
60  typedef signalslot::Signal<void()> PostEndJob;
62  PostEndJob postEndJobSignal_;
63  void watchPostEndJob(PostEndJob::slot_type const& iSlot) {
64  postEndJobSignal_.connect_front(iSlot);
65  }
67 
68  typedef signalslot::Signal<void()> JobFailure;
71  JobFailure jobFailureSignal_;
73  void watchJobFailure(JobFailure::slot_type const& iSlot) {
74  jobFailureSignal_.connect_front(iSlot);
75  }
77 
78 
79  typedef signalslot::Signal<void()> PreSource;
80  PreSource preSourceSignal_;
81  void watchPreSource(PreSource::slot_type const& iSlot) {
82  preSourceSignal_.connect(iSlot);
83  }
85 
86 
87  typedef signalslot::Signal<void()> PostSource;
88  PostSource postSourceSignal_;
89  void watchPostSource(PostSource::slot_type const& iSlot) {
90  postSourceSignal_.connect_front(iSlot);
91  }
93 
94 
95  typedef signalslot::Signal<void()> PreSourceLumi;
96  PreSourceLumi preSourceLumiSignal_;
97  void watchPreSourceLumi(PreSourceLumi::slot_type const& iSlot) {
98  preSourceLumiSignal_.connect(iSlot);
99  }
101 
102 
103  typedef signalslot::Signal<void()> PostSourceLumi;
104  PostSourceLumi postSourceLumiSignal_;
105  void watchPostSourceLumi(PostSourceLumi::slot_type const& iSlot) {
106  postSourceLumiSignal_.connect_front(iSlot);
107  }
109 
110 
111  typedef signalslot::Signal<void()> PreSourceRun;
112  PreSourceRun preSourceRunSignal_;
113  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) {
114  preSourceRunSignal_.connect(iSlot);
115  }
117 
118 
119  typedef signalslot::Signal<void()> PostSourceRun;
120  PostSourceRun postSourceRunSignal_;
121  void watchPostSourceRun(PostSourceRun::slot_type const& iSlot) {
122  postSourceRunSignal_.connect_front(iSlot);
123  }
125 
126 
127  typedef signalslot::Signal<void()> PreOpenFile;
128  PreOpenFile preOpenFileSignal_;
129  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) {
130  preOpenFileSignal_.connect(iSlot);
131  }
133 
134 
135  // Note this is only done for a primary file, not a secondary one.
136  typedef signalslot::Signal<void()> PostOpenFile;
137  PostOpenFile postOpenFileSignal_;
138  void watchPostOpenFile(PostOpenFile::slot_type const& iSlot) {
139  postOpenFileSignal_.connect_front(iSlot);
140  }
142 
143 
144  // First argument is the LFN of the file which is being closed.
145  // Second argument is false if fallback is used; true otherwise.
146  typedef signalslot::Signal<void(std::string const&, bool)> PreCloseFile;
147  PreCloseFile preCloseFileSignal_;
148  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) {
149  preCloseFileSignal_.connect(iSlot);
150  }
152 
153 
154  typedef signalslot::Signal<void()> PostCloseFile;
155  PostCloseFile postCloseFileSignal_;
156  void watchPostCloseFile(PostCloseFile::slot_type const& iSlot) {
157  postCloseFileSignal_.connect_front(iSlot);
158  }
160 
161  typedef signalslot::Signal<void(EventID const&, Timestamp const&)> PreProcessEvent;
163  PreProcessEvent preProcessEventSignal_;
164  void watchPreProcessEvent(PreProcessEvent::slot_type const& iSlot) {
165  preProcessEventSignal_.connect(iSlot);
166  }
168 
169  typedef signalslot::Signal<void(Event const&, EventSetup const&)> PostProcessEvent;
171  PostProcessEvent postProcessEventSignal_;
172  void watchPostProcessEvent(PostProcessEvent::slot_type const& iSlot) {
173  postProcessEventSignal_.connect_front(iSlot);
174  }
176 
177  typedef signalslot::Signal<void(RunID const&, Timestamp const&)> PreBeginRun;
179  PreBeginRun preBeginRunSignal_;
180  void watchPreBeginRun(PreBeginRun::slot_type const& iSlot) {
181  preBeginRunSignal_.connect(iSlot);
182  }
184 
185  typedef signalslot::Signal<void(Run const&, EventSetup const&)> PostBeginRun;
187  PostBeginRun postBeginRunSignal_;
188  void watchPostBeginRun(PostBeginRun::slot_type const& iSlot) {
189  postBeginRunSignal_.connect_front(iSlot);
190  }
192 
193  typedef signalslot::Signal<void(RunID const&, Timestamp const&)> PreEndRun;
195  PreEndRun preEndRunSignal_;
196  void watchPreEndRun(PreEndRun::slot_type const& iSlot) {
197  preEndRunSignal_.connect(iSlot);
198  }
200 
201  typedef signalslot::Signal<void(Run const&, EventSetup const&)> PostEndRun;
203  PostEndRun postEndRunSignal_;
204  void watchPostEndRun(PostEndRun::slot_type const& iSlot) {
205  postEndRunSignal_.connect_front(iSlot);
206  }
208 
209  typedef signalslot::Signal<void(LuminosityBlockID const&, Timestamp const&)> PreBeginLumi;
211  PreBeginLumi preBeginLumiSignal_;
212  void watchPreBeginLumi(PreBeginLumi::slot_type const& iSlot) {
213  preBeginLumiSignal_.connect(iSlot);
214  }
216 
217  typedef signalslot::Signal<void(LuminosityBlock const&, EventSetup const&)> PostBeginLumi;
219  PostBeginLumi postBeginLumiSignal_;
220  void watchPostBeginLumi(PostBeginLumi::slot_type const& iSlot) {
221  postBeginLumiSignal_.connect_front(iSlot);
222  }
224 
225  typedef signalslot::Signal<void(LuminosityBlockID const&, Timestamp const&)> PreEndLumi;
227  PreEndLumi preEndLumiSignal_;
228  void watchPreEndLumi(PreEndLumi::slot_type const& iSlot) {
229  preEndLumiSignal_.connect(iSlot);
230  }
232 
233  typedef signalslot::Signal<void(LuminosityBlock const&, EventSetup const&)> PostEndLumi;
235  PostEndLumi postEndLumiSignal_;
236  void watchPostEndLumi(PostEndLumi::slot_type const& iSlot) {
237  postEndLumiSignal_.connect_front(iSlot);
238  }
240 
241 
242  typedef signalslot::Signal<void(std::string const&)> PreProcessPath;
243  PreProcessPath preProcessPathSignal_;
244  void watchPreProcessPath(PreProcessPath::slot_type const& iSlot) {
245  preProcessPathSignal_.connect(iSlot);
246  }
248 
249 
250  typedef signalslot::Signal<void(std::string const&, HLTPathStatus const&)> PostProcessPath;
251  PostProcessPath postProcessPathSignal_;
252  void watchPostProcessPath(PostProcessPath::slot_type const& iSlot) {
253  postProcessPathSignal_.connect_front(iSlot);
254  }
256 
257 
258  typedef signalslot::Signal<void(std::string const&)> PrePathBeginRun;
259  PrePathBeginRun prePathBeginRunSignal_;
260  void watchPrePathBeginRun(PrePathBeginRun::slot_type const& iSlot) {
261  prePathBeginRunSignal_.connect(iSlot);
262  }
264 
265 
266  typedef signalslot::Signal<void(std::string const&, HLTPathStatus const&)> PostPathBeginRun;
267  PostPathBeginRun postPathBeginRunSignal_;
268  void watchPostPathBeginRun(PostPathBeginRun::slot_type const& iSlot) {
269  postPathBeginRunSignal_.connect_front(iSlot);
270  }
272 
273 
274  typedef signalslot::Signal<void(std::string const&)> PrePathEndRun;
275  PrePathEndRun prePathEndRunSignal_;
276  void watchPrePathEndRun(PrePathEndRun::slot_type const& iSlot) {
277  prePathEndRunSignal_.connect(iSlot);
278  }
280 
281 
282  typedef signalslot::Signal<void(std::string const&, HLTPathStatus const&)> PostPathEndRun;
283  PostPathEndRun postPathEndRunSignal_;
284  void watchPostPathEndRun(PostPathEndRun::slot_type const& iSlot) {
285  postPathEndRunSignal_.connect_front(iSlot);
286  }
288 
289 
290  typedef signalslot::Signal<void(std::string const&)> PrePathBeginLumi;
291  PrePathBeginLumi prePathBeginLumiSignal_;
292  void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const& iSlot) {
293  prePathBeginLumiSignal_.connect(iSlot);
294  }
296 
297 
298  typedef signalslot::Signal<void(std::string const&, HLTPathStatus const&)> PostPathBeginLumi;
299  PostPathBeginLumi postPathBeginLumiSignal_;
300  void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const& iSlot) {
301  postPathBeginLumiSignal_.connect_front(iSlot);
302  }
304 
305 
306  typedef signalslot::Signal<void(std::string const&)> PrePathEndLumi;
307  PrePathEndLumi prePathEndLumiSignal_;
308  void watchPrePathEndLumi(PrePathEndLumi::slot_type const& iSlot) {
309  prePathEndLumiSignal_.connect(iSlot);
310  }
312 
313 
314  typedef signalslot::Signal<void(std::string const&, HLTPathStatus const&)> PostPathEndLumi;
315  PostPathEndLumi postPathEndLumiSignal_;
316  void watchPostPathEndLumi(PostPathEndLumi::slot_type const& iSlot) {
317  postPathEndLumiSignal_.connect_front(iSlot);
318  }
320 
321  /* Note M:
322  Concerning use of address of module descriptor
323  during functions called before/after module or source construction:
324  Unlike the case in the Run, Lumi, and Event loops,
325  the Module descriptor (often passed by pointer or reference
326  as an argument named desc) in the construction phase is NOT
327  at some permanent fixed address during the construction phase.
328  Therefore, any optimization of caching the module name keying
329  off of address of the descriptor will NOT be valid during
330  such functions. mf / cj 9/11/09
331  */
332 
333 
335  PreModuleConstruction preModuleConstructionSignal_;
336  void watchPreModuleConstruction(PreModuleConstruction::slot_type const& iSlot) {
337  preModuleConstructionSignal_.connect(iSlot);
338  }
339  // WARNING - ModuleDescription is not in fixed place. See note M above.
341 
342 
344  PostModuleConstruction postModuleConstructionSignal_;
345  void watchPostModuleConstruction(PostModuleConstruction::slot_type const& iSlot) {
346  postModuleConstructionSignal_.connect_front(iSlot);
347  }
348  // WARNING - ModuleDescription is not in fixed place. See note M above.
350 
351 
352  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginJob;
353  PreModuleBeginJob preModuleBeginJobSignal_;
354  void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const& iSlot) {
355  preModuleBeginJobSignal_.connect(iSlot);
356  }
358 
359 
360  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginJob;
361  PostModuleBeginJob postModuleBeginJobSignal_;
362  void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const& iSlot) {
363  postModuleBeginJobSignal_.connect_front(iSlot);
364  }
366 
367 
368  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndJob;
369  PreModuleEndJob preModuleEndJobSignal_;
370  void watchPreModuleEndJob(PreModuleEndJob::slot_type const& iSlot) {
371  preModuleEndJobSignal_.connect(iSlot);
372  }
374 
375 
376  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndJob;
377  PostModuleEndJob postModuleEndJobSignal_;
378  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
379  postModuleEndJobSignal_.connect_front(iSlot);
380  }
382 
383 
384  typedef signalslot::Signal<void(ModuleDescription const&)> PreModule;
385  PreModule preModuleSignal_;
386  void watchPreModule(PreModule::slot_type const& iSlot) {
387  preModuleSignal_.connect(iSlot);
388  }
390 
391 
392  typedef signalslot::Signal<void(ModuleDescription const&)> PostModule;
393  PostModule postModuleSignal_;
394  void watchPostModule(PostModule::slot_type const& iSlot) {
395  postModuleSignal_.connect_front(iSlot);
396  }
398 
399 
400  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginRun;
401  PreModuleBeginRun preModuleBeginRunSignal_;
402  void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const& iSlot) {
403  preModuleBeginRunSignal_.connect(iSlot);
404  }
406 
407 
408  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginRun;
409  PostModuleBeginRun postModuleBeginRunSignal_;
410  void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const& iSlot) {
411  postModuleBeginRunSignal_.connect_front(iSlot);
412 
413  }
415 
416 
417  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndRun;
418  PreModuleEndRun preModuleEndRunSignal_;
419  void watchPreModuleEndRun(PreModuleEndRun::slot_type const& iSlot) {
420  preModuleEndRunSignal_.connect(iSlot);
421  }
423 
424 
425  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndRun;
426  PostModuleEndRun postModuleEndRunSignal_;
427  void watchPostModuleEndRun(PostModuleEndRun::slot_type const& iSlot) {
428  postModuleEndRunSignal_.connect_front(iSlot);
429  }
431 
432 
433  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleBeginLumi;
434  PreModuleBeginLumi preModuleBeginLumiSignal_;
435  void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const& iSlot) {
436  preModuleBeginLumiSignal_.connect(iSlot);
437  }
439 
440 
441  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleBeginLumi;
442  PostModuleBeginLumi postModuleBeginLumiSignal_;
443  void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const& iSlot) {
444  postModuleBeginLumiSignal_.connect_front(iSlot);
445  }
447 
448 
449  typedef signalslot::Signal<void(ModuleDescription const&)> PreModuleEndLumi;
450  PreModuleEndLumi preModuleEndLumiSignal_;
451  void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const& iSlot) {
452  preModuleEndLumiSignal_.connect(iSlot);
453  }
455 
456 
457  typedef signalslot::Signal<void(ModuleDescription const&)> PostModuleEndLumi;
458  PostModuleEndLumi postModuleEndLumiSignal_;
459  void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const& iSlot) {
460  postModuleEndLumiSignal_.connect_front(iSlot);
461  }
463 
464 
466  PreSourceConstruction preSourceConstructionSignal_;
467  void watchPreSourceConstruction(PreSourceConstruction::slot_type const& iSlot) {
468  preSourceConstructionSignal_.connect(iSlot);
469  }
470  // WARNING - ModuleDescription is not in fixed place. See note M above.
472 
473 
475  PostSourceConstruction postSourceConstructionSignal_;
476  void watchPostSourceConstruction(PostSourceConstruction::slot_type const& iSlot) {
477  postSourceConstructionSignal_.connect_front(iSlot);
478  }
479  // WARNING - ModuleDescription is not in fixed place. See note M above.
481 
482 
483  typedef signalslot::Signal<void()> PreForkReleaseResources;
484  PreForkReleaseResources preForkReleaseResourcesSignal_;
485  void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const& iSlot) {
486  preForkReleaseResourcesSignal_.connect_front(iSlot);
487  }
489 
490 
491  typedef signalslot::Signal<void(unsigned int, unsigned int)> PostForkReacquireResources;
492  PostForkReacquireResources postForkReacquireResourcesSignal_;
493  void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const& iSlot) {
494  postForkReacquireResourcesSignal_.connect_front(iSlot);
495  }
497 
498  // ---------- member functions ---------------------------
499 
500 
501  void connect(ActivityRegistry& iOther);
502 
506 
512  void copySlotsFrom(ActivityRegistry& iOther);
513 
514  private:
515  // forwards subprocess independent signals to slots connected to iOther
516  void connectGlobals(ActivityRegistry& iOther);
517 
518  // forwards subprocess dependent signals to slots connected to iOther
519  void connectLocals(ActivityRegistry& iOther);
520  };
521 }
522 #undef AR_WATCH_USING_METHOD
523 #endif
void watchPostBeginRun(PostBeginRun::slot_type const &iSlot)
void watchPrePathEndLumi(PrePathEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
PostSourceLumi postSourceLumiSignal_
void connectLocals(ActivityRegistry &iOther)
PreModuleBeginLumi preModuleBeginLumiSignal_
PreBeginLumi preBeginLumiSignal_
signal is emitted after the Lumi has been created by the InputSource but before any modules have seen...
PreEndRun preEndRunSignal_
signal is emitted before the endRun is processed
void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
PreSourceRun preSourceRunSignal_
void watchPrePathEndRun(PrePathEndRun::slot_type const &iSlot)
PostOpenFile postOpenFileSignal_
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
PreModuleEndRun preModuleEndRunSignal_
void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const &iSlot)
PostModuleEndRun postModuleEndRunSignal_
void watchPostModule(PostModule::slot_type const &iSlot)
void connect_front(U iFunc)
Definition: Signal.h:69
PostModuleEndLumi postModuleEndLumiSignal_
void watchPreProcessEvent(PreProcessEvent::slot_type const &iSlot)
void connectGlobals(ActivityRegistry &iOther)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void watchPreEndLumi(PreEndLumi::slot_type const &iSlot)
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostPathEndRun(PostPathEndRun::slot_type const &iSlot)
void copySlotsFrom(ActivityRegistry &iOther)
PreEndLumi preEndLumiSignal_
signal is emitted before the endLumi is processed
void watchPostEndLumi(PostEndLumi::slot_type const &iSlot)
PostSourceRun postSourceRunSignal_
PostSourceConstruction postSourceConstructionSignal_
PostBeginRun postBeginRunSignal_
signal is emitted after all modules have finished processing the beginRun
void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const &iSlot)
PreSourceConstruction preSourceConstructionSignal_
PostPathEndRun postPathEndRunSignal_
void watchPostPathEndLumi(PostPathEndLumi::slot_type const &iSlot)
PostPathBeginRun postPathBeginRunSignal_
PreForkReleaseResources preForkReleaseResourcesSignal_
void watchPreEndRun(PreEndRun::slot_type const &iSlot)
void watchPreModule(PreModule::slot_type const &iSlot)
void watchJobFailure(JobFailure::slot_type const &iSlot)
convenience function for attaching to signal
signalslot::Signal< void()> PostBeginJob
PreModuleBeginRun preModuleBeginRunSignal_
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostProcessEvent(PostProcessEvent::slot_type const &iSlot)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreModuleEndRun(PreModuleEndRun::slot_type const &iSlot)
PostForkReacquireResources postForkReacquireResourcesSignal_
PrePathBeginLumi prePathBeginLumiSignal_
void watchPrePathBeginRun(PrePathBeginRun::slot_type const &iSlot)
PrePathEndRun prePathEndRunSignal_
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
PostPathEndLumi postPathEndLumiSignal_
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
PostProcessEvent postProcessEventSignal_
signal is emitted after all modules have finished processing the Event
void watchPostModuleEndRun(PostModuleEndRun::slot_type const &iSlot)
PreModuleConstruction preModuleConstructionSignal_
PostEndRun postEndRunSignal_
signal is emitted after all modules have finished processing the Run
void watchPreSource(PreSource::slot_type const &iSlot)
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
std::function< void() > slot_type
Definition: Signal.h:40
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
void watchPostBeginLumi(PostBeginLumi::slot_type const &iSlot)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPrePathBeginLumi(PrePathBeginLumi::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)
void watchPostPathBeginRun(PostPathBeginRun::slot_type const &iSlot)
PostCloseFile postCloseFileSignal_
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
void watchPreCloseFile(PreCloseFile::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_0(method)
PostModuleEndJob postModuleEndJobSignal_
PostModuleBeginJob postModuleBeginJobSignal_
void connectToSubProcess(ActivityRegistry &iOther)
PreSourceLumi preSourceLumiSignal_
PostModuleBeginRun postModuleBeginRunSignal_
PrePathEndLumi prePathEndLumiSignal_
string const
Definition: compareJSON.py:14
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
PreProcessPath preProcessPathSignal_
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
#define private
Definition: FWFileEntry.h:18
void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const &iSlot)
void watchPostSource(PostSource::slot_type const &iSlot)
PreOpenFile preOpenFileSignal_
PreModuleEndLumi preModuleEndLumiSignal_
PostEndJob postEndJobSignal_
signal is emitted after all modules have gotten their endJob called
PreModuleBeginJob preModuleBeginJobSignal_
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
void watchPreBeginLumi(PreBeginLumi::slot_type const &iSlot)
void watchPostEndRun(PostEndRun::slot_type const &iSlot)
void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const &iSlot)
PostBeginJob postBeginJobSignal_
signal is emitted after all modules have gotten their beginJob called
PreModuleEndJob preModuleEndJobSignal_
#define AR_WATCH_USING_METHOD_2(method)
void watchPreProcessPath(PreProcessPath::slot_type const &iSlot)
PrePathBeginRun prePathBeginRunSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void connect(U iFunc)
Definition: Signal.h:64
void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const &iSlot)
PostPathBeginLumi postPathBeginLumiSignal_
void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const &iSlot)
void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const &iSlot)
void watchPostProcessPath(PostProcessPath::slot_type const &iSlot)
Definition: Run.h:36
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
Definition: vlib.h:40
void connect(ActivityRegistry &iOther)
forwards our signals to slots connected to iOther
PostModuleConstruction postModuleConstructionSignal_