All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IAIDATupleSvc.h
Go to the documentation of this file.
1 // $Id: IAIDATupleSvc.h,v 1.2 2005/12/06 18:55:19 hmd Exp $
2 #ifndef GAUDIKERNEL_IAIDATUPLESVC_H
3 #define GAUDIKERNEL_IAIDATUPLESVC_H 1
4 
5 //Include files:
7 
8 //Forward declarations:
9 class DataObject;
10 
11 //Added to allow use of AIDA in applications
12 //without prefix AIDA:: (as before):
13 namespace AIDA {
14  class ITuple;
15  class IAnnotation;
16 }
17 
18 using AIDA::ITuple;
19 using AIDA::IAnnotation;
20 
29 class GAUDI_API IAIDATupleSvc : virtual public IDataProviderSvc {
30 
31 public:
34 
35  // ===================================
36  // Book a tuple in the transient store
37  // ===================================
38  virtual AIDA::ITuple* book( const std::string& fullPath,
39  const std::string& title,
40  const std::string& columns ) = 0;
41 
42 
43  // =======================================
44  // Register a tuple in the transient store
45  // =======================================
46  virtual StatusCode registerObject( const std::string& dirPath,
47  const std::string& objPath,
48  AIDA::ITuple* tObj ) = 0;
49 
50 
51  virtual StatusCode registerObject( DataObject* pParent,
52  const std::string& objPath,
53  AIDA::ITuple* tObj ) = 0;
54 
55 
56  // =========================================
57  // Unregister a tuple in the transient store
58  // =========================================
59  virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
60 
61  virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
62  const std::string& objectPath ) = 0;
63 
64 
65  // ====================================
66  // Retrieve a tuple from the data store
67  // ====================================
68  virtual StatusCode retrieveObject( const std::string& fullPath,
69  AIDA::ITuple*& tObj ) = 0;
70 
71  virtual StatusCode retrieveObject( const std::string& parentPath,
72  const std::string& objPath,
73  AIDA::ITuple*& tObj ) = 0;
74 
75  virtual StatusCode retrieveObject( DataObject* parentObj,
76  const std::string& objPath,
77  AIDA::ITuple*& tObj ) = 0;
78 
79 
80  // ==============================
81  // Find a tuple in the data store
82  // ==============================
83  virtual StatusCode findObject( const std::string& fullPath,
84  AIDA::ITuple*& tObj ) = 0;
85 
86  virtual StatusCode findObject( IRegistry* pDirectory,
87  const std::string& path,
88  AIDA::ITuple*& tObj ) = 0;
89 
90  virtual StatusCode findObject( const std::string& parentPath,
91  const std::string& objPath,
92  AIDA::ITuple*& tObj ) = 0;
93 
94  virtual StatusCode findObject( DataObject* parentObj,
95  const std::string& objPath,
96  AIDA::ITuple*& tObj ) = 0;
97 
99  virtual void setCriteria( AIDA::ITuple*& tObj,
100  const std::string& criteria ) = 0;
101 
102 
103  // ==============
104  // Helper methods
105  // ==============
106 
107  //Create all directories in a given full path
108  virtual DataObject* createPath( const std::string& newPath )= 0;
109 
110  //Create a sub-directory in a directory.
111  virtual DataObject* createDirectory(const std::string& parentDir,
112  const std::string& subDir) = 0;
113 
114  virtual StatusCode myTest() = 0;
115 
116  //virtual std::string storeName(AIDA::ITuple*& tObj) = 0;
117 };
118 
119 #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:132
Data provider interface definition.
virtual StatusCode findObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Find object identified by its directory entry.
DeclareInterfaceID(IDataProviderSvc, 3, 0)
InterfaceID.
virtual StatusCode unregisterObject(const std::string &fullPath)=0
Unregister object from the data store.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
Definition of the IAIDATupleSvc interface class.
Definition: IAIDATupleSvc.h:29
virtual StatusCode registerObject(const std::string &fullPath, DataObject *pObject)=0
Register object with the data store.
#define GAUDI_API
Definition: Kernel.h:108
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:31
virtual StatusCode retrieveObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.