| The Gaudi Framework v29r0 (ff2e7097)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IAIDATupleSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IAIDATUPLESVC_H
2 #define GAUDIKERNEL_IAIDATUPLESVC_H 1
3
4 // Include files:
5 #include "GaudiKernel/IDataProviderSvc.h"
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
29 class GAUDI_API IAIDATupleSvc : virtual public IDataProviderSvc
30 {
31
32 public:
34 DeclareInterfaceID( IAIDATupleSvc, 3, 0 );
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 // =======================================
44 virtual StatusCode registerObject( const std::string& dirPath, const std::string& objPath, AIDA::ITuple* tObj ) = 0;
45
46 virtual StatusCode registerObject( DataObject* pParent, const std::string& objPath, AIDA::ITuple* tObj ) = 0;
47
48 // =========================================
49 // Unregister a tuple in the transient store
50 // =========================================
51 virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
52
53 virtual StatusCode unregisterObject( AIDA::ITuple* tObj, const std::string& objectPath ) = 0;
54
55 // ====================================
56 // Retrieve a tuple from the data store
57 // ====================================
58 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::ITuple*& tObj ) = 0;
59
60 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
61 AIDA::ITuple*& tObj ) = 0;
62
63 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
64
65 // ==============================
66 // Find a tuple in the data store
67 // ==============================
68 virtual StatusCode findObject( const std::string& fullPath, AIDA::ITuple*& tObj ) = 0;
69
70 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::ITuple*& tObj ) = 0;
71
72 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
73
74 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
75
77 virtual void setCriteria( AIDA::ITuple*& tObj, const std::string& criteria ) = 0;
78
79 // ==============
80 // Helper methods
81 // ==============
82
83 // Create all directories in a given full path
84 virtual DataObject* createPath( const std::string& newPath ) = 0;
85
86 // Create a sub-directory in a directory.
87 virtual DataObject* createDirectory( const std::string& parentDir, const std::string& subDir ) = 0;
88
89 virtual StatusCode myTest() = 0;
90 };
91
92 #endif // GAUDIKERNEL_IAIDATUPLESVC_H
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:895
Gaudi::Histos::book
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
Definition: HistoDef.cpp:105
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
AIDA
GaudiKernel.
Definition: Fill.h:10
std::string
STL class.
IDataProviderSvc.h
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
DeclareInterfaceID
#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
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
IAIDATupleSvc
Definition of the IAIDATupleSvc interface class.
Definition: IAIDATupleSvc.h:29
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29