1 #ifndef FWCore_Framework_ESConsumesCollector_h
2 #define FWCore_Framework_ESConsumesCollector_h
42 class ESConsumesCollectorAdaptor;
43 class ESConsumesCollectorWithTagAdaptor;
49 std::unique_ptr<edm::eventsetup::impl::MayConsumeChooserCore> chooser)
57 std::unique_ptr<edm::eventsetup::impl::MayConsumeChooserCore>
chooser_;
70 template <
typename Product,
typename Record>
72 using namespace edm::eventsetup;
74 m_consumer->emplace_back(EventSetupRecordKey::makeKey<Record>(),
75 DataKey(DataKey::makeTypeTag<Product>(), tag.
data().c_str()),
83 template <
typename Product,
typename Record>
85 using namespace edm::eventsetup;
88 EventSetupRecordKey::makeKey<Record>(),
DataKey(DataKey::makeTypeTag<Product>(),
""),
"",
nullptr);
101 template <
typename Product,
typename Record,
typename Collector,
typename PTag>
105 iCollector->token() =
consumes(productTag.inputTag());
107 using namespace edm::eventsetup;
109 m_consumer->emplace_back(EventSetupRecordKey::makeKey<Record>(),
110 DataKey(DataKey::makeTypeTag<Product>(),
"@mayConsume"),
124 template <
typename RECORD>
136 template <
typename Product>
138 return consumesFrom<Product, RECORD>(
tag);
141 template <
typename Product>
143 return consumesFrom<Product, RECORD>();
146 template <
typename Product,
typename FromRecord,
typename Func,
typename PTag>
148 return registerMayConsume<Product, FromRecord>(
149 std::make_unique<eventsetup::impl::MayConsumeChooser<RECORD, Product, FromRecord, Func, PTag>>(
150 std::forward<Func>(
func)),
154 template <
typename Product,
typename FromRecord,
typename Func,
typename PTag>
156 token = mayConsumeFrom<Product, FromRecord>(std::forward<Func>(
func), productTag);
170 template <
typename TYPE,
typename REC>
172 return m_consumer->template consumesFrom<TYPE, REC>();
185 template <
typename TYPE,
typename REC>
187 return m_consumer->template consumesFrom<TYPE, REC>(m_tag);
ESConsumesCollector & setMayConsume(ESGetToken< Product, FromRecord > &token, Func &&func, PTag const &productTag)
edm::eventsetup::EventSetupRecordKey recordKey_
std::vector< ESConsumesInfoEntry > ESConsumesInfo
ESGetToken< TYPE, REC > consumes()
ESConsumesCollector(ESConsumesInfo *const iConsumer, unsigned int iTransitionID)
unsigned int m_transitionID
auto mayConsumeFrom(Func &&func, PTag const &productTag)
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t Func __host__ __device__ V int Func func
auto consumesFrom(ESInputTag const &tag)
auto consumes(ESInputTag const &tag)
ESConsumesCollector()=delete
ESConsumesCollectorWithTagAdaptor(ESConsumesCollector *iBase, ESInputTag iTag)
ESConsumesCollectorAdaptor(ESConsumesCollector *iBase)
auto registerMayConsume(std::unique_ptr< Collector > iCollector, PTag const &productTag)
ESConsumesCollector * m_consumer
edm::eventsetup::DataKey productKey_
ESGetToken< TYPE, REC > consumes()
std::unique_ptr< edm::eventsetup::impl::MayConsumeChooserCore > chooser_
ESConsumesCollectorT(ESConsumesInfo *const iConsumer, unsigned int iTransitionID)
ESConsumesCollector & operator=(ESConsumesCollector const &)=delete
edm::propagate_const< ESConsumesInfo * > m_consumer
ESConsumesCollectorAdaptor consumes()
ESConsumesCollector * m_consumer
ESConsumesInfoEntry(edm::eventsetup::EventSetupRecordKey const &iRecord, edm::eventsetup::DataKey const &iProduct, std::string moduleLabel, std::unique_ptr< edm::eventsetup::impl::MayConsumeChooserCore > chooser)