The Gaudi Framework  master (adcf1ca6)
Loading...
Searching...
No Matches
IAIDATupleSvc.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11#pragma once
12
14
15class DataObject;
16
17// Added to allow use of AIDA in applications
18// without prefix AIDA:: (as before):
19namespace AIDA {
20 class ITuple;
21 class IAnnotation;
22} // namespace AIDA
23
24using AIDA::IAnnotation;
25using AIDA::ITuple;
26
34
36
37public:
40
41 // ===================================
42 // Book a tuple in the transient store
43 // ===================================
44 virtual AIDA::ITuple* book( const std::string& fullPath, const std::string& title, const std::string& columns ) = 0;
45
46 // =======================================
47 // Register a tuple in the transient store
48 // =======================================
50
51 virtual StatusCode registerObject( const std::string& dirPath, const std::string& objPath, AIDA::ITuple* tObj ) = 0;
52
53 virtual StatusCode registerObject( DataObject* pParent, const std::string& objPath, AIDA::ITuple* tObj ) = 0;
54
55 // =========================================
56 // Unregister a tuple in the transient store
57 // =========================================
59
60 virtual StatusCode unregisterObject( AIDA::ITuple* tObj ) = 0;
61
62 virtual StatusCode unregisterObject( AIDA::ITuple* tObj, const std::string& objectPath ) = 0;
63
64 // ====================================
65 // Retrieve a tuple from the data store
66 // ====================================
68
69 virtual StatusCode retrieveObject( const std::string& fullPath, AIDA::ITuple*& tObj ) = 0;
70
71 virtual StatusCode retrieveObject( const std::string& parentPath, const std::string& objPath,
72 AIDA::ITuple*& tObj ) = 0;
73
74 virtual StatusCode retrieveObject( DataObject* parentObj, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
75
76 // ==============================
77 // Find a tuple in the data store
78 // ==============================
80
81 virtual StatusCode findObject( const std::string& fullPath, AIDA::ITuple*& tObj ) = 0;
82
83 virtual StatusCode findObject( IRegistry* pDirectory, const std::string& path, AIDA::ITuple*& tObj ) = 0;
84
85 virtual StatusCode findObject( const std::string& parentPath, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
86
87 virtual StatusCode findObject( DataObject* parentObj, const std::string& objPath, AIDA::ITuple*& tObj ) = 0;
88
90 virtual void setCriteria( AIDA::ITuple*& tObj, const std::string& criteria ) = 0;
91
92 // ==============
93 // Helper methods
94 // ==============
95
96 // Create all directories in a given full path
97 virtual DataObject* createPath( const std::string& newPath ) = 0;
98
99 // Create a sub-directory in a directory.
100 virtual DataObject* createDirectory( const std::string& parentDir, const std::string& subDir ) = 0;
101
102 virtual StatusCode myTest() = 0;
103};
#define GAUDI_API
Definition Kernel.h:49
A DataObject is the base class of any identifiable object on any data store.
Definition DataObject.h:37
Definition of the IAIDATupleSvc interface class.
virtual DataObject * createDirectory(const std::string &parentDir, const std::string &subDir)=0
virtual StatusCode retrieveObject(const std::string &parentPath, const std::string &objPath, AIDA::ITuple *&tObj)=0
virtual void setCriteria(AIDA::ITuple *&tObj, const std::string &criteria)=0
Set criteria for reading, filtering the input.
DeclareInterfaceID(IAIDATupleSvc, 3, 0)
InterfaceID.
virtual AIDA::ITuple * book(const std::string &fullPath, const std::string &title, const std::string &columns)=0
virtual DataObject * createPath(const std::string &newPath)=0
virtual StatusCode unregisterObject(AIDA::ITuple *tObj, const std::string &objectPath)=0
virtual StatusCode registerObject(DataObject *pParent, const std::string &objPath, AIDA::ITuple *tObj)=0
virtual StatusCode findObject(DataObject *parentObj, const std::string &objPath, AIDA::ITuple *&tObj)=0
virtual StatusCode retrieveObject(const std::string &fullPath, AIDA::ITuple *&tObj)=0
virtual StatusCode registerObject(const std::string &dirPath, const std::string &objPath, AIDA::ITuple *tObj)=0
virtual StatusCode findObject(IRegistry *pDirectory, const std::string &path, AIDA::ITuple *&tObj)=0
virtual StatusCode retrieveObject(DataObject *parentObj, const std::string &objPath, AIDA::ITuple *&tObj)=0
virtual StatusCode unregisterObject(AIDA::ITuple *tObj)=0
virtual StatusCode findObject(const std::string &fullPath, AIDA::ITuple *&tObj)=0
virtual StatusCode myTest()=0
virtual StatusCode findObject(const std::string &parentPath, const std::string &objPath, AIDA::ITuple *&tObj)=0
Data provider interface definition.
virtual StatusCode retrieveObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
virtual StatusCode unregisterObject(std::string_view fullPath)=0
Unregister object from the data store.
virtual StatusCode findObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Find object identified by its directory entry.
StatusCode registerObject(std::string_view fullPath, DataObject *pObject)
Register object with the data store.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition IRegistry.h:29
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64