|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef POOL_ROOTTREECONTAINER_H
14 #define POOL_ROOTTREECONTAINER_H 1
31 namespace SG {
class IAuxStoreIO; }
33 class IRootAuxDynWriter;
34 class IRootAuxDynReader;
68 void*
object =
nullptr;
120 const std::string&
desc);
126 const std::string&
desc,
129 int branchOffsetTabLen);
140 TBranch*
branch(
const std::string& nam)
const;
157 const std::string& nam,
228 #endif //POOL_ROOTTREECONTAINER_H
void setBranchOffsetTabLen(TBranch *b, int offsettab_len)
Recursively set Offset Table length for a branch and it's subbranches.
std::unique_ptr< RootAuxDynIO::IRootAuxDynReader > auxdyn_reader
BranchDesc(TClass *cl, TBranch *b, TLeaf *l, void *o, const DbColumn *c)
Branches m_branches
Branch map.
bool m_treeFillMode
if True, branch container will not use Branch->Fill() but will be filled with its Tree by the databas...
virtual DbStatus close() override
Close the container and deallocate resources.
std::string m_branchName
Branch name, if branch is specified by user.
TTree * getTTree()
return the TTree in which this container is stored
DbStatus addBranch(const DbColumn *col, BranchDesc &dsc, const std::string &desc)
Add item branch.
DbStatus selectRow(const DataCallBack *call, const Token::OID_t &linkH, DbAccessMode mode)
Find entry identified by his number (=primary key) in the Database.
const std::string & getName() const
return the name of the container
RootTreeContainer()
Standard constructor.
std::string m_name
Container name.
bool usingTreeFillMode() const
return true if this branch container is using TTree Filling mode
virtual ~RootTreeContainer()
Standard destructor.
SG::IAuxStoreIO * getIOStorePtr()
Interface providing I/O for a generic auxiliary store.
BranchDesc & operator=(BranchDesc &&other)=default
TTree * m_tree
Reference to the root tree object.
int m_ioBytes
Number of bytes written/read during last operation. Set to -1 if it failed.
DbStatus finishTransAct()
const class Shape * ShapeH
virtual DbStatus getOption(DbOption &opt) override
Access options.
def call(args, bufsize=0, executable=None, stdin=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, message="", logger=msg, loglevel=None, timeout=None, retry=2, timefactor=1.5, sleeptime=10)
BranchDesc(BranchDesc &&other)=default
std::unique_ptr< RootAuxDynIO::IRootAuxDynWriter > auxdyn_writer
Definiton of a branch descriptor.
TBranch * branch(const std::string &nam) const
Access branch by name.
virtual DbStatus open(DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mod) override
Open the container for object access.
bool isBranchContainer() const
is this a container in a TBranch? (regular ones take the whole TTree)
const DbTypeInfo * m_type
reference to exact type description
RootDatabase * m_rootDb
Root database file reference.
std::vector< BranchDesc > Branches
Definition of the branch container.
virtual DbStatus transAct(Transaction::Action action) override
Execute Transaction action.
virtual DbStatus fetch(DbSelect &sel) override
Fetch next object address of the selection to set token.
virtual DbStatus isShapeSupported(const DbTypeInfo *typ) const override
Ask if a given shape is supported.
int aux_iostore_IFoffset
IOStore interface offset for object type in this branch (for casting)
DbDatabase m_dbH
Parent Database handle.
virtual DbStatus writeObject(ActionList::value_type &) override
Commit single entry to container.
Specialization of RootAuxDynStore for reading Aux Dynamic attributes from RNTuple.
virtual DbStatus select(DbSelect &criteria) override
Define selection criteria.
bool m_isDirty
flag set when a branch container was updated (but the branch was not Filled)
virtual uint64_t size() override
Number of entries within the container.
virtual DbStatus loadObject(void **ptr, ShapeH shape, Token::OID_t &oid) override
Find object by object identifier and load it into memory.
BranchDesc & operator=(BranchDesc const &other)=delete
bool isDirty() const
return true if this branch container was updated and it's TTree needs to be Filled
void clearDirty()
clear the dirty status (used after containing TTree was Filled)
BranchDesc(BranchDesc const &other)=delete
virtual DbStatus fetch(const Token::OID_t &linkH, Token::OID_t &stmt) override
Fetch refined object address. Default implementation returns identity.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
DbStatus addObject(DbDatabase &dbH, const DbColumn *col, BranchDesc &dsc, const std::string &desc, int splitLevel, int bufferSize, int branchOffsetTabLen)
Add BLOB.
virtual DbStatus setOption(const DbOption &opt) override
Set options.
void setTreeFillMode(bool mode)
set Tree Filling mode (true/false) for branch containers