1 #ifndef FWCore_Framework_ESConsumesCollector_h 2 #define FWCore_Framework_ESConsumesCollector_h 46 std::unique_ptr<edm::eventsetup::impl::MayConsumeChooserCore> chooser)
54 std::unique_ptr<edm::eventsetup::impl::MayConsumeChooserCore>
chooser_;
67 template <
typename Product,
typename Record>
71 m_consumer->emplace_back(EventSetupRecordKey::makeKey<Record>(),
72 DataKey(DataKey::makeTypeTag<Product>(), tag.
data().c_str()),
80 template <
typename Product,
typename Record>
84 m_consumer->emplace_back(
85 EventSetupRecordKey::makeKey<Record>(),
DataKey(DataKey::makeTypeTag<Product>(),
""),
"",
nullptr);
91 template <
typename Product,
typename Record>
93 token = consumesFrom<Product, Record>(
tag);
97 template <
typename Product,
typename Record>
99 token = consumesFrom<Product, Record>();
105 : m_consumer{iConsumer}, m_transitionID{iTransitionID} {}
107 template <
typename Product,
typename Record,
typename Collector,
typename PTag>
111 setConsumes(iCollector->token(), productTag.inputTag());
115 m_consumer->emplace_back(EventSetupRecordKey::makeKey<Record>(),
116 DataKey(DataKey::makeTypeTag<Product>(),
"@mayConsume"),
127 unsigned int m_transitionID{0};
130 template <
typename RECORD>
141 template <
typename Product>
143 return consumesFrom<Product, RECORD>(
tag);
146 template <
typename Product>
148 return consumesFrom<Product, RECORD>();
151 template <
typename Product,
typename FromRecord,
typename Func,
typename PTag>
153 return registerMayConsume<Product, FromRecord>(
154 std::make_unique<eventsetup::impl::MayConsumeChooser<RECORD, Product, FromRecord, Func, PTag>>(
155 std::forward<Func>(
func)),
159 template <
typename Product,
typename FromRecord,
typename Func,
typename PTag>
161 token = mayConsumeFrom<Product, FromRecord>(std::forward<Func>(
func), productTag);
ESConsumesCollector & setMayConsume(ESGetToken< Product, FromRecord > &token, Func &&func, PTag const &productTag)
edm::eventsetup::EventSetupRecordKey recordKey_
std::vector< ESConsumesInfoEntry > ESConsumesInfo
ESConsumesCollector(ESConsumesInfo *const iConsumer, unsigned int iTransitionID)
auto mayConsumeFrom(Func &&func, PTag const &productTag)
auto consumesFrom(ESInputTag const &tag)
ESConsumesCollector & setConsumes(ESGetToken< Product, Record > &token)
auto consumes(ESInputTag const &tag)
auto registerMayConsume(std::unique_ptr< Collector > iCollector, PTag const &productTag)
edm::eventsetup::DataKey productKey_
std::unique_ptr< edm::eventsetup::impl::MayConsumeChooserCore > chooser_
ESConsumesCollectorT(ESConsumesInfo *const iConsumer, unsigned int iTransitionID)
ESConsumesCollector & setConsumes(ESGetToken< Product, Record > &token, ESInputTag const &tag)
ESConsumesInfoEntry(edm::eventsetup::EventSetupRecordKey const &iRecord, edm::eventsetup::DataKey const &iProduct, std::string moduleLabel, std::unique_ptr< edm::eventsetup::impl::MayConsumeChooserCore > chooser)