CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
26 
27 namespace edm {
28  class EventSetup;
29  namespace eventsetup {
30  template< class T>
31  inline void eventSetupGetImplementation(EventSetup const& iEventSetup, T const*& iValue) {
32  T const* temp = heterocontainer::find<EventSetupRecordKey, T const>(iEventSetup);
33  if(0 == temp) {
34  throw NoRecordException<T>(iovSyncValueFrom(iEventSetup), recordDoesExist(iEventSetup, EventSetupRecordKey::makeKey<T>()));
35  }
36  iValue = temp;
37  }
38 
39  template< class T>
40  inline void eventSetupTryToGetImplementation(EventSetup const& iEventSetup, T const*& iValue) {
41  iValue = heterocontainer::find<EventSetupRecordKey, T const>(iEventSetup);
42  }
43 
44  }
45 }
46 
47 #endif
void eventSetupGetImplementation(EventSetup const &iEventSetup, T const *&iValue)
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