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  class ITuple;
14  class IAnnotation;
15 }
16 
17 using AIDA::ITuple;
18 using AIDA::IAnnotation;
19 
28 class GAUDI_API IAIDATupleSvc : virtual public IDataProviderSvc {
29 
30 public:
33 
34  // ===================================
35  // Book a tuple in the transient store
36  // ===================================
37  virtual AIDA::ITuple* book( const std::string& fullPath,
38  const std::string& title,
39  const std::string& columns ) = 0;
40 
41 
42  // =======================================
43  // Register a tuple in the transient store
44  // =======================================
45  virtual StatusCode registerObject( const std::string& dirPath,
46  const std::string& objPath,
47  AIDA::ITuple* tObj ) = 0;
48 
49 
50  virtual StatusCode registerObject( DataObject* pParent,
51  const std::string& objPath,
52  AIDA::ITuple* tObj ) = 0;
53 
54 
55  // =========================================
56  // Unregister a tuple in the transient store
57  // =========================================
58  virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
59 
60  virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
61  const std::string& objectPath ) = 0;
62 
63 
64  // ====================================
65  // Retrieve a tuple from the data store
66  // ====================================
67  virtual StatusCode retrieveObject( const std::string& fullPath,
68  AIDA::ITuple*& tObj ) = 0;
69 
70  virtual StatusCode retrieveObject( const std::string& parentPath,
71  const std::string& objPath,
72  AIDA::ITuple*& tObj ) = 0;
73 
74  virtual StatusCode retrieveObject( DataObject* parentObj,
75  const std::string& objPath,
76  AIDA::ITuple*& tObj ) = 0;
77 
78  // ==============================
79  // Find a tuple in the data store
80  // ==============================
81  virtual StatusCode findObject( const std::string& fullPath,
82  AIDA::ITuple*& tObj ) = 0;
83 
84  virtual StatusCode findObject( IRegistry* pDirectory,
85  const std::string& path,
86  AIDA::ITuple*& tObj ) = 0;
87 
88  virtual StatusCode findObject( const std::string& parentPath,
89  const std::string& objPath,
90  AIDA::ITuple*& tObj ) = 0;
91 
92  virtual StatusCode findObject( DataObject* parentObj,
93  const std::string& objPath,
94  AIDA::ITuple*& tObj ) = 0;
95 
97  virtual void setCriteria( AIDA::ITuple*& tObj,
98  const std::string& criteria ) = 0;
99 
100  // ==============
101  // Helper methods
102  // ==============
103 
104  //Create all directories in a given full path
105  virtual DataObject* createPath( const std::string& newPath )= 0;
106 
107  //Create a sub-directory in a directory.
108  virtual DataObject* createDirectory(const std::string& parentDir,
109  const std::string& subDir) = 0;
110 
111  virtual StatusCode myTest() = 0;
112 };
113 
114 #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: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.
GaudiKernel.
Definition: Fill.h:8
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
Definition of the IAIDATupleSvc interface class.
Definition: IAIDATupleSvc.h:28
#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