![]() |
ATLAS Offline Software
|
#include <src/RootTreeContainer.h>
Classes | |
| struct | BranchDesc |
| Definiton of a branch descriptor. More... | |
Public Member Functions | |
| RootTreeContainer (const std::string &name) | |
| virtual | ~RootTreeContainer () |
| virtual DbStatus | close () override |
| Close the container and deallocate resources. More... | |
| virtual DbStatus | open (DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mod) override |
| Open the container for object access. More... | |
| virtual DbStatus | checkAccess (DbDatabase &dbH, const std::string &nam) const override final |
| Check if we can access the container for reading with the given type. More... | |
| virtual DbStatus | getOption (DbOption &opt) override |
| Access options. More... | |
| virtual DbStatus | setOption (const DbOption &opt) override |
| Set options. More... | |
| virtual DbStatus | select (DbSelect &sel) override |
| Define selection. More... | |
| virtual uint64_t | size () override |
| Number of entries within the container. More... | |
| TTree * | getTTree () |
| return the TTree in which this container is stored More... | |
| const std::string & | getName () const |
| return the name of the container More... | |
| bool | isBranchContainer () const |
| is this a container in a TBranch? (regular ones take the whole TTree) More... | |
| void | setTreeFillMode (bool mode) |
| set Tree Filling mode (true/false) for branch containers More... | |
| bool | usingTreeFillMode () const |
| return true if this branch container is using TTree Filling mode More... | |
| bool | isDirty () const |
| return true if this branch container was updated and it's TTree needs to be Filled More... | |
| void | clearDirty () |
| clear the dirty status (used after containing TTree was Filled) More... | |
| virtual DbStatus | fetch (DbSelect &sel) override |
| Fetch next object address of the selection to set token. More... | |
| virtual DbStatus | fetch (const Token::OID_t &linkH, Token::OID_t &stmt) override |
| Fetch refined object address. Default implementation returns identity. More... | |
| virtual DbStatus | loadObject (void **ptr, ShapeH shape, Token::OID_t &oid) override |
| Find object by object identifier and load it into memory. More... | |
| virtual DbStatus | writeObject (ActionList::value_type &) override |
| Commit single entry to container. More... | |
| virtual DbStatus | transAct (Transaction::Action action) override |
| Execute Transaction action. More... | |
| virtual void | release () override |
| Release instance (Abstract interfaces do not expose destructor!) More... | |
| virtual std::string | name () const override |
| Get container name. More... | |
| virtual uint64_t | nextRecordId () override |
| Number of next record in the container (=size if no delete is allowed) More... | |
| virtual void | useNextRecordId (uint64_t) override |
| Suggest next Record ID for tbe next object written - used only with synced indexes. More... | |
| virtual void * | allocate (unsigned long siz, DbContainer &cntH, ShapeH shape) override |
| In place allocation of raw memory for the transient object. More... | |
| virtual DbStatus | allocate (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid) override |
| In place allocation of object location. More... | |
| virtual DbStatus | free (void *ptr, DbContainer &cntH) override |
| In place deletion of raw memory. More... | |
| virtual DbStatus | save (DbObjectHandle< DbObject > &objH) override |
| Add single entry to container. More... | |
| virtual DbStatus | save (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &linkH) override |
| Save new object in the container and return its handle. More... | |
| virtual DbStatus | load (void **ptr, ShapeH shape, const Token::OID_t &lnkH, Token::OID_t &oid, bool any_next) override |
| Find object within the container and load it into memory. More... | |
| virtual DbStatus | clearStack () |
| Clear Transaction stack containing transaction requests. More... | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More... | |
| MsgStream & | msg () const |
| The standard message stream. More... | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More... | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. More... | |
Protected Types | |
| typedef std::vector< BranchDesc > | Branches |
| Definition of the branch container. More... | |
| typedef std::vector< DbAction > | ActionList |
Protected Member Functions | |
| int | stackType () const |
| Access accumulated stack entry types. More... | |
| size_t | stackSize () const |
| Access stack size. More... | |
| ActionList::value_type * | stackEntry (size_t which) |
| Internal: get access to stack entry. More... | |
| virtual DbStatus | commitTransaction () |
| Execute object modification requests during a transaction. More... | |
Protected Attributes | |
| TTree * | m_tree |
| Reference to the root tree object. More... | |
| const DbTypeInfo * | m_type |
| reference to exact type description More... | |
| Branches | m_branches |
| Branch map. More... | |
| DbDatabase | m_dbH |
| Parent Database handle. More... | |
| RootDatabase * | m_rootDb |
| Root database file reference. More... | |
| std::string | m_branchName |
| Branch name, if branch is specified by user. More... | |
| int | m_ioBytes |
| Number of bytes written/read during last operation. Set to -1 if it failed. More... | |
| bool | m_treeFillMode |
| if True, branch container will not use Branch->Fill() but will be filled with its Tree by the database instance More... | |
| bool | m_isDirty |
| flag set when a branch container was updated (but the branch was not Filled) More... | |
| std::unique_ptr< RootAuxDynIO::IFactoryTool > | m_auxDynTool |
| Factory object from AuxDynIO plugin that creates AuxDyn readers and writers. More... | |
| std::string | m_name |
| Container name. More... | |
| bool | m_canUpdate |
| Flag to indicate if object updates are supported. More... | |
| bool | m_canDestroy |
| Flag to indicate if object removals are supported. More... | |
Private Member Functions | |
| DbStatus | addBranch (const DbColumn *col, BranchDesc &dsc, const std::string &desc) |
| Add item branch. More... | |
| DbStatus | addObject (DbDatabase &dbH, const DbColumn *col, BranchDesc &dsc, const std::string &desc, int splitLevel, int bufferSize, int branchOffsetTabLen) |
| Add BLOB. More... | |
| DbStatus | finishTransAct () |
| TBranch * | branch (const std::string &nam) const |
| Access branch by name. More... | |
| void | setBranchOffsetTabLen (TBranch *b, int offsettab_len) |
| Recursively set Offset Table length for a branch and it's subbranches. More... | |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. More... | |
Private Attributes | |
| ActionList | m_stack |
| Transaction fifo storage for writing. More... | |
| size_t | m_size |
| Current size of the transaction stack. More... | |
| size_t | m_writeSize |
| Number of objects to be written out during open transaction. More... | |
| int | m_stackType |
| Accumulated stack entry types. More... | |
| std::string | m_nm |
| Message source name. More... | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) More... | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. More... | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. More... | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) More... | |
Description: ROOT specific implementation of Database container. Since objects in root are stored in "trees with branches", this object corresponds to a tuple (Tree/Branch), where each object type (determined by the location of the transient object within the data store) is accessed by the "Event" number inside its tree.
Definition at line 59 of file RootTreeContainer.h.
|
protectedinherited |
Definition at line 63 of file DbContainerImp.h.
|
protected |
Definition of the branch container.
Definition at line 93 of file RootTreeContainer.h.
|
explicit |
|
virtual |
|
private |
Add item branch.
|
private |
Add BLOB.
|
overridevirtualinherited |
In place allocation of object location.
Implements pool::IDbContainer.
|
overridevirtualinherited |
In place allocation of raw memory for the transient object.
Implements pool::IDbContainer.
|
private |
Access branch by name.
|
finaloverridevirtual |
Check if we can access the container for reading with the given type.
Implements pool::IDbContainer.
|
inline |
clear the dirty status (used after containing TTree was Filled)
Definition at line 198 of file RootTreeContainer.h.
|
virtualinherited |
Clear Transaction stack containing transaction requests.
|
overridevirtual |
Close the container and deallocate resources.
Reimplemented from pool::DbContainerImp.
|
protectedvirtualinherited |
Execute object modification requests during a transaction.
|
overridevirtual |
Fetch refined object address. Default implementation returns identity.
Reimplemented from pool::DbContainerImp.
Fetch next object address of the selection to set token.
Reimplemented from pool::DbContainerImp.
|
private |
|
overridevirtualinherited |
In place deletion of raw memory.
Implements pool::IDbContainer.
|
inline |
Access options.
| opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
|
inline |
return the TTree in which this container is stored
Definition at line 180 of file RootTreeContainer.h.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
inline |
is this a container in a TBranch? (regular ones take the whole TTree)
Definition at line 186 of file RootTreeContainer.h.
|
inline |
return true if this branch container was updated and it's TTree needs to be Filled
Definition at line 195 of file RootTreeContainer.h.
|
overridevirtualinherited |
Find object within the container and load it into memory.
| ptr | [IN/OUT] ROOT-style address of the pointer to object |
| shape | [IN] Object type |
| linkH | [IN] Preferred object OID |
| oid | [OUT] Actual object OID |
| any_next | [IN] On selection, objects may be skipped. If objects are skipped, the actual oid will differ from the preferred oid. |
Implements pool::IDbContainer.
Reimplemented in pool::RootKeyContainer.
|
overridevirtual |
Find object by object identifier and load it into memory.
| ptr | [IN/OUT] ROOT-style address of the pointer to object |
| shape | [IN] Object type |
| oid | [OUT] Object OID |
Implements pool::DbContainerImp.
Reimplemented in pool::RootTreeIndexContainer.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
| lvl | The message level to test against |
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
inlineoverridevirtualinherited |
|
overridevirtualinherited |
Number of next record in the container (=size if no delete is allowed)
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeIndexContainer, and pool::RootKeyContainer.
|
overridevirtual |
Open the container for object access.
Implements pool::IDbContainer.
Reimplemented in pool::RootTreeIndexContainer.
|
inlineoverridevirtualinherited |
Release instance (Abstract interfaces do not expose destructor!)
Implements pool::IDbContainer.
Definition at line 102 of file DbContainerImp.h.
|
overridevirtualinherited |
Save new object in the container and return its handle.
| cntH | [IN] Handle to container object. |
| object | [IN] Data object |
| linkH | [OUT] Internal OID to identify object. |
Implements pool::IDbContainer.
|
overridevirtualinherited |
Define selection.
Implements pool::IDbContainer.
|
private |
Recursively set Offset Table length for a branch and it's subbranches.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
Set options.
| opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
| void pool::RootTreeContainer::setTreeFillMode | ( | bool | mode | ) |
set Tree Filling mode (true/false) for branch containers
|
overridevirtual |
Number of entries within the container.
Reimplemented from pool::DbContainerImp.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
overridevirtual |
Execute Transaction action.
Reimplemented from pool::DbContainerImp.
|
inlineoverridevirtualinherited |
Suggest next Record ID for tbe next object written - used only with synced indexes.
Implements pool::IDbContainer.
Reimplemented in pool::RootTreeIndexContainer, and RNTupleContainer.
Definition at line 111 of file DbContainerImp.h.
|
inline |
return true if this branch container is using TTree Filling mode
Definition at line 192 of file RootTreeContainer.h.
|
overridevirtual |
Commit single entry to container.
Reimplemented from pool::DbContainerImp.
Reimplemented in pool::RootTreeIndexContainer.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
protected |
Factory object from AuxDynIO plugin that creates AuxDyn readers and writers.
Definition at line 115 of file RootTreeContainer.h.
|
protected |
Branch map.
Definition at line 100 of file RootTreeContainer.h.
|
protected |
Branch name, if branch is specified by user.
Definition at line 106 of file RootTreeContainer.h.
|
protectedinherited |
Flag to indicate if object removals are supported.
Definition at line 80 of file DbContainerImp.h.
|
protectedinherited |
Flag to indicate if object updates are supported.
Definition at line 78 of file DbContainerImp.h.
|
protected |
Parent Database handle.
Definition at line 102 of file RootTreeContainer.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
protected |
Number of bytes written/read during last operation. Set to -1 if it failed.
Definition at line 108 of file RootTreeContainer.h.
|
protected |
flag set when a branch container was updated (but the branch was not Filled)
Definition at line 112 of file RootTreeContainer.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
protectedinherited |
Container name.
Definition at line 76 of file DbContainerImp.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
protected |
Root database file reference.
Definition at line 104 of file RootTreeContainer.h.
|
privateinherited |
Current size of the transaction stack.
Definition at line 69 of file DbContainerImp.h.
|
privateinherited |
Transaction fifo storage for writing.
Definition at line 67 of file DbContainerImp.h.
|
privateinherited |
Accumulated stack entry types.
Definition at line 73 of file DbContainerImp.h.
|
protected |
Reference to the root tree object.
Definition at line 96 of file RootTreeContainer.h.
|
protected |
if True, branch container will not use Branch->Fill() but will be filled with its Tree by the database instance
Definition at line 110 of file RootTreeContainer.h.
|
protected |
reference to exact type description
Definition at line 98 of file RootTreeContainer.h.
|
privateinherited |
Number of objects to be written out during open transaction.
Definition at line 71 of file DbContainerImp.h.
1.8.18