#include <DataProxyProvider.h>
Classes | |
class | DataProxyContainer |
class | KeyedProxies |
struct | PerRecordInfo |
Public Member Functions | |
void | createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs) |
DataProxyProvider () | |
DataProxyProvider (const DataProxyProvider &)=delete | |
const ComponentDescription & | description () const |
void | fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const |
virtual void | initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs) |
bool | isUsingRecord (const EventSetupRecordKey &key) const |
KeyedProxies & | keyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0) |
const DataProxyProvider & | operator= (const DataProxyProvider &)=delete |
void | setAppendToDataLabel (const edm::ParameterSet &) |
void | setDescription (const ComponentDescription &iDescription) |
virtual void | updateLookup (ESRecordsToProxyIndices const &) |
std::set< EventSetupRecordKey > | usingRecords () const |
virtual | ~DataProxyProvider () noexcept(false) |
Static Public Member Functions | |
static void | prevalidate (ConfigurationDescriptions &) |
Protected Types | |
using | KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy >>> |
Protected Member Functions | |
virtual KeyedProxiesVector | registerProxies (const EventSetupRecordKey &, unsigned int iovIndex)=0 |
template<class T > | |
void | usingRecord () |
void | usingRecordWithKey (const EventSetupRecordKey &key) |
Private Attributes | |
std::string | appendToDataLabel_ |
DataProxyContainer | dataProxyContainer_ |
ComponentDescription | description_ |
Description: Lowest level base class for modules which produce data for the EventSetup system.
Usage:
In most cases, the methods in this class are used exclusively by the Framework. Usually, EventSetup modules producing data inherit from the ESProducer base class which inherits from this class. The ESProducer base class takes care of overriding the registerProxies function and calling usingRecord or usingRecordWithKey.
In cases where the ESProducer base class is not used (PoolDBESSource/ CondDBESSource is the main such class) then the registerProxies function must be overridden. For the same EventSetupRecordKey, the vector returned should contain the same DataKeys in the same order for all the different iovIndexes. DataProxies associated with the same EventSetupRecordKey should have caches that use different memory, but other than that they should also be the same.
Classes that derive from this class should also call usingRecord or usingRecordWithKey in their constructor to announce the records they provide data for.
All other functions are intended for use by the Framework or tests and should not be called in classes derived from DataProxyProvider. They are primarily used when initializing the EventSetup system so the DataProxies are available for use when needed.
Definition at line 64 of file DataProxyProvider.h.
|
protected |
Definition at line 196 of file DataProxyProvider.h.
edm::eventsetup::DataProxyProvider::DataProxyProvider | ( | ) |
Definition at line 31 of file DataProxyProvider.cc.
|
delete |
|
virtualnoexcept |
Definition at line 33 of file DataProxyProvider.cc.
|
inline |
Definition at line 166 of file DataProxyProvider.h.
References edm::eventsetup::DataProxyProvider::DataProxyContainer::createKeyedProxies(), dataProxyContainer_, and initConcurrentIOVs().
|
inline |
Definition at line 171 of file DataProxyProvider.h.
References description_.
Referenced by keyedProxies(), edm::eventsetup::EventSetupRecordProvider::proxyProvider(), and edm::eventsetup::EventSetupRecordProvider::proxyProviderDescriptions().
|
inline |
Definition at line 160 of file DataProxyProvider.h.
References dataProxyContainer_, and edm::eventsetup::DataProxyProvider::DataProxyContainer::fillRecordsNotAllowingConcurrentIOVs().
|
inlinevirtual |
Reimplemented in CondDBESSource.
Definition at line 164 of file DataProxyProvider.h.
Referenced by createKeyedProxies().
|
inline |
Definition at line 158 of file DataProxyProvider.h.
References dataProxyContainer_, and edm::eventsetup::DataProxyProvider::DataProxyContainer::isUsingRecord().
DataProxyProvider::KeyedProxies & edm::eventsetup::DataProxyProvider::keyedProxies | ( | const EventSetupRecordKey & | iRecordKey, |
unsigned int | iovIndex = 0 |
||
) |
Definition at line 191 of file DataProxyProvider.cc.
References appendToDataLabel_, dataProxyContainer_, description(), edm::eventsetup::DataProxyProvider::KeyedProxies::insert(), edm::eventsetup::DataProxyProvider::DataProxyContainer::keyedProxies(), eostools::move(), registerProxies(), AlCaHLTBitMon_QueryRunRegistry::string, edm::eventsetup::swap(), groupFilesInBlocks::temp, and edm::eventsetup::DataProxyProvider::KeyedProxies::unInitialized().
|
delete |
|
static |
Used to add parameters available to all inheriting classes
Definition at line 220 of file DataProxyProvider.cc.
References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::defaultDescription(), edm::ParameterSetDescription::isLabelUnused(), edm::eventsetup::kAppendToDataLabel(), AlCaHLTBitMon_QueryRunRegistry::string, and findQualityFiles::v.
|
protectedpure virtual |
Implemented in FWLiteESSource, CondDBESSource, edm::ESProxyFactoryProducer, and edm::test::EventSetupTestHelper.
Referenced by keyedProxies().
void edm::eventsetup::DataProxyProvider::setAppendToDataLabel | ( | const edm::ParameterSet & | iToAppend | ) |
This method is only to be called by the framework, it sets the string which will be appended to the labels of all data products being produced
Definition at line 180 of file DataProxyProvider.cc.
References appendToDataLabel_, cms::cuda::assert(), edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by edm::eventsetup::ComponentMaker< edm::eventsetup::LooperMakerTraits, TType >::setPostConstruction().
|
inline |
Definition at line 175 of file DataProxyProvider.h.
References description_.
Referenced by edm::eventsetup::ComponentMaker< edm::eventsetup::LooperMakerTraits, TType >::setDescription().
|
virtual |
|
inlineprotected |
Definition at line 190 of file DataProxyProvider.h.
References usingRecordWithKey().
|
inline |
Definition at line 159 of file DataProxyProvider.h.
References dataProxyContainer_, and edm::eventsetup::DataProxyProvider::DataProxyContainer::usingRecords().
|
inlineprotected |
Definition at line 194 of file DataProxyProvider.h.
References dataProxyContainer_, and edm::eventsetup::DataProxyProvider::DataProxyContainer::usingRecordWithKey().
Referenced by CondDBESSource::CondDBESSource(), FWLiteESSource::delaySettingRecords(), edm::ESProxyFactoryProducer::registerFactoryWithKey(), and usingRecord().
|
private |
Definition at line 203 of file DataProxyProvider.h.
Referenced by keyedProxies(), and setAppendToDataLabel().
|
private |
Definition at line 201 of file DataProxyProvider.h.
Referenced by edm::eventsetup::DataProxyProvider::KeyedProxies::contains(), createKeyedProxies(), fillRecordsNotAllowingConcurrentIOVs(), edm::eventsetup::DataProxyProvider::KeyedProxies::insert(), isUsingRecord(), keyedProxies(), edm::eventsetup::DataProxyProvider::KeyedProxies::recordKey(), edm::eventsetup::DataProxyProvider::KeyedProxies::size(), usingRecords(), and usingRecordWithKey().
|
private |
Definition at line 202 of file DataProxyProvider.h.
Referenced by description(), and setDescription().