1 #ifndef FWCore_Framework_EventSetupRecordImpl_h 2 #define FWCore_Framework_EventSetupRecordImpl_h 75 class ESHandleExceptionFactory;
79 namespace eventsetup {
80 struct ComponentDescription;
93 bool doGet(
DataKey const& aKey,
bool aGetTransiently =
false)
const;
98 bool wasGotten(
DataKey const& aKey)
const;
121 void fillRegisteredDataKeys(std::vector<DataKey>& oToFill)
const;
123 std::vector<ComponentDescription const*> componentsForRegisteredDataKeys()
const;
133 bool transientReset();
138 void getESProducers(std::vector<ComponentDescription const*>& esproducers);
151 void changeStdExceptionToCmsException(
char const* iExceptionWhatMessage,
163 void const* getFromProxy(
DataKey const& iKey,
165 bool iTransientAccessOnly)
const;
168 bool iTransientAccessOnly,
170 DataKey const*& oGottenKey)
const;
172 template <
typename DataT>
176 bool iTransientAccessOnly,
177 std::shared_ptr<ESHandleExceptionFactory>& whyFailedFactory)
const {
178 DataKey dataKey(DataKey::makeTypeTag<DataT>(), iName, DataKey::kDoNotCopyMemory);
180 void const* pValue = this->getFromProxy(dataKey, iDesc, iTransientAccessOnly);
181 if (
nullptr == pValue) {
184 return std::make_exception_ptr(ex);
187 iData =
reinterpret_cast<DataT const*
>(pValue);
190 template <
typename DataT>
193 bool iTransientAccessOnly,
195 std::shared_ptr<ESHandleExceptionFactory>& whyFailedFactory)
const {
196 DataKey const* dataKey =
nullptr;
200 return std::make_exception_ptr(ex);
205 assert(iProxyIndex.
value() > -1 and
207 void const* pValue = this->getFromProxy(iProxyIndex, iTransientAccessOnly, oDesc, dataKey);
208 if (
nullptr == pValue) {
211 return std::make_exception_ptr(ex);
214 iData =
reinterpret_cast<DataT const*
>(pValue);
ValidityInterval validity_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
unsigned long long cacheIdentifier_
std::shared_ptr< ESHandleExceptionFactory > makeESHandleExceptionFactory(T &&iFunctor)
unsigned long long cacheIdentifier() const
EventSetupImpl const & eventSetup() const
void setEventSetup(EventSetupImpl const *iEventSetup)
std::atomic< bool > transientAccessRequested_
void getImplementation(DataT const *&iData, char const *iName, ComponentDescription const *&iDesc, bool iTransientAccessOnly, std::shared_ptr< ESHandleExceptionFactory > &whyFailedFactory) const
std::vector< DataKey > keysForProxies_
std::vector< DataProxy const * > proxies_
Namespace of DDCMS conversion namespace.
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
void transientAccessRequested() const
constexpr Value_t value() const noexcept
EventSetupImpl const * eventSetup_
void getImplementation(DataT const *&iData, ESProxyIndex iProxyIndex, bool iTransientAccessOnly, ComponentDescription const *&oDesc, std::shared_ptr< ESHandleExceptionFactory > &whyFailedFactory) const
ValidityInterval const & validityInterval() const
EventSetupRecordKey const & key() const