1 #ifndef FWCore_Framework_stream_callAbilities_h 2 #define FWCore_Framework_stream_callAbilities_h 35 template<
typename T ,
bool>
38 static void set(
B* iProd,
39 typename T::GlobalCache
const* iCache) {
40 static_cast<T*
>(iProd)->setGlobalCache(iCache);
42 static void endJob(
typename T::GlobalCache* iCache) {
43 T::globalEndJob(iCache);
48 static void set(
void* iProd,
49 void const* iCache) {}
58 template<
typename T,
bool>
62 typename T::GlobalCache
const* iGC,
63 std::shared_ptr<typename T::RunCache const>& oCache) {
64 oCache = T::globalBeginRun(iRun,iES,iGC);
68 static void set(
B* iProd,
typename T::RunCache
const* iCache) {
69 static_cast<T*
>(iProd)->setRunCache(iCache);
74 typename T::RunContext
const* iContext) {
75 T::globalEndRun(iRun, iES, iContext);
83 typename T::GlobalCache
const* ,
86 static void set(
void* iProd,
87 typename T::RunCache
const* iCache) {}
90 typename T::RunContext
const* ) {
99 template<
typename T,
bool>
103 typename T::RunContext
const* iRC,
104 std::shared_ptr<typename T::RunSummaryCache>& oCache) {
105 oCache = T::globalBeginRunSummary(iRun,iES,iRC);
111 typename T::RunSummaryCache* iCache) {
112 static_cast<T*
>(iProd)->endRunSummary(iRun,iES,iCache);
117 typename T::RunContext
const* iContext,
118 typename T::RunSummaryCache* iCache) {
119 T::globalEndRunSummary(iRun, iES, iContext,iCache);
127 typename T::RunContext
const* ,
133 typename T::RunSummaryCache
const* iCache) {}
136 typename T::RunContext
const*,
137 typename T::RunSummaryCache* ) {
146 template<
typename T,
bool>
150 typename T::RunContext
const* iRC,
151 std::shared_ptr<typename T::LuminosityBlockCache const>& oCache) {
152 oCache = T::globalBeginLuminosityBlock(Lumi,iES,iRC);
155 template <
typename B>
156 static void set(
B* iProd,
typename T::LuminosityBlockCache
const* iCache) {
157 static_cast<T*
>(iProd)->setLuminosityBlockCache(iCache);
162 typename T::LuminosityBlockContext
const* iContext) {
163 T::globalEndLuminosityBlock(Lumi, iES, iContext);
171 typename T::RunContext
const* ,
174 static void set(
void* iProd,
175 typename T::LuminosityBlockCache
const* iCache) {}
178 typename T::LuminosityBlockContext
const* ) {
186 template<
typename T,
bool>
190 typename T::LuminosityBlockContext
const* iRC,
191 std::shared_ptr<typename T::LuminosityBlockSummaryCache>& oCache) {
192 oCache = T::globalBeginLuminosityBlockSummary(Lumi,iES,iRC);
198 typename T::LuminosityBlockSummaryCache* iCache) {
199 static_cast<T*
>(iProd)->endLuminosityBlockSummary(iLumi,iES,iCache);
204 typename T::LuminosityBlockContext
const* iContext,
205 typename T::LuminosityBlockSummaryCache* iCache) {
206 T::globalEndLuminosityBlockSummary(Lumi, iES, iContext,iCache);
214 typename T::LuminosityBlockContext
const* ,
220 typename T::LuminosityBlockSummaryCache* iCache) {}
223 typename T::LuminosityBlockContext
const*,
224 typename T::LuminosityBlockSummaryCache* ) {
233 template<
typename T,
bool >
237 typename T::RunContext
const* iRC) {
238 T::globalBeginRunProduce(iRun,iES,iRC);
246 typename T::RunContext
const* iRC) {
255 template<
typename T,
bool bProduce,
bool bSummary>
259 typename T::RunContext
const*,
260 typename T::RunSummaryCache
const*) {}
267 typename T::RunContext
const* iRC,
268 typename T::RunSummaryCache
const*) {
269 T::globalEndRunProduce(iRun,iES,iRC);
277 typename T::RunContext
const* iRC,
278 typename T::RunSummaryCache
const* iRS) {
279 T::globalEndRunProduce(iRun,iES,iRC, iRS);
288 template<
typename T,
bool >
292 typename T::LuminosityBlockContext
const* iRC) {
293 T::globalBeginLuminosityBlockProduce(Lumi,iES,iRC);
301 typename T::LuminosityBlockContext
const* iRC) {
310 template<
typename T,
bool bProduce,
bool bSummary>
314 typename T::LuminosityBlockContext
const*,
315 typename T::LuminosityBlockSummaryCache
const*) {}
322 typename T::LuminosityBlockContext
const* iRC,
323 typename T::LuminosityBlockSummaryCache
const*) {
324 T::globalEndLuminosityBlockProduce(Lumi,iES,iRC);
332 typename T::LuminosityBlockContext
const* iRC,
333 typename T::LuminosityBlockSummaryCache
const* iRS) {
334 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 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 streamEndRunSummary(B *iProd, edm::Run const &iRun, edm::EventSetup const &iES, typename T::RunSummaryCache *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 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 const std::string B
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 *)
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 endRun(edm::Run const &, edm::EventSetup const &, typename T::RunContext const *)