The Gaudi Framework  v30r3 (a5ef0a68)
INTupleSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_INTUPLESVC_H
2 #define GAUDIKERNEL_INTUPLESVC_H
3 
4 // Framework include files
5 #include "GaudiKernel/ClassID.h"
7 
8 // Forward declarations
9 namespace NTuple
10 {
11  class Tuple;
12  struct Directory;
13 }
14 
37 class GAUDI_API INTupleSvc : virtual public IDataProviderSvc
38 {
39 public:
43  virtual StatusCode create( const CLID& typ, const std::string& title, NTuple::Tuple*& refpTuple ) = 0;
53  virtual NTuple::Tuple* book( const std::string& fullPath, const CLID& type, const std::string& title ) = 0;
65  virtual NTuple::Tuple* book( const std::string& dirPath, const std::string& relPath, const CLID& type,
66  const std::string& title ) = 0;
77  virtual NTuple::Tuple* book( const std::string& dirPath, long id, const CLID& type, const std::string& title ) = 0;
89  virtual NTuple::Tuple* book( DataObject* pParent, const std::string& relPath, const CLID& type,
90  const std::string& title ) = 0;
100  virtual NTuple::Tuple* book( DataObject* pParent, long id, const CLID& type, const std::string& title ) = 0;
108  virtual NTuple::Directory* createDirectory( DataObject* pParent, const std::string& title ) = 0;
116  virtual NTuple::Directory* createDirectory( DataObject* pParent, long id ) = 0;
124  virtual NTuple::Directory* createDirectory( const std::string& dirPath, long id ) = 0;
132  virtual NTuple::Directory* createDirectory( const std::string& dirPath, const std::string& title ) = 0;
137  virtual NTuple::Directory* createDirectory( const std::string& fullPath ) = 0;
143  virtual NTuple::Tuple* access( const std::string& fullPath, const std::string& filename ) = 0;
144 
149  virtual StatusCode save( const std::string& fullPath ) = 0;
150 
155  virtual StatusCode save( NTuple::Tuple* tuple ) = 0;
156 
163  virtual StatusCode save( DataObject* pParent, const std::string& relPath ) = 0;
164 
169  virtual StatusCode writeRecord( NTuple::Tuple* tuple ) = 0;
170 
175  virtual StatusCode writeRecord( const std::string& fullPath ) = 0;
176 
183  virtual StatusCode writeRecord( DataObject* pParent, const std::string& relPath ) = 0;
184 
189  virtual StatusCode readRecord( NTuple::Tuple* tuple ) = 0;
190 
195  virtual StatusCode readRecord( const std::string& fullPath ) = 0;
196 
203  virtual StatusCode readRecord( DataObject* pParent, const std::string& relPath ) = 0;
204 };
205 
206 #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:95
Data provider interface definition.
NTuple name space.
Definition: INTupleSvc.h:9
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
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:407
Small class representing an N tuple directory in the transient store.
Definition: NTuple.h:978
#define GAUDI_API
Definition: Kernel.h:104
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30