CMS 3D CMS Logo

EventSetup.h
Go to the documentation of this file.
1 #ifndef DataFormats_FWLite_EventSetup_h
2 #define DataFormats_FWLite_EventSetup_h
3 // -*- C++ -*-
4 //
5 // Package: FWLite
6 // Class : EventSetup
7 //
41 //
42 // Original Author:
43 // Created: Thu Dec 10 15:57:46 CST 2009
44 //
45 
46 // system include files
47 #include <vector>
48 #include <string>
49 
50 // user include files
54 
55 // forward declarations
56 class TFile;
57 
58 namespace edm {
59  class EventBase;
60 }
61 
62 namespace fwlite
63 {
64  class Record;
65  typedef unsigned int RecordID;
66 
67  class EventSetup {
68 
69  public:
70  EventSetup(TFile*);
71  virtual ~EventSetup();
72 
73  // ---------- const member functions ---------------------
74  const Record& get(const RecordID&) const;
75 
80  RecordID recordID(const char* iRecordName) const;
81 
84  bool exists(const char* iRecordName) const;
85 
86  std::vector<std::string> namesOfAvailableRecords() const;
87  // ---------- static member functions --------------------
88 
89  // ---------- member functions ---------------------------
90  //void syncTo(unsigned long iRun, unsigned long iLumi);
91  //void syncTo(const edm::EventID&);
92 
95  void syncTo(const edm::EventID&, const edm::Timestamp&);
96 
97  //void autoSyncTo(const edm::EventBase&);
98 
99 
100  private:
101  EventSetup(const EventSetup&) = delete; // stop default
102 
103  const EventSetup& operator=(const EventSetup&) = delete; // stop default
104 
105  // ---------- member data --------------------------------
108 
109  mutable TFile* m_file;
110 
111  mutable std::vector<Record*> m_records;
112  };
113 } /* fwlite */
114 
115 
116 #endif
unsigned int RecordID
Definition: EventSetup.h:64
std::vector< Record * > m_records
Definition: EventSetup.h:111
edm::EventID m_syncedEvent
Definition: EventSetup.h:106
edm::Timestamp m_syncedTimestamp
Definition: EventSetup.h:107
HLT enums.