Go to the documentation of this file.00001 #ifndef GAUDIKERNEL_INTUPLESVC_H
00002 #define GAUDIKERNEL_INTUPLESVC_H
00003
00004
00005 #include "GaudiKernel/IDataProviderSvc.h"
00006 #include "GaudiKernel/ClassID.h"
00007
00008
00009
00010 namespace NTuple {
00011 class Tuple;
00012 class Directory;
00013 }
00014
00037 class GAUDI_API INTupleSvc: virtual public IDataProviderSvc {
00038 public:
00040 DeclareInterfaceID(INTupleSvc,2,0);
00042 virtual StatusCode create(const CLID& typ, const std::string& title, NTuple::Tuple*& refpTuple) = 0;
00052 virtual NTuple::Tuple* book (const std::string& fullPath, const CLID& type, const std::string& title) = 0;
00064 virtual NTuple::Tuple* book (const std::string& dirPath, const std::string& relPath, const CLID& type, const std::string& title) = 0;
00075 virtual NTuple::Tuple* book (const std::string& dirPath, long id, const CLID& type, const std::string& title) = 0;
00087 virtual NTuple::Tuple* book (DataObject* pParent, const std::string& relPath, const CLID& type, const std::string& title) = 0;
00097 virtual NTuple::Tuple* book (DataObject* pParent, long id, const CLID& type, const std::string& title) = 0;
00105 virtual NTuple::Directory* createDirectory (DataObject* pParent, const std::string& title) = 0;
00113 virtual NTuple::Directory* createDirectory (DataObject* pParent, long id) = 0;
00121 virtual NTuple::Directory* createDirectory (const std::string& dirPath, long id) = 0;
00129 virtual NTuple::Directory* createDirectory (const std::string& dirPath, const std::string& title) = 0;
00134 virtual NTuple::Directory* createDirectory (const std::string& fullPath) = 0;
00140 virtual NTuple::Tuple* access(const std::string& fullPath, const std::string& filename) = 0;
00141
00146 virtual StatusCode save(const std::string& fullPath) = 0;
00147
00152 virtual StatusCode save(NTuple::Tuple* tuple) = 0;
00153
00160 virtual StatusCode save(DataObject* pParent, const std::string& relPath) = 0;
00161
00166 virtual StatusCode writeRecord( NTuple::Tuple* tuple) = 0;
00167
00172 virtual StatusCode writeRecord(const std::string& fullPath) = 0;
00173
00180 virtual StatusCode writeRecord( DataObject* pParent, const std::string& relPath) = 0;
00181
00186 virtual StatusCode readRecord(NTuple::Tuple* tuple) = 0;
00187
00192 virtual StatusCode readRecord(const std::string& fullPath) = 0;
00193
00200 virtual StatusCode readRecord(DataObject* pParent, const std::string& relPath) = 0;
00201
00202 };
00203
00204 #endif // INTERFACES_INTUPLESVC_H