1 #ifndef FWCore_Framework_EventSetupRecordImplementation_h 2 #define FWCore_Framework_EventSetupRecordImplementation_h 36 namespace eventsetup {
37 struct ComponentDescription;
47 template <
typename PRODUCT>
49 return getHandleImpl<ESHandle>(iToken);
52 template <
typename PRODUCT>
55 "The Record being used to retrieve the product is not the default record for the product type");
56 return getHandleImpl<ESHandle>(iToken);
59 template <
typename PRODUCT>
61 return getHandleImpl<ESTransientHandle>(iToken);
64 template <
typename PRODUCT>
67 "The Record being used to retrieve the product is not the default record for the product type");
68 return getHandleImpl<ESTransientHandle>(iToken);
73 template <
typename PRODUCT>
75 return *getHandleImpl<ESHandle>(iToken);
77 template <
typename PRODUCT>
82 template <
typename PRODUCT>
85 "The Record being used to retrieve the product is not the default record for the product type");
86 return *getHandleImpl<ESHandle>(iToken);
88 template <
typename PRODUCT>
static EventSetupRecordKey keyForClass()
ESHandle< PRODUCT > getHandle(ESGetToken< PRODUCT, T > const &iToken) const
typename default_record< T >::RecordT default_record_t
EventSetupRecordImplementation()
ESTransientHandle< PRODUCT > getTransientHandle(ESGetToken< PRODUCT, T > const &iToken) const
ESTransientHandle< PRODUCT > getTransientHandle(ESGetToken< PRODUCT, edm::DefaultRecord > const &iToken) const
EventSetupRecordKey key() const override
ESHandle< PRODUCT > getHandle(ESGetToken< PRODUCT, edm::DefaultRecord > const &iToken) const
bool get(HolderT &iHolder) const