1 #ifndef FWCore_Framework_EventSetupRecord_h
2 #define FWCore_Framework_EventSetupRecord_h
70 namespace eventsetup {
71 struct ComponentDescription;
86 template<
typename HolderT>
87 void get(HolderT& iHolder)
const {
92 iHolder = HolderT(value, desc);
95 template<
typename HolderT>
96 void get(
char const* iName, HolderT& iHolder)
const {
100 iHolder = HolderT(value, desc);
102 template<
typename HolderT>
103 void get(std::string
const& iName, HolderT& iHolder)
const {
106 this->
getImplementation(value, iName.c_str(), desc, iHolder.transientAccessOnly);
107 iHolder = HolderT(value, desc);
110 template<
typename HolderT>
114 this->
getImplementation(value, iTag.data().c_str(), desc, iHolder.transientAccessOnly);
116 iHolder = HolderT(value, desc);
122 bool doGet(
DataKey const& aKey,
bool aGetTransiently =
false)
const;
186 bool iTransientAccessOnly)
const;
188 template <
typename DataT>
192 bool iTransientAccessOnly)
const {
193 DataKey dataKey(DataKey::makeTypeTag<DataT>(),
197 void const* pValue = this->
getFromProxy(dataKey, iDesc, iTransientAccessOnly);
201 iData =
reinterpret_cast<DataT
const*
> (pValue);
void getImplementation(DataT const *&iData, char const *iName, ComponentDescription const *&iDesc, bool iTransientAccessOnly) const
unsigned long long cacheIdentifier() const
void fillRegisteredDataKeys(std::vector< DataKey > &oToFill) const
clears the oToFill vector and then fills it with the keys for all registered data keys ...
bool wasGotten(DataKey const &aKey) const
virtual EventSetupRecordKey key() const =0
void addTraceInfoToCmsException(cms::Exception &iException, char const *iName, ComponentDescription const *, DataKey const &) const
EventSetup const & eventSetup() const
std::map< DataKey, DataProxy const * > proxies_
ComponentDescription const * providerDescription(DataKey const &aKey) const
unsigned long long cacheIdentifier_
DataProxy const * find(DataKey const &aKey) const
virtual ~EventSetupRecord()
void transientAccessRequested() const
Container::value_type value_type
bool add(DataKey const &iKey, DataProxy const *iProxy)
bool transientAccessRequested_
bool transientReset()
returns 'true' if a transient request has occurred since the last call to transientReset.
EventSetupRecord const & operator=(EventSetupRecord const &)
void validate(ComponentDescription const *, ESInputTag const &) const
void setEventSetup(EventSetup const *iEventSetup)
bool doGet(DataKey const &aKey, bool aGetTransiently=false) const
returns false if no data available for key
void changeStdExceptionToCmsException(char const *iExceptionWhatMessage, char const *iName, ComponentDescription const *, DataKey const &) const
void set(ValidityInterval const &)
void const * getFromProxy(DataKey const &iKey, ComponentDescription const *&iDesc, bool iTransientAccessOnly) const
ValidityInterval const & validityInterval() const
EventSetup const * eventSetup_
ValidityInterval validity_