40 typedef std::pair<std::string, std::string>
Prop;
66 NTuple::Tuple*
book(
const std::string& fullPath,
const CLID& type,
const std::string& title )
override;
69 const std::string& title )
override;
71 NTuple::Tuple*
book(
const std::string& dirPath,
long id,
const CLID& type,
const std::string& title )
override;
74 const std::string& title )
override;
99 bool isConnected(
const std::string& identifier )
const override;
120 StatusCode attachTuple(
const std::string& filename,
const std::string& logname,
const char typ,
const long t );
129 this,
"DiskBuffer",
false,
130 "Append rows of column-wise tuples to a file on disk during the run and build the TTrees at finalize" };
132 "Where to put the buffer directory; empty = next to the output file" };
134 "zstd level for the disk buffer files, 0 = uncompressed" };
136 this,
"DiskBufferBlockSize", 64 * 1024,
137 "Bytes of rows collected per tuple before a block is compressed and written: the memory held per "
138 "tuple, and what zstd can see at once (only worth raising when consecutive rows are near-copies)" };
unsigned int CLID
Class ID definition.
A DataObject is the base class of any identifiable object on any data store.
Implementation of property with value of concrete type.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Abstract base class which allows the user to interact with the actual N tuple implementation.
Gaudi::Property< std::string > m_diskBufferDir
NTuple::Directory * createDirectory(DataObject *pParent, const std::string &title) override
Create Ntuple directory and register it with the data store.
Gaudi::Property< int > m_basketsize
Gaudi::Property< DBaseEntries > m_output
StatusCode initialize() override
DataSvc overrides: Initialize the service.
bool isConnected(const std::string &identifier) const override
Check if a datasource is connected.
NTuple::Tuple * access(const std::string &fullPath, const std::string &filename) override
Access N tuple on disk.
NTupleSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
StatusCode attachTuple(const std::string &filename, const std::string &logname, const char typ, const long t)
Attach output/input file.
StatusCode disconnect(const std::string &nam) override
Close open connection.
Gaudi::Property< bool > m_diskBuffer
Gaudi::Property< DBaseEntries > m_input
Gaudi::Property< int > m_diskBufferBlockSize
StatusCode connect(const std::string &ident) override
Add file to list I/O list.
StatusCode finalize() override
DataSvc overrides: stop the service.
NTuple::Tuple * book(const std::string &fullPath, const CLID &type, const std::string &title) override
Book Ntuple and register it with the data store.
StatusCode disconnectAll() override
Close all open connections.
Gaudi::Property< int > m_diskBufferCompression
std::vector< std::string > DBaseEntries
StatusCode reinitialize() override
DataSvc overrides: reinitialize service.
StatusCode updateDirectories()
Update directory data.
std::pair< std::string, std::string > Prop
StatusCode create(const CLID &typ, const std::string &title, NTuple::Tuple *&refpTuple) override
Create requested N tuple (Hide constructor).
IConversionSvc * getDataLoader(IRegistry *pReg) override
DataSvc overrides: Retrieve data loader.
void releaseConnection(Connection &c)
Finalize single service.
StatusCode save(const std::string &fullPath) override
Save N tuple to disk. Must be called in order to close the ntuple file properly.
std::map< std::string, Connection > m_connections
Container of connection points.
StatusCode readRecord(NTuple::Tuple *tuple) override
Read single record from N tuple.
StatusCode writeRecord(NTuple::Tuple *tuple) override
Write single record to N tuple.
StatusCode createService(const std::string &nam, const std::string &typ, const std::vector< Prop > &props, IConversionSvc *&pSvc)
Create conversion service.
const std::string & name() const override
Retrieve name of the service.
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.
Small class representing an N tuple directory in the transient store.
Connection(IConversionSvc *s)
Connection(const Connection &c)