9#ifndef POOL_RNTUPLECONTAINER_H
10#define POOL_RNTUPLECONTAINER_H 1
19#include "ROOT/RNTupleView.hxx"
30namespace ROOT {
class RNTupleReader; }
45 std::optional< ROOT::RNTupleView<void> >
view;
48 void*
object =
nullptr;
107 virtual StatusCode
close() override final;
112 pool::DbAccessMode mod) override final;
133 virtual uint64_t
size() override final;
156 virtual StatusCode
writeObject(ActionList::value_type&)
override final;
163 virtual StatusCode
transAct(
pool::Transaction::Action action) override final;
167 pool::DbContainer& cntH,
168 pool::ShapeH shape) override final;
virtual uint64_t nextRecordId() override final
Number of next record in the container (=size if no delete is allowed)
std::unique_ptr< RootAuxDynIO::IFactoryTool > m_auxDynTool
Factory object from AuxDynIO plugin that creates AuxDyn readers and writers.
pool::DbDatabase m_dbH
Parent Database handle.
const pool::DbTypeInfo * m_type
reference to exact type description
RootStorageSvc::RNTupleWriterHelper * m_ntupleWriter
Internal cache of the RNTupleWriterHelper.
ROOT::RNTupleReader * m_ntupleReader
Internal cache of the native RNTupleReader.
bool m_isDirty
flag set on writing to prevent double writes in the same commit
virtual StatusCode close() override final
Close the container and deallocate resources.
RNTupleContainer(const std::string &name)
virtual StatusCode checkAccess(pool::DbDatabase &dbH, const std::string &nam) const override final
Check if we can access the container for reading with the given type.
std::vector< FieldDesc > m_fieldDescs
List of field descriptors.
virtual StatusCode store(const void *object, pool::DbContainer &cntH, pool::ShapeH shape) override final
Store object in location.
virtual StatusCode getOption(pool::DbOption &opt) override final
Access options.
virtual uint64_t size() override final
Number of entries within the container.
void clearDirty()
Clear the dirty status (used after containing TTree was Filled)
pool::RootDatabase * m_rootDb
Root database file reference.
virtual ~RNTupleContainer()
virtual StatusCode transAct(pool::Transaction::Action action) override final
Execute transaction action.
virtual StatusCode loadObject(void **ptr, pool::ShapeH shape, Token::OID_t &oid) override final
Find object by object identifier and load it into memory.
const std::string & getName() const
Return the name of the container.
int m_ioBytes
Number of bytes written/read during last operation. Set to -1 if it failed.
virtual void useNextRecordId(uint64_t nextID) override final
Suggest next Record ID for tbe next object written - used only with synced indexes.
virtual StatusCode open(pool::DbDatabase &dbH, const std::string &nam, const pool::DbTypeInfo *info, pool::DbAccessMode mod) override final
Open the container for object access.
bool isDirty() const
Return true if this branch container was updated and it's TTree needs to be Filled.
virtual StatusCode writeObject(ActionList::value_type &) override final
Commit single entry to container.
virtual StatusCode setOption(const pool::DbOption &opt) override final
Set options.
const uint32_t m_indexMulti
StatusCode initObjectFieldDesc(FieldDesc &dsc)
Init a field description for an object (i.e. find TClass etc.)
Interface for a RNTuple-based Writer that handles AuxDyn attributes Works in conjuction with the gene...
Description: Definition of the generic column in a (relational) Database.
DbColumn()
Cache class information (if available) Do not allow unwanted instantiations by users.
"Generic" Container implementation
std::string m_name
Container name.
virtual std::string name() const override
Get container name.
Description: Handle managing a DbDatabaseObj, a generic Database object.
Definition of class DbTypeInfo.
Description: ROOT specific implementation of Database file.
Selection rules: declare transient members.
Specialization of RootAuxDynStore for reading Aux Dynamic attributes from RNTuple.
const class Shape * ShapeH
Definition of a field info structure.
FieldDesc & operator=(FieldDesc const &other)=delete
FieldDesc(const DbColumn &c)
std::unique_ptr< RootAuxDynIO::IRootAuxDynReader > auxdyn_reader
FieldDesc(FieldDesc const &other)=delete
FieldDesc(FieldDesc &&other)=default
std::optional< ROOT::RNTupleView< void > > view
std::unique_ptr< RootAuxDynIO::IRNTupleAuxDynWriter > auxdyn_writer
const std::string typeName()
FieldDesc & operator=(FieldDesc &&other)=default