CMS 3D CMS Logo

eventSetupGetImplementation.h
Go to the documentation of this file.
1 #ifndef Framework_eventSetupGetImplementation_h
2 #define Framework_eventSetupGetImplementation_h
3 // -*- C++ -*-
4 //
5 // Package: Framework
6 // Class : eventSetupGetImplementation
7 //
16 //
17 // Author: Chris Jones
18 // Created: Fri Mar 25 16:31:17 EST 2005
19 //
20 
21 // system include files
22 
23 // user include files
27 
28 namespace edm {
29  class EventSetup;
30  namespace eventsetup {
31  template< class T>
32  inline void eventSetupGetImplementation(EventSetup const& iEventSetup, T const*& iValue) {
33  T const* temp = heterocontainer::find<EventSetupRecordKey, T const>(iEventSetup);
34  if(0 == temp) {
35  throw NoRecordException<T>(iovSyncValueFrom(iEventSetup), recordDoesExist(iEventSetup, EventSetupRecordKey::makeKey<T>()));
36  }
37  iValue = temp;
38  }
39 
40  template< class T>
41  inline void eventSetupTryToGetImplementation(EventSetup const& iEventSetup, T const*& iValue) {
42  iValue = heterocontainer::find<EventSetupRecordKey, T const>(iEventSetup);
43  }
44 
45  }
46 }
47 
48 #endif
void eventSetupGetImplementation(EventSetup const &iEventSetup, T const *&iValue)
HLT enums.
bool recordDoesExist(edm::EventSetup const &, edm::eventsetup::EventSetupRecordKey const &)
IOVSyncValue const & iovSyncValueFrom(edm::EventSetup const &)
void eventSetupTryToGetImplementation(EventSetup const &iEventSetup, T const *&iValue)
long double T