Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-08-18 22:30:17

0001 #ifndef FWCore_Framework_one_implementorsMethods_h
0002 #define FWCore_Framework_one_implementorsMethods_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     FWCore/Framework
0006 // File  :     implementorsMethods
0007 //
0008 /**\file implementorsMethods.h "FWCore/Framework/src/one/implementorsMethods.h"
0009 
0010  Description: [one line class summary]
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:  Chris Jones
0018 //         Created:  Thu, 09 May 2013 20:13:53 GMT
0019 //
0020 
0021 // system include files
0022 
0023 // user include files
0024 #include "FWCore/Framework/interface/one/implementors.h"
0025 #include "FWCore/Framework/interface/SharedResourcesRegistry.h"
0026 #include "FWCore/Framework/interface/SharedResourcesAcquirer.h"
0027 
0028 // forward declarations
0029 
0030 namespace edm {
0031   namespace one {
0032     namespace impl {
0033       template <typename T>
0034       void SharedResourcesUser<T>::usesResource(std::string const& iName) {
0035         resourceNames_.insert(iName);
0036         SharedResourcesRegistry::instance()->registerSharedResource(iName);
0037       }
0038       template <typename T>
0039       void SharedResourcesUser<T>::usesResource() {
0040         this->usesResource(SharedResourcesRegistry::kLegacyModuleResourceName);
0041       }
0042 
0043       template <typename T>
0044       SharedResourcesAcquirer SharedResourcesUser<T>::createAcquirer() {
0045         std::vector<std::string> v(resourceNames_.begin(), resourceNames_.end());
0046         return SharedResourcesRegistry::instance()->createAcquirer(v);
0047       }
0048 
0049       template <typename T>
0050       void RunWatcher<T>::doBeginRun_(Run const& rp, EventSetup const& c) {
0051         this->beginRun(rp, c);
0052       }
0053       template <typename T>
0054       void RunWatcher<T>::doEndRun_(Run const& rp, EventSetup const& c) {
0055         this->endRun(rp, c);
0056       }
0057 
0058       template <typename T>
0059       void LuminosityBlockWatcher<T>::doBeginLuminosityBlock_(LuminosityBlock const& rp, EventSetup const& c) {
0060         this->beginLuminosityBlock(rp, c);
0061       }
0062       template <typename T>
0063       void LuminosityBlockWatcher<T>::doEndLuminosityBlock_(LuminosityBlock const& rp, EventSetup const& c) {
0064         this->endLuminosityBlock(rp, c);
0065       }
0066 
0067       template <typename T>
0068       void WatchProcessBlock<T>::doBeginProcessBlock_(ProcessBlock const& pb) {
0069         this->beginProcessBlock(pb);
0070       }
0071 
0072       template <typename T>
0073       void WatchProcessBlock<T>::doEndProcessBlock_(ProcessBlock const& pb) {
0074         this->endProcessBlock(pb);
0075       }
0076 
0077       template <typename T>
0078       void BeginProcessBlockProducer<T>::doBeginProcessBlockProduce_(ProcessBlock& pb) {
0079         this->beginProcessBlockProduce(pb);
0080       }
0081 
0082       template <typename T>
0083       void EndProcessBlockProducer<T>::doEndProcessBlockProduce_(ProcessBlock& pb) {
0084         this->endProcessBlockProduce(pb);
0085       }
0086 
0087       template <typename T>
0088       void BeginRunProducer<T>::doBeginRunProduce_(Run& rp, EventSetup const& c) {
0089         this->beginRunProduce(rp, c);
0090       }
0091 
0092       template <typename T>
0093       void EndRunProducer<T>::doEndRunProduce_(Run& rp, EventSetup const& c) {
0094         this->endRunProduce(rp, c);
0095       }
0096 
0097       template <typename T>
0098       void BeginLuminosityBlockProducer<T>::doBeginLuminosityBlockProduce_(LuminosityBlock& rp, EventSetup const& c) {
0099         this->beginLuminosityBlockProduce(rp, c);
0100       }
0101 
0102       template <typename T>
0103       void EndLuminosityBlockProducer<T>::doEndLuminosityBlockProduce_(LuminosityBlock& rp, EventSetup const& c) {
0104         this->endLuminosityBlockProduce(rp, c);
0105       }
0106     }  // namespace impl
0107   }    // namespace one
0108 }  // namespace edm
0109 
0110 #endif