CMS 3D CMS Logo

ESConsumesCollector.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_ESConsumesCollector_h
2 #define FWCore_Framework_ESConsumesCollector_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Class : edm::ConsumesCollector
7 //
26 //
27 // Original Author: Kyle Knoepfel
28 // Created: Fri, 02 Oct 2018 12:44:47 GMT
29 //
30 
36 
37 namespace edm {
39  public:
40 
41  ESConsumesCollector() = delete;
42  ESConsumesCollector(ESConsumesCollector const&) = default;
46 
47  // ---------- member functions ---------------------------
48  template <typename Product>
49  auto consumes(ESInputTag const& tag) {
50  return ESGetTokenT<Product>{tag};
51  }
52 
53  template <typename Product, typename Record>
54  auto consumes(ESInputTag const& tag) {
55  return ESGetTokenT<Product>{tag};
56  }
57 
58  template <typename Product>
60  return ESGetTokenT<Product>{tag};
61  }
62 
63  private:
64  //only ESProducer is allowed to make an instance of this class
65  friend class ESProducer;
66 
67  explicit ESConsumesCollector(ESProducer* const iConsumer) :
68  m_consumer{iConsumer}
69  {}
70 
71  // ---------- member data --------------------------------
73  };
74 }
75 
76 
77 #endif
ESConsumesCollector & operator=(ESConsumesCollector const &)=default
edm::propagate_const< ESProducer * > m_consumer
auto consumes(ESInputTag const &tag)
ESConsumesCollector(ESProducer *const iConsumer)
HLT enums.
auto consumes(eventsetup::EventSetupRecordKey const &, ESInputTag const &tag)
auto consumes(ESInputTag const &tag)