Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
16 namespace NTuple {
17  class Tuple;
18  struct Directory;
19 } // namespace NTuple
20 
43 class GAUDI_API INTupleSvc : virtual public IDataProviderSvc {
44 public:
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 };
INTupleSvc::book
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.
INTupleSvc::readRecord
virtual StatusCode readRecord(NTuple::Tuple *tuple)=0
Read single record from N tuple.
INTupleSvc::book
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.
NTuple::Directory
Small class representing an N tuple directory in the transient store.
Definition: NTuple.h:906
INTupleSvc::save
virtual StatusCode save(DataObject *pParent, const std::string &relPath)=0
Save N tuple to disk.
ClassID.h
INTupleSvc::createDirectory
virtual NTuple::Directory * createDirectory(const std::string &dirPath, const std::string &title)=0
Create Ntuple directory and register it with the data store.
INTupleSvc::create
virtual StatusCode create(const CLID &typ, const std::string &title, NTuple::Tuple *&refpTuple)=0
Create requested N tuple (Hide constructor)
INTupleSvc::save
virtual StatusCode save(const std::string &fullPath)=0
Save N tuple to disk.
IDataProviderSvc.h
INTupleSvc::save
virtual StatusCode save(NTuple::Tuple *tuple)=0
Save N tuple to disk.
INTupleSvc::writeRecord
virtual StatusCode writeRecord(NTuple::Tuple *tuple)=0
Write single record to N tuple.
INTupleSvc::writeRecord
virtual StatusCode writeRecord(const std::string &fullPath)=0
Write single record to N tuple.
StatusCode
Definition: StatusCode.h:64
INTupleSvc::book
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.
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:16
INTupleSvc::writeRecord
virtual StatusCode writeRecord(DataObject *pParent, const std::string &relPath)=0
Write single record to N tuple.
gaudirun.type
type
Definition: gaudirun.py:160
INTupleSvc::access
virtual NTuple::Tuple * access(const std::string &fullPath, const std::string &filename)=0
Access N tuple on disk.
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:380
INTupleSvc::book
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.
INTupleSvc::book
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.
INTupleSvc::DeclareInterfaceID
DeclareInterfaceID(INTupleSvc, 2, 0)
InterfaceID.
DataObject
Definition: DataObject.h:37
NTuple
NTuple name space.
Definition: INTupleSvc.h:16
INTupleSvc::createDirectory
virtual NTuple::Directory * createDirectory(DataObject *pParent, long id)=0
Create Ntuple directory and register it with the data store.
INTupleSvc::readRecord
virtual StatusCode readRecord(DataObject *pParent, const std::string &relPath)=0
Read single record from N tuple.
IDataProviderSvc
Definition: IDataProviderSvc.h:48
INTupleSvc
Definition: INTupleSvc.h:43
INTupleSvc::createDirectory
virtual NTuple::Directory * createDirectory(const std::string &fullPath)=0
Create Ntuple directory and register it with the data store.
INTupleSvc::createDirectory
virtual NTuple::Directory * createDirectory(DataObject *pParent, const std::string &title)=0
Create Ntuple directory and register it with the data store.
INTupleSvc::readRecord
virtual StatusCode readRecord(const std::string &fullPath)=0
Read single record from N tuple.
graphanalysis.filename
filename
Definition: graphanalysis.py:130
INTupleSvc::createDirectory
virtual NTuple::Directory * createDirectory(const std::string &dirPath, long id)=0
Create Ntuple directory and register it with the data store.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49