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"
23 #include "sigc++/signal.h"
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 ------------------------------------
51  typedef sigc::signal<void> PostBeginJob;
55  void watchPostBeginJob(PostBeginJob::slot_type const& iSlot) {
56  postBeginJobSignal_.connect(iSlot);
57  }
59 
60  typedef sigc::signal<void> PostEndJob;
62  PostEndJob postEndJobSignal_;
63  void watchPostEndJob(PostEndJob::slot_type const& iSlot) {
64  PostEndJob::slot_list_type sl = postEndJobSignal_.slots();
65  sl.push_front(iSlot);
66  }
68 
69  typedef sigc::signal<void> JobFailure;
72  JobFailure jobFailureSignal_;
74  void watchJobFailure(JobFailure::slot_type const& iSlot) {
75  JobFailure::slot_list_type sl = jobFailureSignal_.slots();
76  sl.push_front(iSlot);
77  }
79 
80 
81  typedef sigc::signal<void> PreSource;
82  PreSource preSourceSignal_;
83  void watchPreSource(PreSource::slot_type const& iSlot) {
84  preSourceSignal_.connect(iSlot);
85  }
87 
88 
89  typedef sigc::signal<void> PostSource;
90  PostSource postSourceSignal_;
91  void watchPostSource(PostSource::slot_type const& iSlot) {
92  PostSource::slot_list_type sl = postSourceSignal_.slots();
93  sl.push_front(iSlot);
94  }
96 
97 
98  typedef sigc::signal<void> PreSourceLumi;
99  PreSourceLumi preSourceLumiSignal_;
100  void watchPreSourceLumi(PreSourceLumi::slot_type const& iSlot) {
101  preSourceLumiSignal_.connect(iSlot);
102  }
104 
105 
106  typedef sigc::signal<void> PostSourceLumi;
107  PostSourceLumi postSourceLumiSignal_;
108  void watchPostSourceLumi(PostSourceLumi::slot_type const& iSlot) {
109  PostSourceLumi::slot_list_type sl = postSourceLumiSignal_.slots();
110  sl.push_front(iSlot);
111  }
113 
114 
115  typedef sigc::signal<void> PreSourceRun;
116  PreSourceRun preSourceRunSignal_;
117  void watchPreSourceRun(PreSourceRun::slot_type const& iSlot) {
118  preSourceRunSignal_.connect(iSlot);
119  }
121 
122 
123  typedef sigc::signal<void> PostSourceRun;
124  PostSourceRun postSourceRunSignal_;
125  void watchPostSourceRun(PostSourceRun::slot_type const& iSlot) {
126  PostSourceRun::slot_list_type sl = postSourceRunSignal_.slots();
127  sl.push_front(iSlot);
128  }
130 
131 
132  typedef sigc::signal<void> PreOpenFile;
133  PreOpenFile preOpenFileSignal_;
134  void watchPreOpenFile(PreOpenFile::slot_type const& iSlot) {
135  preOpenFileSignal_.connect(iSlot);
136  }
138 
139 
140  typedef sigc::signal<void> PostOpenFile;
141  PostOpenFile postOpenFileSignal_;
142  void watchPostOpenFile(PostOpenFile::slot_type const& iSlot) {
143  PostOpenFile::slot_list_type sl = postOpenFileSignal_.slots();
144  sl.push_front(iSlot);
145  }
147 
148 
149  typedef sigc::signal<void> PreCloseFile;
150  PreCloseFile preCloseFileSignal_;
151  void watchPreCloseFile(PreCloseFile::slot_type const& iSlot) {
152  preCloseFileSignal_.connect(iSlot);
153  }
155 
156 
157  typedef sigc::signal<void> PostCloseFile;
158  PostCloseFile postCloseFileSignal_;
159  void watchPostCloseFile(PostCloseFile::slot_type const& iSlot) {
160  PostCloseFile::slot_list_type sl = postCloseFileSignal_.slots();
161  sl.push_front(iSlot);
162  }
164 
165  typedef sigc::signal<void, EventID const&, Timestamp const&> PreProcessEvent;
167  PreProcessEvent preProcessEventSignal_;
168  void watchPreProcessEvent(PreProcessEvent::slot_type const& iSlot) {
169  preProcessEventSignal_.connect(iSlot);
170  }
172 
173  typedef sigc::signal<void, Event const&, EventSetup const&> PostProcessEvent;
175  PostProcessEvent postProcessEventSignal_;
176  void watchPostProcessEvent(PostProcessEvent::slot_type const& iSlot) {
177  PostProcessEvent::slot_list_type sl = postProcessEventSignal_.slots();
178  sl.push_front(iSlot);
179  }
181 
182  typedef sigc::signal<void, RunID const&, Timestamp const&> PreBeginRun;
184  PreBeginRun preBeginRunSignal_;
185  void watchPreBeginRun(PreBeginRun::slot_type const& iSlot) {
186  preBeginRunSignal_.connect(iSlot);
187  }
189 
190  typedef sigc::signal<void, Run const&, EventSetup const&> PostBeginRun;
192  PostBeginRun postBeginRunSignal_;
193  void watchPostBeginRun(PostBeginRun::slot_type const& iSlot) {
194  PostBeginRun::slot_list_type sl = postBeginRunSignal_.slots();
195  sl.push_front(iSlot);
196  }
198 
199  typedef sigc::signal<void, RunID const&, Timestamp const&> PreEndRun;
201  PreEndRun preEndRunSignal_;
202  void watchPreEndRun(PreEndRun::slot_type const& iSlot) {
203  preEndRunSignal_.connect(iSlot);
204  }
206 
207  typedef sigc::signal<void, Run const&, EventSetup const&> PostEndRun;
209  PostEndRun postEndRunSignal_;
210  void watchPostEndRun(PostEndRun::slot_type const& iSlot) {
211  PostEndRun::slot_list_type sl = postEndRunSignal_.slots();
212  sl.push_front(iSlot);
213  }
215 
216  typedef sigc::signal<void, LuminosityBlockID const&, Timestamp const&> PreBeginLumi;
218  PreBeginLumi preBeginLumiSignal_;
219  void watchPreBeginLumi(PreBeginLumi::slot_type const& iSlot) {
220  preBeginLumiSignal_.connect(iSlot);
221  }
223 
224  typedef sigc::signal<void, LuminosityBlock const&, EventSetup const&> PostBeginLumi;
226  PostBeginLumi postBeginLumiSignal_;
227  void watchPostBeginLumi(PostBeginLumi::slot_type const& iSlot) {
228  PostBeginLumi::slot_list_type sl = postBeginLumiSignal_.slots();
229  sl.push_front(iSlot);
230  }
232 
233  typedef sigc::signal<void, LuminosityBlockID const&, Timestamp const&> PreEndLumi;
235  PreEndLumi preEndLumiSignal_;
236  void watchPreEndLumi(PreEndLumi::slot_type const& iSlot) {
237  preEndLumiSignal_.connect(iSlot);
238  }
240 
241  typedef sigc::signal<void, LuminosityBlock const&, EventSetup const&> PostEndLumi;
243  PostEndLumi postEndLumiSignal_;
244  void watchPostEndLumi(PostEndLumi::slot_type const& iSlot) {
245  PostEndLumi::slot_list_type sl = postEndLumiSignal_.slots();
246  sl.push_front(iSlot);
247  }
249 
250 
251  typedef sigc::signal<void, std::string const&> PreProcessPath;
252  PreProcessPath preProcessPathSignal_;
253  void watchPreProcessPath(PreProcessPath::slot_type const& iSlot) {
254  preProcessPathSignal_.connect(iSlot);
255  }
257 
258 
259  typedef sigc::signal<void, std::string const&, HLTPathStatus const&> PostProcessPath;
260  PostProcessPath postProcessPathSignal_;
261  void watchPostProcessPath(PostProcessPath::slot_type const& iSlot) {
262  PostProcessPath::slot_list_type sl = postProcessPathSignal_.slots();
263  sl.push_front(iSlot);
264  }
266 
267 
268  typedef sigc::signal<void, std::string const&> PrePathBeginRun;
269  PrePathBeginRun prePathBeginRunSignal_;
270  void watchPrePathBeginRun(PrePathBeginRun::slot_type const& iSlot) {
271  prePathBeginRunSignal_.connect(iSlot);
272  }
274 
275 
276  typedef sigc::signal<void, std::string const&, HLTPathStatus const&> PostPathBeginRun;
277  PostPathBeginRun postPathBeginRunSignal_;
278  void watchPostPathBeginRun(PostPathBeginRun::slot_type const& iSlot) {
279  PostPathBeginRun::slot_list_type sl = postPathBeginRunSignal_.slots();
280  sl.push_front(iSlot);
281  }
283 
284 
285  typedef sigc::signal<void, std::string const&> PrePathEndRun;
286  PrePathEndRun prePathEndRunSignal_;
287  void watchPrePathEndRun(PrePathEndRun::slot_type const& iSlot) {
288  prePathEndRunSignal_.connect(iSlot);
289  }
291 
292 
293  typedef sigc::signal<void, std::string const&, HLTPathStatus const&> PostPathEndRun;
294  PostPathEndRun postPathEndRunSignal_;
295  void watchPostPathEndRun(PostPathEndRun::slot_type const& iSlot) {
296  PostPathEndRun::slot_list_type sl = postPathEndRunSignal_.slots();
297  sl.push_front(iSlot);
298  }
300 
301 
302  typedef sigc::signal<void, std::string const&> PrePathBeginLumi;
303  PrePathBeginLumi prePathBeginLumiSignal_;
304  void watchPrePathBeginLumi(PrePathBeginLumi::slot_type const& iSlot) {
305  prePathBeginLumiSignal_.connect(iSlot);
306  }
308 
309 
310  typedef sigc::signal<void, std::string const&, HLTPathStatus const&> PostPathBeginLumi;
311  PostPathBeginLumi postPathBeginLumiSignal_;
312  void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const& iSlot) {
313  PostPathBeginLumi::slot_list_type sl = postPathBeginLumiSignal_.slots();
314  sl.push_front(iSlot);
315  }
317 
318 
319  typedef sigc::signal<void, std::string const&> PrePathEndLumi;
320  PrePathEndLumi prePathEndLumiSignal_;
321  void watchPrePathEndLumi(PrePathEndLumi::slot_type const& iSlot) {
322  prePathEndLumiSignal_.connect(iSlot);
323  }
325 
326 
327  typedef sigc::signal<void, std::string const&, HLTPathStatus const&> PostPathEndLumi;
328  PostPathEndLumi postPathEndLumiSignal_;
329  void watchPostPathEndLumi(PostPathEndLumi::slot_type const& iSlot) {
330  PostPathEndLumi::slot_list_type sl = postPathEndLumiSignal_.slots();
331  sl.push_front(iSlot);
332  }
334 
335  /* Note M:
336  Concerning use of address of module descriptor
337  during functions called before/after module or source construction:
338  Unlike the case in the Run, Lumi, and Event loops,
339  the Module descriptor (often passed by pointer or reference
340  as an argument named desc) in the construction phase is NOT
341  at some permanent fixed address during the construction phase.
342  Therefore, any optimization of caching the module name keying
343  off of address of the descriptor will NOT be valid during
344  such functions. mf / cj 9/11/09
345  */
346 
347 
348  typedef sigc::signal<void, ModuleDescription const&> PreModuleConstruction;
349  PreModuleConstruction preModuleConstructionSignal_;
350  void watchPreModuleConstruction(PreModuleConstruction::slot_type const& iSlot) {
351  preModuleConstructionSignal_.connect(iSlot);
352  }
353  // WARNING - ModuleDescription is not in fixed place. See note M above.
355 
356 
357  typedef sigc::signal<void, ModuleDescription const&> PostModuleConstruction;
358  PostModuleConstruction postModuleConstructionSignal_;
359  void watchPostModuleConstruction(PostModuleConstruction::slot_type const& iSlot) {
360  PostModuleConstruction::slot_list_type sl = postModuleConstructionSignal_.slots();
361  sl.push_front(iSlot);
362  }
363  // WARNING - ModuleDescription is not in fixed place. See note M above.
365 
366 
367  typedef sigc::signal<void, ModuleDescription const&> PreModuleBeginJob;
368  PreModuleBeginJob preModuleBeginJobSignal_;
369  void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const& iSlot) {
370  preModuleBeginJobSignal_.connect(iSlot);
371  }
373 
374 
375  typedef sigc::signal<void, ModuleDescription const&> PostModuleBeginJob;
376  PostModuleBeginJob postModuleBeginJobSignal_;
377  void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const& iSlot) {
378  PostModuleBeginJob::slot_list_type sl = postModuleBeginJobSignal_.slots();
379  sl.push_front(iSlot);
380  }
382 
383 
384  typedef sigc::signal<void, ModuleDescription const&> PreModuleEndJob;
385  PreModuleEndJob preModuleEndJobSignal_;
386  void watchPreModuleEndJob(PreModuleEndJob::slot_type const& iSlot) {
387  preModuleEndJobSignal_.connect(iSlot);
388  }
390 
391 
392  typedef sigc::signal<void, ModuleDescription const&> PostModuleEndJob;
393  PostModuleEndJob postModuleEndJobSignal_;
394  void watchPostModuleEndJob(PostModuleEndJob::slot_type const& iSlot) {
395  PostModuleEndJob::slot_list_type sl = postModuleEndJobSignal_.slots();
396  sl.push_front(iSlot);
397  }
399 
400 
401  typedef sigc::signal<void, ModuleDescription const&> PreModule;
402  PreModule preModuleSignal_;
403  void watchPreModule(PreModule::slot_type const& iSlot) {
404  preModuleSignal_.connect(iSlot);
405  }
407 
408 
409  typedef sigc::signal<void, ModuleDescription const&> PostModule;
410  PostModule postModuleSignal_;
411  void watchPostModule(PostModule::slot_type const& iSlot) {
412  PostModule::slot_list_type sl = postModuleSignal_.slots();
413  sl.push_front(iSlot);
414  }
416 
417 
418  typedef sigc::signal<void, ModuleDescription const&> PreModuleBeginRun;
419  PreModuleBeginRun preModuleBeginRunSignal_;
420  void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const& iSlot) {
421  preModuleBeginRunSignal_.connect(iSlot);
422  }
424 
425 
426  typedef sigc::signal<void, ModuleDescription const&> PostModuleBeginRun;
427  PostModuleBeginRun postModuleBeginRunSignal_;
428  void watchPostModuleBeginRun(PostModuleBeginRun::slot_type const& iSlot) {
429  PostModuleBeginRun::slot_list_type sl = postModuleBeginRunSignal_.slots();
430  sl.push_front(iSlot);
431  }
433 
434 
435  typedef sigc::signal<void, ModuleDescription const&> PreModuleEndRun;
436  PreModuleEndRun preModuleEndRunSignal_;
437  void watchPreModuleEndRun(PreModuleEndRun::slot_type const& iSlot) {
438  preModuleEndRunSignal_.connect(iSlot);
439  }
441 
442 
443  typedef sigc::signal<void, ModuleDescription const&> PostModuleEndRun;
444  PostModuleEndRun postModuleEndRunSignal_;
445  void watchPostModuleEndRun(PostModuleEndRun::slot_type const& iSlot) {
446  PostModuleEndRun::slot_list_type sl = postModuleEndRunSignal_.slots();
447  sl.push_front(iSlot);
448  }
450 
451 
452  typedef sigc::signal<void, ModuleDescription const&> PreModuleBeginLumi;
453  PreModuleBeginLumi preModuleBeginLumiSignal_;
454  void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const& iSlot) {
455  preModuleBeginLumiSignal_.connect(iSlot);
456  }
458 
459 
460  typedef sigc::signal<void, ModuleDescription const&> PostModuleBeginLumi;
461  PostModuleBeginLumi postModuleBeginLumiSignal_;
462  void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const& iSlot) {
463  PostModuleBeginLumi::slot_list_type sl = postModuleBeginLumiSignal_.slots();
464  sl.push_front(iSlot);
465  }
467 
468 
469  typedef sigc::signal<void, ModuleDescription const&> PreModuleEndLumi;
470  PreModuleEndLumi preModuleEndLumiSignal_;
471  void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const& iSlot) {
472  preModuleEndLumiSignal_.connect(iSlot);
473  }
475 
476 
477  typedef sigc::signal<void, ModuleDescription const&> PostModuleEndLumi;
478  PostModuleEndLumi postModuleEndLumiSignal_;
479  void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const& iSlot) {
480  PostModuleEndLumi::slot_list_type sl = postModuleEndLumiSignal_.slots();
481  sl.push_front(iSlot);
482  }
484 
485 
486  typedef sigc::signal<void, ModuleDescription const&> PreSourceConstruction;
487  PreSourceConstruction preSourceConstructionSignal_;
488  void watchPreSourceConstruction(PreSourceConstruction::slot_type const& iSlot) {
489  preSourceConstructionSignal_.connect(iSlot);
490  }
491  // WARNING - ModuleDescription is not in fixed place. See note M above.
493 
494 
495  typedef sigc::signal<void, ModuleDescription const&> PostSourceConstruction;
496  PostSourceConstruction postSourceConstructionSignal_;
497  void watchPostSourceConstruction(PostSourceConstruction::slot_type const& iSlot) {
498  PostSourceConstruction::slot_list_type sl = postSourceConstructionSignal_.slots();
499  sl.push_front(iSlot);
500  }
501  // WARNING - ModuleDescription is not in fixed place. See note M above.
503 
504 
505  typedef sigc::signal<void> PreForkReleaseResources;
506  PreForkReleaseResources preForkReleaseResourcesSignal_;
507  void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const& iSlot) {
508  PreForkReleaseResources::slot_list_type sl = preForkReleaseResourcesSignal_.slots();
509  sl.push_front(iSlot);
510  }
512 
513 
514  typedef sigc::signal<void, unsigned int, unsigned int> PostForkReacquireResources;
515  PostForkReacquireResources postForkReacquireResourcesSignal_;
516  void watchPostForkReacquireResources(PostForkReacquireResources::slot_type const& iSlot) {
517  PostForkReacquireResources::slot_list_type sl = postForkReacquireResourcesSignal_.slots();
518  sl.push_front(iSlot);
519  }
521 
522  // ---------- member functions ---------------------------
523 
524 
525  void connect(ActivityRegistry& iOther);
526 
530 
536  void copySlotsFrom(ActivityRegistry& iOther);
537 
538  private:
539  // forwards subprocess independent signals to slots connected to iOther
540  void connectGlobals(ActivityRegistry& iOther);
541 
542  // forwards subprocess dependent signals to slots connected to iOther
543  void connectLocals(ActivityRegistry& iOther);
544  };
545 }
546 #undef AR_WATCH_USING_METHOD
547 #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
sigc::signal< void > PostSource
signal is emitted after the source starts creating an Event
void watchPostModuleBeginLumi(PostModuleBeginLumi::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
PreSourceRun preSourceRunSignal_
void watchPrePathEndRun(PrePathEndRun::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PostSourceConstruction
signal is emitted after the source was construction
PostOpenFile postOpenFileSignal_
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
PreModuleEndRun preModuleEndRunSignal_
sigc::signal< void, ModuleDescription const & > PostModuleEndJob
signal is emitted after the module had done endJob
sigc::signal< void, std::string const &, HLTPathStatus const & > PostPathBeginRun
signal is emitted after all modules have finished for the Path for beginRun
void watchPreForkReleaseResources(PreForkReleaseResources::slot_type const &iSlot)
sigc::signal< void > PostOpenFile
signal is emitted after the source opens a file
sigc::signal< void, ModuleDescription const & > PreModuleBeginRun
signal is emitted before the module starts processing beginRun
sigc::signal< void, Run const &, EventSetup const & > PostBeginRun
PostModuleEndRun postModuleEndRunSignal_
void watchPostModule(PostModule::slot_type const &iSlot)
PostModuleEndLumi postModuleEndLumiSignal_
void watchPreProcessEvent(PreProcessEvent::slot_type const &iSlot)
sigc::signal< void, std::string const &, HLTPathStatus const & > PostPathEndLumi
signal is emitted after all modules have finished for the Path for endRun
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)
sigc::signal< void > PreSourceRun
signal is emitted before the source starts creating a Run
sigc::signal< void, RunID const &, Timestamp const & > PreBeginRun
void copySlotsFrom(ActivityRegistry &iOther)
PreEndLumi preEndLumiSignal_
signal is emitted before the endLumi is processed
void watchPostEndLumi(PostEndLumi::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PreModuleBeginJob
signal is emitted before the module does beginJob
PostSourceRun postSourceRunSignal_
sigc::signal< void > PostSourceRun
signal is emitted after the source starts creating a Run
PostSourceConstruction postSourceConstructionSignal_
PostBeginRun postBeginRunSignal_
signal is emitted after all modules have finished processing the beginRun
void watchPreModuleEndLumi(PreModuleEndLumi::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PreModule
signal is emitted before the module starts processing the Event
PreSourceConstruction preSourceConstructionSignal_
PostPathEndRun postPathEndRunSignal_
void watchPostPathEndLumi(PostPathEndLumi::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PostModuleBeginRun
signal is emitted after the module finished processing beginRun
PostPathBeginRun postPathBeginRunSignal_
sigc::signal< void, LuminosityBlock const &, EventSetup const & > PostEndLumi
sigc::signal< void, std::string const & > PrePathEndLumi
signal is emitted before starting to process a Path for endRun
PreForkReleaseResources preForkReleaseResourcesSignal_
void watchPreEndRun(PreEndRun::slot_type const &iSlot)
void watchPreModule(PreModule::slot_type const &iSlot)
sigc::signal< void, std::string const &, HLTPathStatus const & > PostPathEndRun
signal is emitted after all modules have finished for the Path for endRun
void watchJobFailure(JobFailure::slot_type const &iSlot)
convenience function for attaching to signal
sigc::signal< void > PreSource
signal is emitted before the source starts creating an Event
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_
sigc::signal< void, Event const &, EventSetup const & > PostProcessEvent
void watchPrePathBeginRun(PrePathBeginRun::slot_type const &iSlot)
PrePathEndRun prePathEndRunSignal_
sigc::signal< void, EventID const &, Timestamp const & > PreProcessEvent
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
sigc::signal< void > PostCloseFile
signal is emitted after the source opens a file
sigc::signal< void, ModuleDescription const & > PreModuleEndRun
signal is emitted before the module starts processing endRun
PostPathEndLumi postPathEndLumiSignal_
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
PostProcessEvent postProcessEventSignal_
signal is emitted after all modules have finished processing the Event
sigc::signal< void, std::string const & > PrePathBeginRun
signal is emitted before starting to process a Path for beginRun
sigc::signal< void > JobFailure
void watchPostModuleEndRun(PostModuleEndRun::slot_type const &iSlot)
PreModuleConstruction preModuleConstructionSignal_
sigc::signal< void, LuminosityBlockID const &, Timestamp const & > PreEndLumi
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)
sigc::signal< void, ModuleDescription const & > PostModule
signal is emitted after the module finished processing the Event
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
void watchPostBeginLumi(PostBeginLumi::slot_type const &iSlot)
sigc::signal< void > PreOpenFile
signal is emitted before the source opens a file
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)
sigc::signal< void > PreSourceLumi
signal is emitted before the source starts creating a Lumi
void watchPostPathBeginRun(PostPathBeginRun::slot_type const &iSlot)
sigc::signal< void, RunID const &, Timestamp const & > PreEndRun
sigc::signal< void, std::string const & > PreProcessPath
signal is emitted before starting to process a Path for an event
PostCloseFile postCloseFileSignal_
sigc::signal< void, std::string const & > PrePathBeginLumi
signal is emitted before starting to process a Path for beginLumi
sigc::signal< void, ModuleDescription const & > PreModuleEndJob
signal is emitted before the module does endJob
sigc::signal< void, std::string const & > PrePathEndRun
signal is emitted before starting to process a Path for endRun
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PreModuleBeginLumi
signal is emitted before the module starts processing beginLumi
void watchPreCloseFile(PreCloseFile::slot_type const &iSlot)
#define AR_WATCH_USING_METHOD_0(method)
sigc::signal< void, ModuleDescription const & > PreModuleConstruction
signal is emitted before the module is constructed
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_
sigc::signal< void, ModuleDescription const & > PostModuleBeginJob
signal is emitted after the module had done beginJob
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
sigc::signal< void, unsigned int, unsigned int > PostForkReacquireResources
signal is emitted after we forked the processes
#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
sigc::signal< void, LuminosityBlock const &, EventSetup const & > PostBeginLumi
PreModuleBeginJob preModuleBeginJobSignal_
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
void watchPreBeginLumi(PreBeginLumi::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PreModuleEndLumi
signal is emitted before the module starts processing endLumi
sigc::signal< void, std::string const &, HLTPathStatus const & > PostPathBeginLumi
signal is emitted after all modules have finished for the Path for beginLumi
sigc::signal< void, std::string const &, HLTPathStatus const & > PostProcessPath
signal is emitted after all modules have finished for the Path for an event
sigc::signal< void > PostBeginJob
sigc::signal< void, ModuleDescription const & > PreSourceConstruction
signal is emitted before the source is constructed
void watchPostEndRun(PostEndRun::slot_type const &iSlot)
sigc::signal< void, LuminosityBlockID const &, Timestamp const & > PreBeginLumi
void watchPreModuleBeginLumi(PreModuleBeginLumi::slot_type const &iSlot)
PostBeginJob postBeginJobSignal_
signal is emitted after all modules have gotten their beginJob called
sigc::signal< void > PreForkReleaseResources
signal is emitted before we fork the processes
PreModuleEndJob preModuleEndJobSignal_
sigc::signal< void > PostEndJob
sigc::signal< void, ModuleDescription const & > PostModuleEndLumi
signal is emitted after the module finished processing endLumi
#define AR_WATCH_USING_METHOD_2(method)
void watchPreProcessPath(PreProcessPath::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PostModuleBeginLumi
signal is emitted after the module finished processing beginLumi
PrePathBeginRun prePathBeginRunSignal_
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
sigc::signal< void, Run const &, EventSetup const & > PostEndRun
void watchPreModuleBeginRun(PreModuleBeginRun::slot_type const &iSlot)
PostPathBeginLumi postPathBeginLumiSignal_
void watchPostModuleEndLumi(PostModuleEndLumi::slot_type const &iSlot)
sigc::signal< void > PreCloseFile
signal is emitted before the Closesource closes a file
void watchPostPathBeginLumi(PostPathBeginLumi::slot_type const &iSlot)
sigc::signal< void, ModuleDescription const & > PostModuleEndRun
signal is emitted after the module finished processing endRun
void watchPostProcessPath(PostProcessPath::slot_type const &iSlot)
Definition: Run.h:33
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
sigc::signal< void > PostSourceLumi
signal is emitted after the source starts creating a Lumi
sigc::signal< void, ModuleDescription const & > PostModuleConstruction
signal is emitted after the module was construction
void connect(ActivityRegistry &iOther)
forwards our signals to slots connected to iOther
PostModuleConstruction postModuleConstructionSignal_