The Gaudi Framework  master (594c33fa)
INTupleSvc Class Referenceabstract

#include <GaudiKernel/INTupleSvc.h>

Inheritance diagram for INTupleSvc:
Collaboration diagram for INTupleSvc:

Public Member Functions

 DeclareInterfaceID (INTupleSvc, 2, 0)
 InterfaceID. More...
 
virtual StatusCode create (const CLID &typ, const std::string &title, NTuple::Tuple *&refpTuple)=0
 Create requested N tuple (Hide constructor) More...
 
virtual NTuple::Tuplebook (const std::string &fullPath, const CLID &type, const std::string &title)=0
 Book Ntuple and register it with the data store. More...
 
virtual NTuple::Tuplebook (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. More...
 
virtual NTuple::Tuplebook (const std::string &dirPath, long id, const CLID &type, const std::string &title)=0
 Book Ntuple and register it with the data store. More...
 
virtual NTuple::Tuplebook (DataObject *pParent, const std::string &relPath, const CLID &type, const std::string &title)=0
 Book Ntuple and register it with the data store. More...
 
virtual NTuple::Tuplebook (DataObject *pParent, long id, const CLID &type, const std::string &title)=0
 Book Ntuple and register it with the data store. More...
 
virtual NTuple::DirectorycreateDirectory (DataObject *pParent, const std::string &title)=0
 Create Ntuple directory and register it with the data store. More...
 
virtual NTuple::DirectorycreateDirectory (DataObject *pParent, long id)=0
 Create Ntuple directory and register it with the data store. More...
 
virtual NTuple::DirectorycreateDirectory (const std::string &dirPath, long id)=0
 Create Ntuple directory and register it with the data store. More...
 
virtual NTuple::DirectorycreateDirectory (const std::string &dirPath, const std::string &title)=0
 Create Ntuple directory and register it with the data store. More...
 
virtual NTuple::DirectorycreateDirectory (const std::string &fullPath)=0
 Create Ntuple directory and register it with the data store. More...
 
virtual NTuple::Tupleaccess (const std::string &fullPath, const std::string &filename)=0
 Access N tuple on disk. More...
 
virtual StatusCode save (const std::string &fullPath)=0
 Save N tuple to disk. More...
 
virtual StatusCode save (NTuple::Tuple *tuple)=0
 Save N tuple to disk. More...
 
virtual StatusCode save (DataObject *pParent, const std::string &relPath)=0
 Save N tuple to disk. More...
 
virtual StatusCode writeRecord (NTuple::Tuple *tuple)=0
 Write single record to N tuple. More...
 
virtual StatusCode writeRecord (const std::string &fullPath)=0
 Write single record to N tuple. More...
 
virtual StatusCode writeRecord (DataObject *pParent, const std::string &relPath)=0
 Write single record to N tuple. More...
 
virtual StatusCode readRecord (NTuple::Tuple *tuple)=0
 Read single record from N tuple. More...
 
virtual StatusCode readRecord (const std::string &fullPath)=0
 Read single record from N tuple. More...
 
virtual StatusCode readRecord (DataObject *pParent, const std::string &relPath)=0
 Read single record from N tuple. More...
 
- Public Member Functions inherited from IDataProviderSvc
 DeclareInterfaceID (IDataProviderSvc, 4, 0)
 InterfaceID. More...
 
StatusCode registerObject (std::string_view fullPath, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode registerObject (std::string_view parentPath, std::string_view objectPath, DataObject *pObject)=0
 Register object with the data store. More...
 
StatusCode registerObject (std::string_view parentPath, int item, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode registerObject (DataObject *parentObj, std::string_view objectPath, DataObject *pObject)=0
 Register object with the data store. More...
 
StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store. More...
 
virtual StatusCode unregisterObject (std::string_view fullPath)=0
 Unregister object from the data store. More...
 
StatusCode unregisterObject (std::string_view parentPath, std::string_view objPath)
 Unregister object from the data store. More...
 
StatusCode unregisterObject (std::string_view parentPath, int item)
 Unregister object from the data store. More...
 
virtual StatusCode unregisterObject (DataObject *pObject)=0
 Unregister object from the data store. More...
 
virtual StatusCode unregisterObject (DataObject *pParent, std::string_view objPath)=0
 Unregister object from the data store. More...
 
StatusCode unregisterObject (DataObject *pParent, int item)
 Unregister object from the data store. More...
 
virtual StatusCode retrieveObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Retrieve object identified by its directory entry. More...
 
StatusCode retrieveObject (std::string_view fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store. More...
 
StatusCode retrieveObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (std::string_view parentPath, int item, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Retrieve object from data store. More...
 
StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store. More...
 
virtual StatusCode findObject (IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
 Find object identified by its directory entry. More...
 
virtual StatusCode findObject (std::string_view fullPath, DataObject *&pObject)=0
 Find object identified by its full path in the data store. More...
 
StatusCode findObject (std::string_view parentPath, std::string_view objectPath, DataObject *&pObject)
 Find object identified by its parent object and the path to the object relative to the parent. More...
 
StatusCode findObject (std::string_view parentPath, int item, DataObject *&pObject)
 Find object identified by its parent object and an integer identifier in the data store. More...
 
StatusCode findObject (DataObject *parentObj, std::string_view objectPath, DataObject *&pObject)
 Find object identified by its parent object and the path to the object relative to the parent. More...
 
StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Find object identified by its parent object and an integer identifier in the data store. More...
 
virtual StatusCode updateObject (IRegistry *pDirectory)=0
 Update object identified by its directory entry. More...
 
StatusCode updateObject (std::string_view fullPath)
 Update object identified by its full path in the data store. More...
 
virtual StatusCode updateObject (DataObject *toUpdate)=0
 Update object identified by its pointer. More...
 
StatusCode updateObject (std::string_view parentPath, std::string_view updatePath)
 Update object identified by its parent's path and the path relative to the parent. More...
 
StatusCode updateObject (DataObject *pParent, std::string_view updatePath)
 Update object identified by its parent's pointer and the path relative to the parent. More...
 
virtual StatusCode addPreLoadItem (const DataStoreItem &item)=0
 Add an item to the preload list. More...
 
StatusCode addPreLoadItem (std::string itemPath)
 Add an item to the preload list. More...
 
virtual StatusCode removePreLoadItem (const DataStoreItem &item)=0
 Remove an item from the preload list. More...
 
StatusCode removePreLoadItem (std::string itemPath)
 Remove an item from the preload list. More...
 
virtual StatusCode resetPreLoad ()=0
 Clear the preload list. More...
 
virtual StatusCode preLoad ()=0
 Load all preload items of the list. More...
 
virtual StatusCode linkObject (IRegistry *from, std::string_view objPath, DataObject *toObj)=0
 Add a link to another object. More...
 
StatusCode linkObject (std::string_view fromPath, std::string_view objPath, DataObject *toObj)
 Add a link to another object. More...
 
StatusCode linkObject (DataObject *fromObj, std::string_view objPath, DataObject *toObj)
 Add a link to another object. More...
 
virtual StatusCode linkObject (std::string_view fullPath, DataObject *toObj)=0
 Add a link to another object. More...
 
virtual StatusCode unlinkObject (IRegistry *from, std::string_view objPath)=0
 Remove a link to another object. More...
 
StatusCode unlinkObject (std::string_view fromPath, std::string_view objPath)
 Remove a link to another object. More...
 
virtual StatusCode unlinkObject (DataObject *fromObj, std::string_view objPath)=0
 Remove a link to another object. More...
 
virtual StatusCode unlinkObject (std::string_view fullPath)=0
 Remove a link to another object. More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::stringgetInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()=default
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from IDataProviderSvc
enum  { SEPARATOR = '/' }
 
enum  Status : StatusCode::code_t {
  Status::IDataProviderSvc_NO_ERROR = 1, Status::DOUBL_OBJ_PATH, Status::INVALID_OBJ_PATH, Status::INVALID_ROOT,
  Status::INVALID_OBJECT, Status::INVALID_PARENT, Status::OBJ_NOT_LOADED, Status::NO_DATA_LOADER,
  Status::INVALID_OBJ_ADDR, Status::DIR_NOT_EMPTY, Status::NO_MORE_LEVELS, Status::NO_ACCESS,
  Status::LAST
}
 Status code definitions. More...
 
- Public Types inherited from IInterface
enum  Status : StatusCode::code_t {
  Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH,
  Status::LAST_ERROR
}
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

The ntuple service interface allows to:

  • Export the data provider's functionality.
  • Extend the functionality in order to book abstract N tuples:
    • Book COLUMN WISE N tuples.
    • Book ROW WISE N tuples.
    • Access a persistent N tuple within a file
    • Save the N tuple after filling.
    • Write individual records from to a N tuple.
    • Read individual records from an existing N tuple.
    created N tuples are automatically put onto the N tuple data store.
Author
Markus Frank
Version
1.0

Definition at line 46 of file INTupleSvc.h.

Member Function Documentation

◆ access()

virtual NTuple::Tuple* INTupleSvc::access ( const std::string fullPath,
const std::string filename 
)
pure virtual

Access N tuple on disk.

Parameters
fullPathFull path to the N tuple within the transient store
filenameName of the file the ntuple resides in.
Returns
Status code indicating success or failure.

◆ book() [1/5]

virtual NTuple::Tuple* INTupleSvc::book ( const std::string dirPath,
const std::string relPath,
const CLID type,
const std::string title 
)
pure virtual

Book Ntuple and register it with the data store.

Connects the object identified by its relative path to the parent object identified by the base name.

Parameters
dirPathPath to parent node of the object.
relPathRelative path to the object with respect to the parent node. The relative path is the identifier of the tuple.
titleTitle property of the N tuple.
typeClass ID of the N tuple: Column or row wise.
refpTupleReference to pointer to the N tuple to be booled and registered.
Returns
Status code indicating success or failure.

◆ book() [2/5]

virtual NTuple::Tuple* INTupleSvc::book ( const std::string dirPath,
long  id,
const CLID type,
const std::string title 
)
pure virtual

Book Ntuple and register it with the data store.

Connects the object identified by an identifier to the parent object identified by the base name.

Parameters
dirPathPath to parent node of the object.
idIdentifier of the tuple within the parent's directory.
typeClass ID of the N tuple: Column or row wise.
titleTitle property of the N tuple.
refpTupleReference to pointer to the N tuple to be booled and registered.
Returns
Status code indicating success or failure.

◆ book() [3/5]

virtual NTuple::Tuple* INTupleSvc::book ( const std::string fullPath,
const CLID type,
const std::string title 
)
pure virtual

Book Ntuple and register it with the data store.

Connects the object identified by its full path to the parent object identified by the base name of the full path.

Parameters
fullPathFull path to the node of the object.
typeClass ID of the N tuple: Column or row wise.
titleTitle property of the N tuple.
refpTupleReference to pointer to the N tuple to be booled and registered.
Returns
Status code indicating success or failure.

◆ book() [4/5]

virtual NTuple::Tuple* INTupleSvc::book ( DataObject pParent,
const std::string relPath,
const CLID type,
const std::string title 
)
pure virtual

Book Ntuple and register it with the data store.

Connects the object identified by an identifier (id) to the parent object identified by the parent's pointer.

Parameters
pParentPointer to parent object.
relPathRelative path to the object with respect to the parent node. The relative path is the identifier of the tuple.
typeClass ID of the N tuple: Column or row wise.
titleTitle property of the N tuple.
refpTupleReference to pointer to the N tuple to be booled and registered.
Returns
Status code indicating success or failure.

◆ book() [5/5]

virtual NTuple::Tuple* INTupleSvc::book ( DataObject pParent,
long  id,
const CLID type,
const std::string title 
)
pure virtual

Book Ntuple and register it with the data store.

Connects the object identified by its relative path to the parent object identified by the parent's pointer.

Parameters
pParentPointer to parent object.
idIdentifier of the tuple within the parent's directory.
typeClass ID of the N tuple: Column or row wise.
titleTitle property of the N tuple.
Returns
Status code indicating success or failure.

◆ create()

virtual StatusCode INTupleSvc::create ( const CLID typ,
const std::string title,
NTuple::Tuple *&  refpTuple 
)
pure virtual

Create requested N tuple (Hide constructor)

◆ createDirectory() [1/5]

virtual NTuple::Directory* INTupleSvc::createDirectory ( const std::string dirPath,
const std::string title 
)
pure virtual

Create Ntuple directory and register it with the data store.

Connects the object identified by its path to the parent object identified by the parent's path.

Parameters
dirPathFull directory path to parent
titleDirectory identifier.
Returns
Status code indicating success or failure.

◆ createDirectory() [2/5]

virtual NTuple::Directory* INTupleSvc::createDirectory ( const std::string dirPath,
long  id 
)
pure virtual

Create Ntuple directory and register it with the data store.

Connects the object identified by its relative path to the parent object identified by the parent's pointer.

Parameters
dirPathFull directory path to parent
idIdentifier of the tuple within the parent's directory.
Returns
Status code indicating success or failure.

◆ createDirectory() [3/5]

virtual NTuple::Directory* INTupleSvc::createDirectory ( const std::string fullPath)
pure virtual

Create Ntuple directory and register it with the data store.

Parameters
fullPathFull directory path
Returns
Status code indicating success or failure.

◆ createDirectory() [4/5]

virtual NTuple::Directory* INTupleSvc::createDirectory ( DataObject pParent,
const std::string title 
)
pure virtual

Create Ntuple directory and register it with the data store.

Connects the object identified by its relative path to the parent object identified by the parent's pointer.

Parameters
pParentPointer to parent object.
titleDirectory identifier.
Returns
Status code indicating success or failure.

◆ createDirectory() [5/5]

virtual NTuple::Directory* INTupleSvc::createDirectory ( DataObject pParent,
long  id 
)
pure virtual

Create Ntuple directory and register it with the data store.

Connects the object identified by its relative path to the parent object identified by the parent's pointer.

Parameters
pParentPointer to parent object.
idIdentifier of the tuple within the parent's directory.
Returns
Status code indicating success or failure.

◆ DeclareInterfaceID()

INTupleSvc::DeclareInterfaceID ( INTupleSvc  ,
,
 
)

◆ readRecord() [1/3]

virtual StatusCode INTupleSvc::readRecord ( const std::string fullPath)
pure virtual

Read single record from N tuple.

Parameters
fullPathFull path to the N tuple in memory.
Returns
Status code indicating success or failure.

◆ readRecord() [2/3]

virtual StatusCode INTupleSvc::readRecord ( DataObject pParent,
const std::string relPath 
)
pure virtual

Read single record from N tuple.

Parameters
pParentParent object of the N tuple
relPathRelative path to the N tuple in memory with respect to the parent object.
Returns
Status code indicating success or failure.

◆ readRecord() [3/3]

virtual StatusCode INTupleSvc::readRecord ( NTuple::Tuple tuple)
pure virtual

Read single record from N tuple.

Parameters
tuplePointer to the Ntuple in memory
Returns
Status code indicating success or failure.

◆ save() [1/3]

virtual StatusCode INTupleSvc::save ( const std::string fullPath)
pure virtual

Save N tuple to disk.

Must be called in order to close the ntuple file properly

Parameters
fullPathFull path to the N tuple in memory.
Returns
Status code indicating success or failure.

◆ save() [2/3]

virtual StatusCode INTupleSvc::save ( DataObject pParent,
const std::string relPath 
)
pure virtual

Save N tuple to disk.

Must be called in order to close the ntuple file properly

Parameters
pParentParent object of the N tuple
relPathRelative path to the N tuple in memory with respect to the parent object.
Returns
Status code indicating success or failure.

◆ save() [3/3]

virtual StatusCode INTupleSvc::save ( NTuple::Tuple tuple)
pure virtual

Save N tuple to disk.

Must be called in order to close the ntuple file properly

Parameters
tuplePointer to the Ntuple in memory
Returns
Status code indicating success or failure.

◆ writeRecord() [1/3]

virtual StatusCode INTupleSvc::writeRecord ( const std::string fullPath)
pure virtual

Write single record to N tuple.

Parameters
fullPathFull path to the N tuple in memory.
Returns
Status code indicating success or failure.

◆ writeRecord() [2/3]

virtual StatusCode INTupleSvc::writeRecord ( DataObject pParent,
const std::string relPath 
)
pure virtual

Write single record to N tuple.

Parameters
pParentParent object of the N tuple
relPathRelative path to the N tuple in memory with respect to the parent object.
Returns
Status code indicating success or failure.

◆ writeRecord() [3/3]

virtual StatusCode INTupleSvc::writeRecord ( NTuple::Tuple tuple)
pure virtual

Write single record to N tuple.

Parameters
tuplePointer to the Ntuple in memory
Returns
Status code indicating success or failure.

The documentation for this class was generated from the following file: