ATLAS Offline Software
CoraCoolDatabaseSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CORACOOL_CORACOOLDATABASESVC_H
6 #define CORACOOL_CORACOOLDATABASESVC_H
7 // CoraCoolDatabaseSvc.h
8 // a service to create CoraCoolDatabase objects given a SEAL context (where
9 // CORAL libraries are already loaded) the corresponding COOL IDatabaseSvc
10 // (plays an analogous role to COOL IDatabaseSvc)
11 // This can be created directly, or via CoraCoolDatabaseSvcFactory singleton
12 // which sets up CoraCool and COOL standalone in one call
13 //
14 // Richard Hawkings, started 27/10/06
15 
16 #include<string>
17 #include "CoolKernel/IDatabase.h"
18 #include "RelationalAccess/IConnectionService.h"
19 #include "CoraCool/CoraCoolTypes.h"
20 
21 namespace cool {
22  class IDatabaseSvc;
23 }
24 
26  public:
27  // create a CoraCoolDatabaseSvc given CORAL connection svc and COOL service
28  CoraCoolDatabaseSvc(coral::IConnectionService& coralsvc,
29  cool::IDatabaseSvc& cooldb);
30 
31  // return a reference to the associated COOL database service
32  cool::IDatabaseSvc& coolIDatabaseSvc();
33 
34  // open CoraCool database, given external COOL reference
35  CoraCoolDatabasePtr openDatabase(const std::string& dbconn,
36  cool::IDatabasePtr cooldb, bool readonly=false);
37  // open CoraCool database, without external COOL reference
38  CoraCoolDatabasePtr openDatabase(const std::string& dbconn, bool readonly=false);
39 
40  private:
41  coral::IConnectionService& m_coralsvc;
42  cool::IDatabaseSvc& m_cooldb;
43 };
44 
45 #endif // CORACOOL_CORACOOLDATABASESVC_H
CoraCoolDatabaseSvc::m_coralsvc
coral::IConnectionService & m_coralsvc
Definition: CoraCoolDatabaseSvc.h:41
CoraCoolTypes.h
CoraCoolDatabaseSvc
Definition: CoraCoolDatabaseSvc.h:25
cool
Definition: CoolTagInfo.h:12
CoraCoolDatabaseSvc::coolIDatabaseSvc
cool::IDatabaseSvc & coolIDatabaseSvc()
Definition: CoraCoolDatabaseSvc.cxx:20
CoraCoolDatabasePtr
boost::shared_ptr< CoraCoolDatabase > CoraCoolDatabasePtr
Definition: CoraCoolTypes.h:12
dumpBeamSpot.dbconn
dbconn
Definition: dumpBeamSpot.py:27
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
CoraCoolDatabaseSvc::CoraCoolDatabaseSvc
CoraCoolDatabaseSvc(coral::IConnectionService &coralsvc, cool::IDatabaseSvc &cooldb)
Definition: CoraCoolDatabaseSvc.cxx:15