11 #include <framework/database/DBImportBase.h>
12 #include <framework/database/EventDependency.h>
13 #include <framework/database/Database.h>
14 #include <framework/logging/Logger.h>
19 void DBImportBase::addIntraRunDependency(
unsigned long long int tag,
23 if (!m_object)
return;
25 if (m_dependency == c_None) m_dependency = dependency;
26 if (dependency == m_dependency) {
27 m_objects.push_back(m_object);
28 m_tags.push_back(tag);
31 B2FATAL(
"DBImportBase::addIntraRunDependency: " <<
32 "intra run dependency cannot be of mixed types");
41 switch (m_dependency) {
43 return import<EventDependency>(iov);
45 B2ERROR(
"DBImportBase::import: " <<
46 "intra run dependency of type 'time stamp' not supported yet");
49 B2ERROR(
"DBImportBase::import: " <<
50 "intra run dependency of type 'subrun' not supported yet");
53 if (!m_object)
return false;
54 return Database::Instance().storeData(m_name, m_object, iov);
60 void DBImportBase::clear()
67 m_dependency = c_None;
68 for (
auto&
object : m_objects)
delete object;
75 return Database::Instance().storeData(m_name, intraRun, iov);
78 DBImportBase::~DBImportBase()
80 for (
auto&
object : m_objects)
delete object;