Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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  class Tuple;
11  struct Directory;
12 } // namespace NTuple
13 
36 class GAUDI_API INTupleSvc : virtual public IDataProviderSvc {
37 public:
41  virtual StatusCode create( const CLID& typ, const std::string& title, NTuple::Tuple*& refpTuple ) = 0;
51  virtual NTuple::Tuple* book( const std::string& fullPath, const CLID& type, const std::string& title ) = 0;
63  virtual NTuple::Tuple* book( const std::string& dirPath, const std::string& relPath, const CLID& type,
64  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,
88  const std::string& title ) = 0;
98  virtual NTuple::Tuple* book( DataObject* pParent, long id, const CLID& type, const std::string& title ) = 0;
106  virtual NTuple::Directory* createDirectory( DataObject* pParent, const std::string& title ) = 0;
114  virtual NTuple::Directory* createDirectory( DataObject* pParent, long id ) = 0;
122  virtual NTuple::Directory* createDirectory( const std::string& dirPath, long id ) = 0;
130  virtual NTuple::Directory* createDirectory( const std::string& dirPath, const std::string& title ) = 0;
135  virtual NTuple::Directory* createDirectory( const std::string& fullPath ) = 0;
141  virtual NTuple::Tuple* access( const std::string& fullPath, const std::string& filename ) = 0;
142 
147  virtual StatusCode save( const std::string& fullPath ) = 0;
148 
153  virtual StatusCode save( NTuple::Tuple* tuple ) = 0;
154 
161  virtual StatusCode save( DataObject* pParent, const std::string& relPath ) = 0;
162 
167  virtual StatusCode writeRecord( NTuple::Tuple* tuple ) = 0;
168 
173  virtual StatusCode writeRecord( const std::string& fullPath ) = 0;
174 
181  virtual StatusCode writeRecord( DataObject* pParent, const std::string& relPath ) = 0;
182 
187  virtual StatusCode readRecord( NTuple::Tuple* tuple ) = 0;
188 
193  virtual StatusCode readRecord( const std::string& fullPath ) = 0;
194 
201  virtual StatusCode readRecord( DataObject* pParent, const std::string& relPath ) = 0;
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:87
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:50
#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:375
Small class representing an N tuple directory in the transient store.
Definition: NTuple.h:901
#define GAUDI_API
Definition: Kernel.h:71
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30