![]() |
ATLAS Offline Software
|
Description: RNTUPLE specific implementation of Database Container. More...
#include <src/RNTupleContainer.h>
Classes | |
| struct | FieldDesc |
| Definition of a field info structure. More... | |
Public Member Functions | |
| RNTupleContainer (const std::string &name) | |
| virtual | ~RNTupleContainer () |
| virtual StatusCode | close () override final |
| Close the container and deallocate resources. | |
| 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. | |
| 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. | |
| virtual StatusCode | getOption (pool::DbOption &opt) override final |
| Access options. | |
| virtual StatusCode | setOption (const pool::DbOption &opt) override final |
| Set options. | |
| virtual uint64_t | size () override final |
| Number of entries within the container. | |
| const std::string & | getName () const |
| Return the name of the container. | |
| 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) | |
| virtual StatusCode | loadObject (void **ptr, pool::ShapeH shape, Token::OID_t &oid) override final |
| Find object by object identifier and load it into memory. | |
| virtual StatusCode | writeObject (ActionList::value_type &) override final |
| Commit single entry to container. | |
| virtual uint64_t | nextRecordId () override final |
| Number of next record in the container (=size if no delete is allowed) | |
| virtual void | useNextRecordId (uint64_t nextID) override final |
| Suggest next Record ID for tbe next object written - used only with synced indexes. | |
| virtual StatusCode | transAct (pool::Transaction::Action action) override final |
| Execute transaction action. | |
| virtual StatusCode | store (const void *object, pool::DbContainer &cntH, pool::ShapeH shape) override final |
| Store object in location. | |
| virtual void | release () override |
| Release instance (Abstract interfaces do not expose destructor!) | |
| virtual std::string | name () const override |
| Get container name. | |
| virtual StatusCode | allocate (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid) override |
| In place allocation of object location. | |
| virtual StatusCode | next (Token::OID_t &linkH) override |
| Fetch next object address to set token. | |
| virtual StatusCode | 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. | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. | |
| MsgStream & | msg () const |
| The standard message stream. | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. | |
Protected Types | |
| typedef std::vector< DbAction > | ActionList |
Protected Member Functions | |
| virtual StatusCode | commitTransaction () |
| Execute object modification requests during a transaction. | |
Protected Attributes | |
| std::string | m_name |
| Container name. | |
Private Member Functions | |
| StatusCode | initObjectFieldDesc (FieldDesc &dsc) |
| Init a field description for an object (i.e. find TClass etc.) | |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. | |
Private Attributes | |
| const pool::DbTypeInfo * | m_type {} |
| reference to exact type description | |
| std::vector< FieldDesc > | m_fieldDescs |
| List of field descriptors. | |
| pool::DbDatabase | m_dbH |
| Parent Database handle. | |
| pool::RootDatabase * | m_rootDb |
| Root database file reference. | |
| int | m_ioBytes |
| Number of bytes written/read during last operation. Set to -1 if it failed. | |
| bool | m_isDirty |
| flag set on writing to prevent double writes in the same commit | |
| uint64_t | m_index |
| uint64_t | m_indexSize |
| int64_t | m_indexBump |
| const uint32_t | m_indexMulti |
| RootStorageSvc::RNTupleWriterHelper * | m_ntupleWriter = nullptr |
| Internal cache of the RNTupleWriterHelper. | |
| ROOT::RNTupleReader * | m_ntupleReader {} |
| Internal cache of the native RNTupleReader. | |
| std::unique_ptr< RootAuxDynIO::IFactoryTool > | m_auxDynTool |
| Factory object from AuxDynIO plugin that creates AuxDyn readers and writers. | |
| ActionList | m_writeStack |
| Transaction fifo storage for writing. | |
| size_t | m_size |
| Current size of the transaction stack. | |
| std::string | m_nm |
| Message source name. | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) | |
Description: RNTUPLE specific implementation of Database Container.
Definition at line 39 of file RNTupleContainer.h.
|
protectedinherited |
Definition at line 64 of file DbContainerImp.h.
|
explicit |
|
virtual |
|
overridevirtualinherited |
In place allocation of object location.
Implements pool::IDbContainer.
|
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 143 of file RNTupleContainer.h.
|
finaloverridevirtual |
Close the container and deallocate resources.
Reimplemented from pool::DbContainerImp.
|
protectedvirtualinherited |
Execute object modification requests during a transaction.
|
inline |
|
finaloverridevirtual |
Access options.
| opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
private |
Init a field description for an object (i.e. find TClass etc.)
|
inline |
Return true if this branch container was updated and it's TTree needs to be Filled.
Definition at line 140 of file RNTupleContainer.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.
|
finaloverridevirtual |
Find object by object identifier and load it into memory.
| ptr | [IN/OUT] address of the pointer to object |
| shape | [IN] Object Shape |
| oid | [OUT] Object OID |
Implements pool::DbContainerImp.
|
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 167 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 182 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 |
Fetch next object address to set token.
Implements pool::IDbContainer.
Reimplemented in pool::RootKeyContainer.
|
finaloverridevirtual |
Number of next record in the container (=size if no delete is allowed)
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Open the container for object access.
Implements pool::IDbContainer.
|
inlineoverridevirtualinherited |
Release instance (Abstract interfaces do not expose destructor!)
Implements pool::IDbContainer.
Definition at line 86 of file DbContainerImp.h.
|
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.
|
finaloverridevirtual |
Set options.
| opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Number of entries within the container.
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Store object in location.
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Execute transaction action.
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Suggest next Record ID for tbe next object written - used only with synced indexes.
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Commit single entry to container.
Reimplemented from pool::DbContainerImp.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
private |
Factory object from AuxDynIO plugin that creates AuxDyn readers and writers.
Definition at line 100 of file RNTupleContainer.h.
|
private |
Parent Database handle.
Definition at line 80 of file RNTupleContainer.h.
|
private |
List of field descriptors.
Definition at line 78 of file RNTupleContainer.h.
|
mutableprivateinherited |
|
private |
Definition at line 88 of file RNTupleContainer.h.
|
private |
Definition at line 90 of file RNTupleContainer.h.
|
private |
Definition at line 91 of file RNTupleContainer.h.
|
private |
Definition at line 89 of file RNTupleContainer.h.
|
private |
Number of bytes written/read during last operation. Set to -1 if it failed.
Definition at line 84 of file RNTupleContainer.h.
|
private |
flag set on writing to prevent double writes in the same commit
Definition at line 86 of file RNTupleContainer.h.
|
mutableprivateinherited |
|
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 73 of file DbContainerImp.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
|
private |
Internal cache of the RNTupleWriterHelper.
Definition at line 94 of file RNTupleContainer.h.
|
private |
Root database file reference.
Definition at line 82 of file RNTupleContainer.h.
|
privateinherited |
Current size of the transaction stack.
Definition at line 70 of file DbContainerImp.h.
|
private |
|
privateinherited |
Transaction fifo storage for writing.
Definition at line 68 of file DbContainerImp.h.