| # Gaudi Framework, version v20r2
Generated: 18 Jul 2008

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# INTupleSvc Class Reference

`#include <GaudiKernel/INTupleSvc.h>`

Inheritance diagram for INTupleSvc:

[legend]
Collaboration diagram for INTupleSvc:

[legend]
List of all members.

## 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 41 of file INTupleSvc.h.

## Public Member Functions
virtual StatusCode | create (const CLID &typ, const std::string &title, NTuple::Tuple *&refpTuple)=0
| Create requested N tuple (Hide constructor).
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 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 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 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.
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 NTuple::Directory * | createDirectory (DataObject *pParent, 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 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 &dirPath, const std::string &title)=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 StatusCode | save (const std::string &fullPath)=0
| Save N tuple to disk.
virtual StatusCode | save (NTuple::Tuple *tuple)=0
| Save N tuple to disk.
virtual StatusCode | save (DataObject *pParent, const std::string &relPath)=0
| Save N tuple to disk.
virtual StatusCode | writeRecord (NTuple::Tuple *tuple)=0
| Write single record to N tuple.
virtual StatusCode | writeRecord (const std::string &fullPath)=0
| Write single record to N tuple.
virtual StatusCode | writeRecord (DataObject *pParent, const std::string &relPath)=0
| Write single record to N tuple.
virtual StatusCode | readRecord (NTuple::Tuple *tuple)=0
| Read single record from N tuple.
virtual StatusCode | readRecord (const std::string &fullPath)=0
| Read single record from N tuple.
virtual StatusCode | readRecord (DataObject *pParent, const std::string &relPath)=0
| Read single record from N tuple.
## Static Public Member Functions
static const InterfaceID & | interfaceID ()
| Retrieve interface ID.

## Member Function Documentation

static const InterfaceID& INTupleSvc::interfaceID | ( |  | ) | `[inline, static]`

Retrieve interface ID.

Reimplemented from IDataProviderSvc.

Definition at line 44 of file INTupleSvc.h.

References IID_INTupleSvc.

    00044 { return IID_INTupleSvc; }

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

Create requested N tuple (Hide constructor).

Implemented in NTupleSvc.

Referenced by RootHistCnv::RCWNTupleCnv::load(), HbookCnv::HRWNTupleCnv::load(), and HbookCnv::HCWNTupleCnv::load().

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:

  | fullPath | Full path to the node of the object.
  | type | Class ID of the N tuple: Column or row wise.
  | title | Title property of the N tuple.
  | refpTuple | Reference to pointer to the N tuple to be booled and registered.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

Referenced by CollectionCloneAlg::book().

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:

  | dirPath | Path to parent node of the object.
  | relPath | Relative path to the object with respect to the parent node. The relative path is the identifier of the tuple.
  | title | Title property of the N tuple.
  | type | Class ID of the N tuple: Column or row wise.
  | refpTuple | Reference to pointer to the N tuple to be booled and registered.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | dirPath | Path to parent node of the object.
  | id | Identifier of the tuple within the parent's directory.
  | type | Class ID of the N tuple: Column or row wise.
  | title | Title property of the N tuple.
  | refpTuple | Reference to pointer to the N tuple to be booled and registered.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | pParent | Pointer to parent object.
  | relPath | Relative path to the object with respect to the parent node. The relative path is the identifier of the tuple.
  | type | Class ID of the N tuple: Column or row wise.
  | title | Title property of the N tuple.
  | refpTuple | Reference to pointer to the N tuple to be booled and registered.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | pParent | Pointer to parent object.
  | id | Identifier of the tuple within the parent's directory.
  | type | Class ID of the N tuple: Column or row wise.
  | title | Title property of the N tuple.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | pParent | Pointer to parent object.
  | title | Directory identifier.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | pParent | Pointer to parent object.
  | id | Identifier of the tuple within the parent's directory.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | dirPath | Full directory path to parent
  | id | Identifier of the tuple within the parent's directory.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | dirPath | Full directory path to parent
  | title | Directory identifier.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

virtual NTuple::Directory* INTupleSvc::createDirectory | ( | const std::string & | fullPath | ) | `[pure virtual]`

Create Ntuple directory and register it with the data store.

Parameters:

  | fullPath | Full directory path

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

virtual NTuple::Tuple* INTupleSvc::access | ( | const std::string & | fullPath,
|  | const std::string & | filename |
| ) |  |  | `[pure virtual]`

Access N tuple on disk.

Parameters:

  | fullPath | Full path to the N tuple within the transient store
  | filename | Name of the file the ntuple resides in.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | fullPath | Full path to the N tuple in memory.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

Referenced by NTuple::TupleImp::save().

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:

  | tuple | Pointer to the Ntuple in memory

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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:

  | pParent | Parent object of the N tuple
  | relPath | Relative path to the N tuple in memory with respect to the parent object.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

virtual StatusCode INTupleSvc::writeRecord | ( | NTuple::Tuple * | tuple | ) | `[pure virtual]`

Write single record to N tuple.

Parameters:

  | tuple | Pointer to the Ntuple in memory

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

Referenced by EvtCollectionStream::execute(), CollectionCloneAlg::mergeEntries(), NTuple::TupleImp::write(), NTuple::TupleImp::writeRecord(), and TagCollectionStream::writeTuple().

virtual StatusCode INTupleSvc::writeRecord | ( | const std::string & | fullPath | ) | `[pure virtual]`

Write single record to N tuple.

Parameters:

  | fullPath | Full path to the N tuple in memory.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

virtual StatusCode INTupleSvc::writeRecord | ( | DataObject * | pParent,
|  | const std::string & | relPath |
| ) |  |  | `[pure virtual]`

Write single record to N tuple.

Parameters:

  | pParent | Parent object of the N tuple
  | relPath | Relative path to the N tuple in memory with respect to the parent object.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

virtual StatusCode INTupleSvc::readRecord | ( | NTuple::Tuple * | tuple | ) | `[pure virtual]`

Read single record from N tuple.

Parameters:

  | tuple | Pointer to the Ntuple in memory

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

Referenced by EventCollectionSelector::getNextRecord(), EventCollectionSelector::getPreviousRecord(), CollectionCloneAlg::mergeEntries(), NTuple::TupleImp::read(), and NTuple::TupleImp::readRecord().

virtual StatusCode INTupleSvc::readRecord | ( | const std::string & | fullPath | ) | `[pure virtual]`

Read single record from N tuple.

Parameters:

  | fullPath | Full path to the N tuple in memory.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

virtual StatusCode INTupleSvc::readRecord | ( | DataObject * | pParent,
|  | const std::string & | relPath |
| ) |  |  | `[pure virtual]`

Read single record from N tuple.

Parameters:

  | pParent | Parent object of the N tuple
  | relPath | Relative path to the N tuple in memory with respect to the parent object.

Returns:
  Status code indicating success or failure.

Implemented in NTupleSvc.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r2/GaudiKernel/v25r2/GaudiKernel/INTupleSvc.h