10 #include <framework/database/DBStoreEntry.h> 
   11 #include <framework/datastore/DataStore.h> 
   12 #include <framework/datastore/StoreObjPtr.h> 
   13 #include <framework/dataobjects/EventMetaData.h> 
   18 #include <unordered_map> 
   44     template<
class T> 
static std::string 
objectName(
const std::string& name) { 
return DataStore::objectName<T>(name); }
 
   50     template<
class T> 
static std::string 
arrayName(
const std::string& name) { 
return DataStore::arrayName<T>(name); }
 
   71                            const TClass* objClass, 
bool array, 
bool required = 
true);
 
   87                            bool array, 
bool required = 
true)
 
  126     void reset(
bool keepEntries = 
false);
 
Class to hold one entry from the ConditionsDB in the DBStore.
EPayloadType
Possible Store entry types.
@ c_Object
A ROOT file containing a object with the name of the DBStoreEntry.
Singleton class to cache database objects.
StoreObjPtr< EventMetaData > m_storeEvent
StoreObjPtr for the EventMetaData to get the current experiment and run from the DataStore.
DBStore(const DBStore &)
same for copy constructor
std::set< DBStoreEntry * > m_intraRunDependencies
List of intra-run dependent conditions.
DBStoreEntry * getEntry(const std::string &name, const TClass *objClass, bool array, bool required=true)
Returns the entry with the requested name in the DBStore.
std::optional< EventMetaData > m_manualEvent
Optional EventMetaData variable.
static std::string objectName(const std::string &name)
Return the database name for an object of the given type and name.
std::unordered_map< std::string, DBStoreEntry > m_dbEntries
Map names to DBEntry objects.
static std::string arrayName(const std::string &name)
Return the database name for an object of the given type and name.
DBStore()
Hidden constructor, as it is a singleton.
Type-safe access to single objects in the data store.
void reset(bool keepEntries=false)
Invalidate all payloads.
void performUpdateEvent(const EventMetaData &event)
The main code that does an updateEvent.
static DBStore & Instance()
Instance of a singleton DBStore.
void performUpdate(const EventMetaData &event)
The main code that does an update, factored out so it can be used by both update and update(event).
DBStoreEntry * getEntry(DBStoreEntry::EPayloadType payloadType, const std::string &name, const TClass *objClass, bool array, bool required=true)
Returns the entry with the requested name in the DBStore.
void updateEvent()
Updates all intra-run dependent objects.
void update()
Updates all objects that are outside their interval of validity.
void addConstantOverride(const std::string &name, TObject *obj, bool oneRun=false)
Add constant override payload.
Abstract base class for different kinds of events.