ATLAS Offline Software
Database
CoraCool
src
CoraCoolDatabaseSvc.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// CoraCoolDatabaseSvc.cxx
6
// implementation for CoraCoolDatabaseSvc
7
// Richard Hawkings, started 27/10/06
8
9
#include "
CoraCool/CoraCoolDatabase.h
"
10
#include "
CoraCool/CoraCoolDatabaseSvc.h
"
11
#include "
CoraCool/CoraCoolException.h
"
12
#include "CoolKernel/IDatabaseSvc.h"
13
#include "RelationalAccess/IConnectionService.h"
14
15
CoraCoolDatabaseSvc::CoraCoolDatabaseSvc
(coral::IConnectionService& coralsvc,
16
cool::IDatabaseSvc& cooldb)
17
:
18
m_coralsvc(coralsvc), m_cooldb(cooldb) {}
19
20
cool::IDatabaseSvc&
CoraCoolDatabaseSvc::coolIDatabaseSvc
() {
21
return
m_cooldb
; }
22
23
CoraCoolDatabasePtr
CoraCoolDatabaseSvc::openDatabase
(
24
const
std::string&
dbconn
,cool::IDatabasePtr cooldb,
bool
readonly) {
25
CoraCoolDatabasePtr
dbase(
new
CoraCoolDatabase
(
dbconn
,
26
std::move(cooldb),
27
m_coralsvc
,readonly));
28
return
dbase;
29
}
30
31
CoraCoolDatabasePtr
CoraCoolDatabaseSvc::openDatabase
(
32
const
std::string&
dbconn
,
bool
readonly) {
33
cool::IDatabasePtr cooldb;
34
try
{
35
cooldb=
m_cooldb
.openDatabase(
dbconn
,readonly);
36
}
37
catch
(cool::Exception&
e
) {
38
// try to create database - assuming it did not exist before
39
try
{
40
if
(readonly)
throw
std::exception
();
41
cooldb=
m_cooldb
.createDatabase(
dbconn
);
42
}
43
catch
(
std::exception
&
e
) {
44
throw
CoraCoolException
(
"Cannot connect to or create COOL database"
,
45
"CoraCoolDatabaseSvc::openDatabase"
);
46
}
47
}
48
CoraCoolDatabasePtr
dbase(
new
CoraCoolDatabase
(
dbconn
,std::move(cooldb),
49
m_coralsvc
,readonly));
50
return
dbase;
51
}
AllowedVariables::e
e
Definition:
AsgElectronSelectorTool.cxx:37
CoraCoolDatabaseSvc::m_coralsvc
coral::IConnectionService & m_coralsvc
Definition:
CoraCoolDatabaseSvc.h:41
CoraCoolDatabase
Definition:
CoraCoolDatabase.h:24
CoraCoolDatabaseSvc.h
CoraCoolDatabaseSvc::coolIDatabaseSvc
cool::IDatabaseSvc & coolIDatabaseSvc()
Definition:
CoraCoolDatabaseSvc.cxx:20
calibdata.exception
exception
Definition:
calibdata.py:495
CoraCoolDatabasePtr
boost::shared_ptr< CoraCoolDatabase > CoraCoolDatabasePtr
Definition:
CoraCoolTypes.h:12
dumpBeamSpot.dbconn
dbconn
Definition:
dumpBeamSpot.py:26
CoraCoolDatabaseSvc::m_cooldb
cool::IDatabaseSvc & m_cooldb
Definition:
CoraCoolDatabaseSvc.h:42
CoraCoolDatabaseSvc::openDatabase
CoraCoolDatabasePtr openDatabase(const std::string &dbconn, cool::IDatabasePtr cooldb, bool readonly=false)
Definition:
CoraCoolDatabaseSvc.cxx:23
CoraCoolException
Definition:
CoraCoolException.h:13
CoraCoolDatabaseSvc::CoraCoolDatabaseSvc
CoraCoolDatabaseSvc(coral::IConnectionService &coralsvc, cool::IDatabaseSvc &cooldb)
Definition:
CoraCoolDatabaseSvc.cxx:15
CoraCoolDatabase.h
CoraCoolException.h
Generated on Mon Sep 29 2025 21:08:18 for ATLAS Offline Software by
1.8.18