|
|
Go to the documentation of this file. 1 #ifndef FWCore_Framework_ESProducer_h
2 #define FWCore_Framework_ESProducer_h
89 namespace eventsetup {
95 template <
typename T,
typename TRecord,
typename TDecorator>
117 template <
typename Record>
123 for (
size_t i = 0;
i <
info->size(); ++
i) {
124 auto chooserBase = (*info)[
i].chooser_.get();
137 template <
typename T>
142 template <
typename T>
146 template <
typename T>
151 template <
typename T,
typename TDecorator>
160 template <
typename T,
typename TReturn,
typename TRecord>
170 template <
typename T,
typename TReturn,
typename TRecord,
typename TArg>
172 TReturn (
T ::*iMethod)(
const TRecord&),
178 unsigned int iovIndex = 0;
179 auto temp = std::make_shared<CallbackType>(
180 iThis, iMethod,
id,
createDecoratorFrom(iThis, static_cast<const TRecord*>(
nullptr), iDec));
182 std::make_shared<std::pair<unsigned int, std::shared_ptr<CallbackType>>>(iovIndex,
std::move(
temp));
185 static_cast<const TRecord*>(
nullptr),
192 template <
typename CallbackT,
typename TList,
typename TRecord>
193 void registerProducts(std::shared_ptr<std::pair<
unsigned int, std::shared_ptr<CallbackT>>> iCallback,
195 const TRecord* iRecord,
197 registerProduct(iCallback, static_cast<const typename TList::tail_type*>(
nullptr), iRecord, iLabel);
201 template <
typename CallbackT,
typename TRecord>
202 void registerProducts(std::shared_ptr<std::pair<
unsigned int, std::shared_ptr<CallbackT>>>,
209 template <
typename CallbackT,
typename TProduct,
typename TRecord>
210 void registerProduct(std::shared_ptr<std::pair<
unsigned int, std::shared_ptr<CallbackT>>> iCallback,
219 template <
typename CallbackT,
typename TProduct,
typename TRecord,
int IIndex>
220 void registerProduct(std::shared_ptr<std::pair<
unsigned int, std::shared_ptr<CallbackT>>> iCallback,
226 "Unnamed Label\nthe index ",
228 " was never assigned a name in the 'setWhatProduced' method");
~ESProducer() noexcept(false) override
std::vector< std::vector< ESProxyIndex > > itemsToGetFromRecords_
auto setWhatProduced(T *iThis, const std::string &iLabel)
std::vector< std::vector< ESRecordIndex > > recordsUsedDuringGet_
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
ESProxyIndex const * getTokenIndices(unsigned int iIndex) const
ESConsumesCollectorT< TRecord > setWhatProduced(T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
void registerProducts(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
const TDecorator & createDecoratorFrom(T *, const TRecord *, const TDecorator &iDec)
static const std::string & def()
void registerFactory(std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
ESProducer const & operator=(const ESProducer &)=delete
auto setWhatProduced(T *iThis, TReturn(T ::*iMethod)(const TRecord &), const es::Label &iLabel={})
void registerProducts(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
void updateFromMayConsumes(unsigned int iIndex, const Record &iRecord)
void registerProduct(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TProduct *, const TRecord *, const es::Label &iLabel)
std::vector< std::string > labels_
void updateLookup(eventsetup::ESRecordsToProxyIndices const &) final
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
auto setWhatProduced(T *iThis, const char *iLabel)
auto setWhatProduced(T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
void registerProduct(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const es::L< TProduct, IIndex > *, const TRecord *, const es::Label &iLabel)