INTupleSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_INTUPLESVC_H
2 #define GAUDIKERNEL_INTUPLESVC_H
3 
4 // Framework include files
6 #include "GaudiKernel/ClassID.h"
7 
8 
9 // Forward declarations
10 namespace NTuple {
11  class Tuple;
12  class Directory;
13 }
14 
37 class GAUDI_API INTupleSvc: virtual public IDataProviderSvc {
38 public:
42  virtual StatusCode create(const CLID& typ, const std::string& title, NTuple::Tuple*& refpTuple) = 0;
52  virtual NTuple::Tuple* book (const std::string& fullPath, const CLID& type, const std::string& title) = 0;
64  virtual NTuple::Tuple* book (const std::string& dirPath, const std::string& relPath, const CLID& type, const std::string& title) = 0;
75  virtual NTuple::Tuple* book (const std::string& dirPath, long id, const CLID& type, const std::string& title) = 0;
87  virtual NTuple::Tuple* book (DataObject* pParent, const std::string& relPath, const CLID& type, const std::string& title) = 0;
97  virtual NTuple::Tuple* book (DataObject* pParent, long id, const CLID& type, const std::string& title) = 0;
105  virtual NTuple::Directory* createDirectory (DataObject* pParent, const std::string& title) = 0;
113  virtual NTuple::Directory* createDirectory (DataObject* pParent, long id) = 0;
121  virtual NTuple::Directory* createDirectory (const std::string& dirPath, long id) = 0;
129  virtual NTuple::Directory* createDirectory (const std::string& dirPath, const std::string& title) = 0;
134  virtual NTuple::Directory* createDirectory (const std::string& fullPath) = 0;
140  virtual NTuple::Tuple* access(const std::string& fullPath, const std::string& filename) = 0;
141 
146  virtual StatusCode save(const std::string& fullPath) = 0;
147 
152  virtual StatusCode save(NTuple::Tuple* tuple) = 0;
153 
160  virtual StatusCode save(DataObject* pParent, const std::string& relPath) = 0;
161 
166  virtual StatusCode writeRecord( NTuple::Tuple* tuple) = 0;
167 
172  virtual StatusCode writeRecord(const std::string& fullPath) = 0;
173 
180  virtual StatusCode writeRecord( DataObject* pParent, const std::string& relPath) = 0;
181 
186  virtual StatusCode readRecord(NTuple::Tuple* tuple) = 0;
187 
192  virtual StatusCode readRecord(const std::string& fullPath) = 0;
193 
200  virtual StatusCode readRecord(DataObject* pParent, const std::string& relPath) = 0;
201 
202 };
203 
204 #endif // INTERFACES_INTUPLESVC_H
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
Definition: HistoDef.cpp:124
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
Data provider interface definition.
NTuple name space.
Definition: INTupleSvc.h:10
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
bool access(const ContainedObject *from, ContainedObject **to)
Definition: KeyedObject.cpp:53
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:370
#define GAUDI_API
Definition: Kernel.h:107
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
Small class representing an N tuple directory in the transient store.
Definition: NTuple.h:1068