1 #ifndef FWCore_Framework_stream_callAbilities_h
2 #define FWCore_Framework_stream_callAbilities_h
34 template<
typename T ,
bool>
38 typename T::GlobalCache
const* iCache) {
39 static_cast<T*
>(iProd)->setGlobalCache(iCache);
41 static void endJob(
typename T::GlobalCache* iCache) {
42 T::globalEndJob(iCache);
47 static void set(
void* iProd,
48 void const* iCache) {}
57 template<
typename T,
bool>
61 typename T::GlobalCache
const* iGC,
62 std::shared_ptr<typename T::RunCache const>& oCache) {
63 oCache = T::globalBeginRun(iRun,iES,iGC);
67 static void set(
B* iProd,
typename T::RunCache
const* iCache) {
68 static_cast<T*
>(iProd)->setRunCache(iCache);
73 typename T::RunContext
const* iContext) {
74 T::globalEndRun(iRun, iES, iContext);
82 typename T::GlobalCache
const* ,
85 static void set(
void* iProd,
86 typename T::RunCache
const* iCache) {}
89 typename T::RunContext
const* ) {
98 template<
typename T,
bool>
102 typename T::RunContext
const* iRC,
103 std::shared_ptr<typename T::RunSummaryCache>& oCache) {
104 oCache = T::globalBeginRunSummary(iRun,iES,iRC);
110 typename T::RunSummaryCache* iCache) {
111 static_cast<T*
>(iProd)->endRunSummary(iRun,iES,iCache);
116 typename T::RunContext
const* iContext,
117 typename T::RunSummaryCache* iCache) {
118 T::globalEndRunSummary(iRun, iES, iContext,iCache);
126 typename T::RunContext
const* ,
132 typename T::RunSummaryCache
const* iCache) {}
135 typename T::RunContext
const*,
136 typename T::RunSummaryCache* ) {
145 template<
typename T,
bool>
149 typename T::RunContext
const* iRC,
150 std::shared_ptr<typename T::LuminosityBlockCache const>& oCache) {
151 oCache = T::globalBeginLuminosityBlock(Lumi,iES,iRC);
154 template <
typename B>
155 static void set(
B* iProd,
typename T::LuminosityBlockCache
const* iCache) {
156 static_cast<T*
>(iProd)->setLuminosityBlockCache(iCache);
161 typename T::LuminosityBlockContext
const* iContext) {
162 T::globalEndLuminosityBlock(Lumi, iES, iContext);
170 typename T::RunContext
const* ,
173 static void set(
void* iProd,
174 typename T::LuminosityBlockCache
const* iCache) {}
177 typename T::LuminosityBlockContext
const* ) {
185 template<
typename T,
bool>
189 typename T::LuminosityBlockContext
const* iRC,
190 std::shared_ptr<typename T::LuminosityBlockSummaryCache>& oCache) {
191 oCache = T::globalBeginLuminosityBlockSummary(Lumi,iES,iRC);
197 typename T::LuminosityBlockSummaryCache* iCache) {
198 static_cast<T*
>(iProd)->endLuminosityBlockSummary(iLumi,iES,iCache);
203 typename T::LuminosityBlockContext
const* iContext,
204 typename T::LuminosityBlockSummaryCache* iCache) {
205 T::globalEndLuminosityBlockSummary(Lumi, iES, iContext,iCache);
213 typename T::LuminosityBlockContext
const* ,
219 typename T::LuminosityBlockSummaryCache* iCache) {}
222 typename T::LuminosityBlockContext
const*,
223 typename T::LuminosityBlockSummaryCache* ) {
232 template<
typename T,
bool >
236 typename T::RunContext
const* iRC) {
237 T::globalBeginRunProduce(iRun,iES,iRC);
245 typename T::RunContext
const* iRC) {
254 template<
typename T,
bool bProduce,
bool bSummary>
258 typename T::RunContext
const*,
259 typename T::RunSummaryCache
const*) {}
266 typename T::RunContext
const* iRC,
267 typename T::RunSummaryCache
const*) {
268 T::globalEndRunProduce(iRun,iES,iRC);
276 typename T::RunContext
const* iRC,
277 typename T::RunSummaryCache
const* iRS) {
278 T::globalEndRunProduce(iRun,iES,iRC, iRS);
287 template<
typename T,
bool >
291 typename T::LuminosityBlockContext
const* iRC) {
292 T::globalBeginLuminosityBlockProduce(Lumi,iES,iRC);
300 typename T::LuminosityBlockContext
const* iRC) {
309 template<
typename T,
bool bProduce,
bool bSummary>
313 typename T::LuminosityBlockContext
const*,
314 typename T::LuminosityBlockSummaryCache
const*) {}
321 typename T::LuminosityBlockContext
const* iRC,
322 typename T::LuminosityBlockSummaryCache
const*) {
323 T::globalEndLuminosityBlockProduce(Lumi,iES,iRC);
331 typename T::LuminosityBlockContext
const* iRC,
332 typename T::LuminosityBlockSummaryCache
const* iRS) {
333 T::globalEndLuminosityBlockProduce(Lumi,iES,iRC, iRS);
static void endLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext)
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC)
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::RunSummaryCache > &oCache)
static void globalEndLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, typename T::LuminosityBlockSummaryCache *)
static void endRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext)
static void set(void *iProd, typename T::LuminosityBlockCache const *iCache)
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC)
static void produce(edm::LuminosityBlock &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, typename T::LuminosityBlockSummaryCache const *)
static void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockContext const *, impl::dummy_ptr)
static void set(void *iProd, typename T::RunCache const *iCache)
static void streamEndRunSummary(B *iProd, edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunSummaryCache *iCache)
static void set(void *iProd, void const *iCache)
static void beginRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::GlobalCache const *iGC, std::shared_ptr< typename T::RunCache const > &oCache)
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC)
static void set(B *iProd, typename T::RunCache const *iCache)
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, std::shared_ptr< typename T::LuminosityBlockSummaryCache > &oCache)
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC)
static void globalEndRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *, typename T::RunSummaryCache *)
static void beginRun(edm::Run const &, edm::EventSetup const &, typename T::GlobalCache const *, impl::dummy_ptr)
static void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockContext const *)
static void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &, typename T::RunContext const *, impl::dummy_ptr)
static void beginRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *, impl::dummy_ptr)
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, typename T::RunSummaryCache const *iRS)
static void streamEndRunSummary(void *iProd, edm::Run const &, edm::EventSetup const &, typename T::RunSummaryCache const *iCache)
static void set(B *iProd, typename T::LuminosityBlockCache const *iCache)
static void endJob(typename T::GlobalCache *iCache)
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, typename T::LuminosityBlockSummaryCache const *iRS)
static void streamEndLuminosityBlockSummary(B *iProd, edm::LuminosityBlock const &iLumi, edm::EventSetup const &iES, typename T::LuminosityBlockSummaryCache *iCache)
static void globalEndRun(edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunContext const *iContext, typename T::RunSummaryCache *iCache)
static void endJob(void *iCache)
static void streamEndLuminosityBlockSummary(void *iProd, edm::LuminosityBlock const &, edm::EventSetup const &, typename T::LuminosityBlockSummaryCache *iCache)
static void produce(edm::Run &iRun, edm::EventSetup const &iES, typename T::RunContext const *iRC, typename T::RunSummaryCache const *)
static void produce(edm::Run &, edm::EventSetup const &, typename T::RunContext const *, typename T::RunSummaryCache const *)
volatile std::atomic< bool > shutdown_flag false
static void produce(edm::LuminosityBlock &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iRC, typename T::LuminosityBlockSummaryCache const *)
static void globalEndLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::LuminosityBlockContext const *iContext, typename T::LuminosityBlockSummaryCache *iCache)
static void beginLuminosityBlock(edm::LuminosityBlock const &Lumi, edm::EventSetup const &iES, typename T::RunContext const *iRC, std::shared_ptr< typename T::LuminosityBlockCache const > &oCache)
static void set(B *iProd, typename T::GlobalCache const *iCache)
static void endRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *)