The Gaudi Framework  master (d98a2936)
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 
15 class DataObject;
16 
17 // Added to allow use of AIDA in applications
18 // without prefix AIDA:: (as before):
19 namespace AIDA {
20  class ITuple;
21  class IAnnotation;
22 } // namespace AIDA
23 
24 using AIDA::IAnnotation;
25 using AIDA::ITuple;
26 
35 class GAUDI_API IAIDATupleSvc : virtual public IDataProviderSvc {
36 
37 public:
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 };
IAIDATupleSvc::myTest
virtual StatusCode myTest()=0
AIDA
Definition: Annotation.h:21
IAIDATupleSvc::retrieveObject
virtual StatusCode retrieveObject(const std::string &parentPath, const std::string &objPath, AIDA::ITuple *&tObj)=0
IDataProviderSvc::unregisterObject
virtual StatusCode unregisterObject(std::string_view fullPath)=0
Unregister object from the data store.
AtlasMCRecoFullPrecedenceDump.path
path
Definition: AtlasMCRecoFullPrecedenceDump.py:49
IAIDATupleSvc::retrieveObject
virtual StatusCode retrieveObject(const std::string &fullPath, AIDA::ITuple *&tObj)=0
IAIDATupleSvc::findObject
virtual StatusCode findObject(const std::string &parentPath, const std::string &objPath, AIDA::ITuple *&tObj)=0
IRegistry
Definition: IRegistry.h:29
IAIDATupleSvc::createDirectory
virtual DataObject * createDirectory(const std::string &parentDir, const std::string &subDir)=0
IAIDATupleSvc::unregisterObject
virtual StatusCode unregisterObject(AIDA::ITuple *tObj)=0
IDataProviderSvc.h
IDataProviderSvc::registerObject
StatusCode registerObject(std::string_view fullPath, DataObject *pObject)
Register object with the data store.
Definition: IDataProviderSvc.h:67
IAIDATupleSvc
Definition: IAIDATupleSvc.h:35
IAIDATupleSvc::setCriteria
virtual void setCriteria(AIDA::ITuple *&tObj, const std::string &criteria)=0
Set criteria for reading, filtering the input.
IAIDATupleSvc::book
virtual AIDA::ITuple * book(const std::string &fullPath, const std::string &title, const std::string &columns)=0
IAIDATupleSvc::findObject
virtual StatusCode findObject(const std::string &fullPath, AIDA::ITuple *&tObj)=0
StatusCode
Definition: StatusCode.h:64
IAIDATupleSvc::DeclareInterfaceID
DeclareInterfaceID(IAIDATupleSvc, 3, 0)
InterfaceID.
IAIDATupleSvc::retrieveObject
virtual StatusCode retrieveObject(DataObject *parentObj, const std::string &objPath, AIDA::ITuple *&tObj)=0
IDataProviderSvc::retrieveObject
virtual StatusCode retrieveObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
IAIDATupleSvc::createPath
virtual DataObject * createPath(const std::string &newPath)=0
IAIDATupleSvc::registerObject
virtual StatusCode registerObject(const std::string &dirPath, const std::string &objPath, AIDA::ITuple *tObj)=0
IAIDATupleSvc::findObject
virtual StatusCode findObject(IRegistry *pDirectory, const std::string &path, AIDA::ITuple *&tObj)=0
IAIDATupleSvc::unregisterObject
virtual StatusCode unregisterObject(AIDA::ITuple *tObj, const std::string &objectPath)=0
DataObject
Definition: DataObject.h:37
IDataProviderSvc
Definition: IDataProviderSvc.h:48
IAIDATupleSvc::registerObject
virtual StatusCode registerObject(DataObject *pParent, const std::string &objPath, AIDA::ITuple *tObj)=0
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
IAIDATupleSvc::findObject
virtual StatusCode findObject(DataObject *parentObj, const std::string &objPath, AIDA::ITuple *&tObj)=0
IDataProviderSvc::findObject
virtual StatusCode findObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Find object identified by its directory entry.