The Gaudi Framework  v30r4 (9b837755)
IAIDATupleSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IAIDATUPLESVC_H
2 #define GAUDIKERNEL_IAIDATUPLESVC_H 1
3 
4 // Include files:
6 
7 // Forward declarations:
8 class DataObject;
9 
10 // Added to allow use of AIDA in applications
11 // without prefix AIDA:: (as before):
12 namespace AIDA
13 {
14  class ITuple;
15  class IAnnotation;
16 }
17 
18 using AIDA::ITuple;
19 using AIDA::IAnnotation;
20 
30 {
31 
32 public:
35 
36  // ===================================
37  // Book a tuple in the transient store
38  // ===================================
39  virtual AIDA::ITuple* book( const std::string& fullPath, const std::string& title, const std::string& columns ) = 0;
40 
41  // =======================================
42  // Register a tuple in the transient store
43  // =======================================
45 
46  virtual StatusCode registerObject( const std::string& dirPath, const std::string& objPath, AIDA::ITuple* tObj ) = 0;
47 
48  virtual StatusCode registerObject( DataObject* pParent, const std::string& objPath, AIDA::ITuple* tObj ) = 0;
49 
50  // =========================================
51  // Unregister a tuple in the transient store
52  // =========================================
54 
55  virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
56 
57  virtual StatusCode unregisterObject( AIDA::ITuple* tObj, const std::string& objectPath ) = 0;
58 
59  // ====================================
60  // Retrieve a tuple from the data store
61  // ====================================
63 
64  virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::ITuple*& tObj ) = 0;
65 
66  virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
67  AIDA::ITuple*& tObj ) = 0;
68 
69  virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
70 
71  // ==============================
72  // Find a tuple in the data store
73  // ==============================
75 
76  virtual StatusCode findObject( const std::string& fullPath, AIDA::ITuple*& tObj ) = 0;
77 
78  virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::ITuple*& tObj ) = 0;
79 
80  virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
81 
82  virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
83 
85  virtual void setCriteria( AIDA::ITuple*& tObj, const std::string& criteria ) = 0;
86 
87  // ==============
88  // Helper methods
89  // ==============
90 
91  // Create all directories in a given full path
92  virtual DataObject* createPath( const std::string& newPath ) = 0;
93 
94  // Create a sub-directory in a directory.
95  virtual DataObject* createDirectory( const std::string& parentDir, const std::string& subDir ) = 0;
96 
97  virtual StatusCode myTest() = 0;
98 };
99 
100 #endif // GAUDIKERNEL_IAIDATUPLESVC_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
virtual StatusCode findObject(IRegistry *pDirectory, boost::string_ref path, DataObject *&pObject)=0
Find object identified by its directory entry.
Data provider interface definition.
GaudiKernel.
Definition: Fill.h:10
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
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
virtual StatusCode retrieveObject(IRegistry *pDirectory, boost::string_ref path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
StatusCode registerObject(boost::string_ref fullPath, DataObject *pObject)
Register object with the data store.
virtual StatusCode unregisterObject(boost::string_ref fullPath)=0
Unregister object from the data store.
Definition of the IAIDATupleSvc interface class.
Definition: IAIDATupleSvc.h:29
#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