ATLAS Offline Software
Loading...
Searching...
No Matches
pool::RootOODb Class Reference

Description: ROOT specific implementation of the POOL database structure. More...

#include <src/RootOODb.h>

Inheritance diagram for pool::RootOODb:
Collaboration diagram for pool::RootOODb:

Public Types

typedef Gaudi::PluginService::Factory< IOODatabase *()> Factory

Public Member Functions

 RootOODb (DbType typ=ROOT_StorageType)
 Standard Constructor.
virtual ~RootOODb ()
 Standard Destructor.
virtual const std::string & name () const
 Name of the Database implementation.
IDbDomaincreateDomain ()
 Create Root Domain object.
IDbDatabasecreateDatabase ()
 Create Root Database object (TFile)
IDbContainercreateContainer (const std::string &name, const DbType &typ)
 Create Root Container object.
void release ()
 delete object if ref count drops to 0
int addRef ()
 Increase the reference count.
int subRef ()
 Decrease the reference count.

Static Public Member Functions

static const char * catalogLabel ()
 Label of the specific class.

Private Attributes

IDbDomainm_domainCache {}
 Non-owning cache for the domain pointer.
int m_count = 1

Detailed Description

Description: ROOT specific implementation of the POOL database structure.

The object allows to create

  • Abstract domain implementation objects
  • Abstract database objects (ie. ROOT files)
  • Abstract container implementations
Author
M.Frank
Version
1.0

Definition at line 38 of file RootOODb.h.

Member Typedef Documentation

◆ Factory

typedef Gaudi::PluginService::Factory<IOODatabase*()> pool::RootOODb::Factory

Definition at line 40 of file RootOODb.h.

Constructor & Destructor Documentation

◆ RootOODb()

pool::RootOODb::RootOODb ( DbType typ = ROOT_StorageType)
explicit

Standard Constructor.

◆ ~RootOODb()

virtual pool::RootOODb::~RootOODb ( )
virtual

Standard Destructor.

Member Function Documentation

◆ addRef()

int pool::RefCounter::addRef ( )
inlineinherited

Increase the reference count.

Definition at line 114 of file Database/APR/StorageSvc/StorageSvc/pool.h.

◆ catalogLabel()

const char * pool::RootOODb::catalogLabel ( )
inlinestatic

Label of the specific class.

Definition at line 51 of file RootOODb.h.

51{ return "ROOT_All"; }

◆ createContainer()

IDbContainer * pool::RootOODb::createContainer ( const std::string & name,
const DbType & typ )
virtual

Create Root Container object.

Implements pool::IOODatabase.

◆ createDatabase()

IDbDatabase * pool::RootOODb::createDatabase ( )
virtual

Create Root Database object (TFile)

Implements pool::IOODatabase.

◆ createDomain()

IDbDomain * pool::RootOODb::createDomain ( )
virtual

Create Root Domain object.

Implements pool::IOODatabase.

◆ name()

virtual const std::string & pool::RootOODb::name ( ) const
virtual

Name of the Database implementation.

Implements pool::IOODatabase.

◆ release()

void pool::IOODatabase::release ( )
inlineinherited

delete object if ref count drops to 0

Definition at line 66 of file IOODatabase.h.

66{ if( RefCounter::subRef() <= 0 ) delete this; }
int subRef()
Decrease the reference count.

◆ subRef()

int pool::RefCounter::subRef ( )
inlineinherited

Decrease the reference count.

Definition at line 116 of file Database/APR/StorageSvc/StorageSvc/pool.h.

116{ return --m_count; }

Member Data Documentation

◆ m_count

int pool::RefCounter::m_count = 1
privateinherited

Definition at line 107 of file Database/APR/StorageSvc/StorageSvc/pool.h.

◆ m_domainCache

IDbDomain* pool::RootOODb::m_domainCache {}
private

Non-owning cache for the domain pointer.

Definition at line 61 of file RootOODb.h.

61{};

The documentation for this class was generated from the following file: