The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
INTupleSvc.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
13#include <GaudiKernel/ClassID.h>
15
16namespace NTuple {
17 class Tuple;
18 struct Directory;
19} // namespace NTuple
20
43class GAUDI_API INTupleSvc : virtual public IDataProviderSvc {
44public:
48 virtual StatusCode create( const CLID& typ, const std::string& title, NTuple::Tuple*& refpTuple ) = 0;
58 virtual NTuple::Tuple* book( const std::string& fullPath, const CLID& type, const std::string& title ) = 0;
70 virtual NTuple::Tuple* book( const std::string& dirPath, const std::string& relPath, const CLID& type,
71 const std::string& title ) = 0;
82 virtual NTuple::Tuple* book( const std::string& dirPath, long id, const CLID& type, const std::string& title ) = 0;
94 virtual NTuple::Tuple* book( DataObject* pParent, const std::string& relPath, const CLID& type,
95 const std::string& title ) = 0;
105 virtual NTuple::Tuple* book( DataObject* pParent, long id, const CLID& type, const std::string& title ) = 0;
113 virtual NTuple::Directory* createDirectory( DataObject* pParent, const std::string& title ) = 0;
121 virtual NTuple::Directory* createDirectory( DataObject* pParent, long id ) = 0;
129 virtual NTuple::Directory* createDirectory( const std::string& dirPath, long id ) = 0;
137 virtual NTuple::Directory* createDirectory( const std::string& dirPath, const std::string& title ) = 0;
142 virtual NTuple::Directory* createDirectory( const std::string& fullPath ) = 0;
148 virtual NTuple::Tuple* access( const std::string& fullPath, const std::string& filename ) = 0;
149
154 virtual StatusCode save( const std::string& fullPath ) = 0;
155
160 virtual StatusCode save( NTuple::Tuple* tuple ) = 0;
161
168 virtual StatusCode save( DataObject* pParent, const std::string& relPath ) = 0;
169
174 virtual StatusCode writeRecord( NTuple::Tuple* tuple ) = 0;
175
180 virtual StatusCode writeRecord( const std::string& fullPath ) = 0;
181
188 virtual StatusCode writeRecord( DataObject* pParent, const std::string& relPath ) = 0;
189
194 virtual StatusCode readRecord( NTuple::Tuple* tuple ) = 0;
195
200 virtual StatusCode readRecord( const std::string& fullPath ) = 0;
201
208 virtual StatusCode readRecord( DataObject* pParent, const std::string& relPath ) = 0;
209};
unsigned int CLID
Class ID definition.
Definition ClassID.h:16
#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
Data provider interface definition.
virtual StatusCode save(DataObject *pParent, const std::string &relPath)=0
Save N tuple to disk.
virtual NTuple::Tuple * book(DataObject *pParent, long id, const CLID &type, const std::string &title)=0
Book Ntuple and register it with the data store.
virtual StatusCode writeRecord(DataObject *pParent, const std::string &relPath)=0
Write single record to N tuple.
virtual StatusCode readRecord(DataObject *pParent, const std::string &relPath)=0
Read single record from N tuple.
virtual StatusCode readRecord(NTuple::Tuple *tuple)=0
Read single record from N tuple.
virtual StatusCode create(const CLID &typ, const std::string &title, NTuple::Tuple *&refpTuple)=0
Create requested N tuple (Hide constructor)
virtual StatusCode readRecord(const std::string &fullPath)=0
Read single record from N tuple.
virtual NTuple::Directory * createDirectory(const std::string &dirPath, const std::string &title)=0
Create Ntuple directory and register it with the data store.
virtual NTuple::Directory * createDirectory(DataObject *pParent, long id)=0
Create Ntuple directory and register it with the data store.
virtual StatusCode writeRecord(const std::string &fullPath)=0
Write single record to N tuple.
virtual NTuple::Directory * createDirectory(const std::string &dirPath, long id)=0
Create Ntuple directory and register it with the data store.
virtual NTuple::Directory * createDirectory(const std::string &fullPath)=0
Create Ntuple directory and register it with the data store.
virtual NTuple::Tuple * access(const std::string &fullPath, const std::string &filename)=0
Access N tuple on disk.
virtual NTuple::Tuple * book(const std::string &fullPath, const CLID &type, const std::string &title)=0
Book Ntuple and register it with the data store.
virtual StatusCode writeRecord(NTuple::Tuple *tuple)=0
Write single record to N tuple.
virtual NTuple::Directory * createDirectory(DataObject *pParent, const std::string &title)=0
Create Ntuple directory and register it with the data store.
virtual NTuple::Tuple * book(DataObject *pParent, const std::string &relPath, const CLID &type, const std::string &title)=0
Book Ntuple and register it with the data store.
DeclareInterfaceID(INTupleSvc, 2, 0)
InterfaceID.
virtual NTuple::Tuple * book(const std::string &dirPath, long id, const CLID &type, const std::string &title)=0
Book Ntuple and register it with the data store.
virtual StatusCode save(const std::string &fullPath)=0
Save N tuple to disk.
virtual NTuple::Tuple * book(const std::string &dirPath, const std::string &relPath, const CLID &type, const std::string &title)=0
Book Ntuple and register it with the data store.
virtual StatusCode save(NTuple::Tuple *tuple)=0
Save N tuple to disk.
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition NTuple.h:380
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
NTuple name space.
Definition INTupleSvc.h:16
Small class representing an N tuple directory in the transient store.
Definition NTuple.h:906