CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
OccurrenceTraits.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_OccurrenceTraits_h
2 #define FWCore_Framework_OccurrenceTraits_h
3 
4 /*----------------------------------------------------------------------
5 
6 OccurrenceTraits:
7 
8 ----------------------------------------------------------------------*/
9 
19 
20 #include<string>
21 
22 namespace edm {
23  template <typename T, BranchActionType B> class OccurrenceTraits;
24 
25  template <>
27  public:
29  static BranchType const branchType_ = InEvent;
30  static bool const begin_ = true;
31  static bool const isEvent_ = true;
33  a->preProcessEventSignal_(ep->id(), ep->time());
34  }
36  Event ev(*ep, ModuleDescription());
37  a->postProcessEventSignal_(ev, *es);
38  }
39  static void prePathSignal(ActivityRegistry *a, std::string const& s) {
40  a->preProcessPathSignal_(s);
41  }
42  static void postPathSignal(ActivityRegistry *a, std::string const& s, HLTPathStatus const& status) {
43  a->postProcessPathSignal_(s, status);
44  }
46  a->preModuleSignal_(*md);
47  }
49  a->postModuleSignal_(*md);
50  }
51  };
52 
53  template <>
55  public:
57  static BranchType const branchType_ = InRun;
58  static bool const begin_ = true;
59  static bool const isEvent_ = false;
60  static void preScheduleSignal(ActivityRegistry *a, RunPrincipal const* ep) {
61  a->preBeginRunSignal_(ep->id(), ep->beginTime());
62  }
64  Run run(*ep, ModuleDescription());
65  a->postBeginRunSignal_(run, *es);
66  }
67  static void prePathSignal(ActivityRegistry *a, std::string const& s) {
69  }
70  static void postPathSignal(ActivityRegistry *a, std::string const& s, HLTPathStatus const& status) {
71  a->postPathBeginRunSignal_(s, status);
72  }
74  a->preModuleBeginRunSignal_(*md);
75  }
78  }
79  };
80 
81  template <>
83  public:
85  static BranchType const branchType_ = InRun;
86  static bool const begin_ = false;
87  static bool const isEvent_ = false;
88  static void preScheduleSignal(ActivityRegistry *a, RunPrincipal const* ep) {
89  a->preEndRunSignal_(ep->id(), ep->endTime());
90  }
92  Run run(*ep, ModuleDescription());
93  a->postEndRunSignal_(run, *es);
94  }
95  static void prePathSignal(ActivityRegistry *a, std::string const& s) {
96  a->prePathEndRunSignal_(s);
97  }
98  static void postPathSignal(ActivityRegistry *a, std::string const& s, HLTPathStatus const& status) {
99  a->postPathEndRunSignal_(s, status);
100  }
102  a->preModuleEndRunSignal_(*md);
103  }
105  a->postModuleEndRunSignal_(*md);
106  }
107  };
108 
109  template <>
111  public:
113  static BranchType const branchType_ = InLumi;
114  static bool const begin_ = true;
115  static bool const isEvent_ = false;
117  a->preBeginLumiSignal_(ep->id(), ep->beginTime());
118  }
121  a->postBeginLumiSignal_(lumi, *es);
122  }
123  static void prePathSignal(ActivityRegistry *a, std::string const& s) {
125  }
126  static void postPathSignal(ActivityRegistry *a, std::string const& s, HLTPathStatus const& status) {
127  a->postPathBeginLumiSignal_(s, status);
128  }
130  a->preModuleBeginLumiSignal_(*md);
131  }
134  }
135  };
136 
137  template <>
139  public:
141  static BranchType const branchType_ = InLumi;
142  static bool const begin_ = false;
143  static bool const isEvent_ = false;
145  a->preEndLumiSignal_(ep->id(), ep->beginTime());
146  }
149  a->postEndLumiSignal_(lumi, *es);
150  }
151  static void prePathSignal(ActivityRegistry *a, std::string const& s) {
152  a->prePathEndLumiSignal_(s);
153  }
154  static void postPathSignal(ActivityRegistry *a, std::string const& s, HLTPathStatus const& status) {
155  a->postPathEndLumiSignal_(s, status);
156  }
158  a->preModuleEndLumiSignal_(*md);
159  }
161  a->postModuleEndLumiSignal_(*md);
162  }
163  };
164 }
165 #endif
static void preModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
PreModuleBeginLumi preModuleBeginLumiSignal_
PreBeginLumi preBeginLumiSignal_
signal is emitted after the Lumi has been created by the InputSource but before any modules have seen...
static void postModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
PreEndRun preEndRunSignal_
signal is emitted before the endRun is processed
static void postModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
static void postModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
Timestamp const & beginTime() const
static void prePathSignal(ActivityRegistry *a, std::string const &s)
static void preScheduleSignal(ActivityRegistry *a, LuminosityBlockPrincipal const *ep)
PreModuleEndRun preModuleEndRunSignal_
tuple lumi
Definition: fjr2json.py:35
static void prePathSignal(ActivityRegistry *a, std::string const &s)
PostModuleEndRun postModuleEndRunSignal_
PostModuleEndLumi postModuleEndLumiSignal_
static void preModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
EventID const & id() const
static void preScheduleSignal(ActivityRegistry *a, RunPrincipal const *ep)
PreEndLumi preEndLumiSignal_
signal is emitted before the endLumi is processed
PostBeginRun postBeginRunSignal_
signal is emitted after all modules have finished processing the beginRun
PostPathEndRun postPathEndRunSignal_
PostPathBeginRun postPathBeginRunSignal_
BranchType
Definition: BranchType.h:11
Timestamp const & time() const
PreModuleBeginRun preModuleBeginRunSignal_
static void preScheduleSignal(ActivityRegistry *a, LuminosityBlockPrincipal const *ep)
PrePathBeginLumi prePathBeginLumiSignal_
PrePathEndRun prePathEndRunSignal_
Timestamp const & beginTime() const
Definition: RunPrincipal.h:54
PostPathEndLumi postPathEndLumiSignal_
static void postModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
PostProcessEvent postProcessEventSignal_
signal is emitted after all modules have finished processing the Event
static void postPathSignal(ActivityRegistry *a, std::string const &s, HLTPathStatus const &status)
static void postScheduleSignal(ActivityRegistry *a, RunPrincipal *ep, EventSetup const *es)
static void postScheduleSignal(ActivityRegistry *a, RunPrincipal *ep, EventSetup const *es)
Timestamp const & endTime() const
Definition: RunPrincipal.h:58
PostEndRun postEndRunSignal_
signal is emitted after all modules have finished processing the Run
static void postPathSignal(ActivityRegistry *a, std::string const &s, HLTPathStatus const &status)
PostModuleBeginLumi postModuleBeginLumiSignal_
PostEndLumi postEndLumiSignal_
signal is emitted after all modules have finished processing the Lumi
static void preScheduleSignal(ActivityRegistry *a, EventPrincipal const *ep)
static void postScheduleSignal(ActivityRegistry *a, EventPrincipal *ep, EventSetup const *es)
RunID const & id() const
Definition: RunPrincipal.h:50
static void postPathSignal(ActivityRegistry *a, std::string const &s, HLTPathStatus const &status)
PrePathEndLumi prePathEndLumiSignal_
PostModuleBeginRun postModuleBeginRunSignal_
PreProcessPath preProcessPathSignal_
PreProcessEvent preProcessEventSignal_
signal is emitted after the Event has been created by the InputSource but before any modules have see...
static void postPathSignal(ActivityRegistry *a, std::string const &s, HLTPathStatus const &status)
static void postPathSignal(ActivityRegistry *a, std::string const &s, HLTPathStatus const &status)
static void preModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
static void preScheduleSignal(ActivityRegistry *a, RunPrincipal const *ep)
PreModuleEndLumi preModuleEndLumiSignal_
double a
Definition: hdecay.h:121
static void prePathSignal(ActivityRegistry *a, std::string const &s)
tuple status
Definition: ntuplemaker.py:245
static void postModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
static void preModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
static void prePathSignal(ActivityRegistry *a, std::string const &s)
PrePathBeginRun prePathBeginRunSignal_
static void preModuleSignal(ActivityRegistry *a, ModuleDescription const *md)
static void prePathSignal(ActivityRegistry *a, std::string const &s)
PostPathBeginLumi postPathBeginLumiSignal_
static void postScheduleSignal(ActivityRegistry *a, LuminosityBlockPrincipal *ep, EventSetup const *es)
Definition: Run.h:33
static void postScheduleSignal(ActivityRegistry *a, LuminosityBlockPrincipal *ep, EventSetup const *es)
PostProcessPath postProcessPathSignal_
PreBeginRun preBeginRunSignal_
signal is emitted after the Run has been created by the InputSource but before any modules have seen ...
PostBeginLumi postBeginLumiSignal_
signal is emitted after all modules have finished processing the beginLumi