11#ifndef ATHENAROOTCOMPS_ROOTSVC_H
12#define ATHENAROOTCOMPS_ROOTSVC_H 1
23#include "GaudiKernel/ServiceHandle.h"
39class RootSvc :
public extends<::AthService, ::IRootSvc> {
43 RootSvc(
const std::string& name, ISvcLocator* pSvcLocator);
67 StatusCode
open(
const std::string& fname,
const std::string& mode);
70 StatusCode
connect(
const std::string& fname);
76 StatusCode
disconnect(
const std::string& fname);
94 typedef std::map<Guid, Athena::RootConnection*>
ConnMap_t;
This file contains the class definition for the Guid class (migrated from POOL).
This file contains the class definition for the IRootSvc interface class.
This class provides the implementation of Athena::RootConnection class, similar to Gaudi IDataConnect...
RootSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard Service Constructor.
StatusCode initialize()
Gaudi Service Interface method implementations:
std::map< Guid, Athena::RootConnection * > ConnMap_t
StatusCode open(const std::string &fname, const std::string &mode)
Open the file fname with open mode mode
ConnMap_t m_conns
Map of file name keys and connection values.
RootType getType(const std::type_info &type) const
Load the type (dictionary) from Root.
void destructObject(const RootType &type, void *pObj) const
Destruct a given object of type RootType.
StatusCode disconnect(const std::string &fname)
Disconnect the file fname from the service.
void * readObject(const Token &token, void *&pObj)
Read object from Root.
const Token * writeObject(const Placement &placement, const RootType &type, const void *pObj)
Write object of a given class to Root.
pool::IFileCatalog * m_catalog
RootSvc & operator=(const RootSvc &)
StatusCode connect(const std::string &fname)
Connect the file fname to the service.
Athena::RootConnection * m_wconn
StatusCode commitOutput()
Commit data and flush buffer.
Athena::RootConnection * connection(const std::string &fname)
Get the RootConnection associated with file fname
void * createObject(const RootType &type) const
Create an object of a given RootType.
RootSvc()
Default constructor:
ServiceHandle< ::IDictLoaderSvc > m_dictSvc
ServiceHandle to the dictionary service.
virtual ~RootSvc()
Destructor.
a simple interface to interact with the Reflex dictionaries and abstract/workaround a few ROOT bugs.
This class holds all the necessary information to guide the writing of an object in a physical place.
This class provides a token that identifies in a unique way objects on the persistent storage.
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....