ATLAS Offline Software
Loading...
Searching...
No Matches
RootOODb.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5//====================================================================
6// Root Database implementation
7//--------------------------------------------------------------------
8//
9// Package : RootStorageSvc (The POOL project)
10//
11// Author : M.Frank
12//====================================================================
13#ifndef POOL_ROOTSTORAGESVC_ROOTOODB_H
14#define POOL_ROOTSTORAGESVC_ROOTOODB_H 1
15
16// Framework include files
18
19#include "Gaudi/PluginService.h"
20
21/*
22 * POOL namespace
23 */
24namespace pool {
25
38 class RootOODb : public IOODatabase {
39 public:
40 typedef Gaudi::PluginService::Factory<IOODatabase*()> Factory;
41
45 virtual ~RootOODb();
46
48 virtual const std::string& name () const;
49
51 static const char* catalogLabel() { return "ROOT_All"; }
52
58 IDbContainer* createContainer(const std::string& name, const DbType& typ);
59 private:
62 };
63
64 class RootOOKey : public RootOODb {
65 public:
69 static const char* catalogLabel() { return "ROOT_Key"; }
70 };
71
72 class RootOOTree : public RootOODb {
73 public:
77 static const char* catalogLabel() { return "ROOT_Tree"; }
78 };
79
80 class RootOOTreeIndex : public RootOODb {
81 public:
85 static const char* catalogLabel() { return "ROOT_Tree"; }
86 };
87
88 class RootOORNTuple : public RootOODb {
89 public:
93 static const char* catalogLabel() { return "ROOT_RNTuple"; }
94 };
95
96} // end namespace pool
97
98#endif /* POOL_ROOTSTORAGESVC_ROOTOODB_H */
IDbDatabase interface.
Definition IDbDatabase.h:41
IDbDomain interface.
Definition IDbDomain.h:40
IDbDomain * createDomain()
Create Root Domain object.
IDbDatabase * createDatabase()
Create Root Database object (TFile)
RootOODb(DbType typ=ROOT_StorageType)
Standard Constructor.
IDbDomain * m_domainCache
Non-owning cache for the domain pointer.
Definition RootOODb.h:61
virtual const std::string & name() const
Name of the Database implementation.
Gaudi::PluginService::Factory< IOODatabase *()> Factory
Definition RootOODb.h:40
virtual ~RootOODb()
Standard Destructor.
IDbContainer * createContainer(const std::string &name, const DbType &typ)
Create Root Container object.
static const char * catalogLabel()
Label of the specific class.
Definition RootOODb.h:51
RootOOKey()
Standard Constructor.
Definition RootOODb.h:67
static const char * catalogLabel()
Label of the specific class.
Definition RootOODb.h:69
RootOORNTuple()
Standard Constructor.
Definition RootOODb.h:91
static const char * catalogLabel()
Label of the specific class.
Definition RootOODb.h:93
RootOOTreeIndex()
Standard Constructor.
Definition RootOODb.h:83
static const char * catalogLabel()
Label of the specific class.
Definition RootOODb.h:85
RootOOTree()
Standard Constructor.
Definition RootOODb.h:75
static const char * catalogLabel()
Label of the specific class.
Definition RootOODb.h:77
pool namespace
Definition libname.h:15
static const DbType ROOTTREE_StorageType
Definition DbType.h:101
static const DbType ROOTRNTUPLE_StorageType
Definition DbType.h:103
static const DbType ROOT_StorageType
Definition DbType.h:99
static const DbType ROOTTREEINDEX_StorageType
Definition DbType.h:102
static const DbType ROOTKEY_StorageType
Definition DbType.h:100