pool::ICollection Node1 pool::ICollection + openMode() + open() + isOpen() + commit() + close() + description() + schemaEditor() + dataEditor() + newQuery() + ~ICollection() Node2 pool::ImplicitCollection - m_container - m_description + ImplicitCollection() + ImplicitCollection() + ~ImplicitCollection() + ImplicitCollection() + operator=() + openMode() + select() + commit() + rollback() + close() and 6 more... # open() Node1->Node2 Node3 pool::RootCollection ::RNTCollection - m_reader - m_description - m_name - m_fileName - m_mode - m_file - m_session - m_open - m_readOnly - m_fileCatalog - m_poolOut - m_schemaEditor - m_dataEditor - m_fileMgr + RNTCollection() + ~RNTCollection() + openMode() + open() + isOpen() + commit() + close() + description() + schemaEditor() + dataEditor() + newQuery() - RNTCollection() - operator=() - delayedFileOpen() - getCollectionRNTuple() - fileCatalogRequired() - retrievePFN() - retrieveFID() - retrieveUniquePFN() - retrieveBestPFN() - retrieveFileCatalog() - cleanup() Node1->Node3 Node4 pool::RootCollection ::RootCollection + c_maxLengthOfStrings + poolOptToRootOpt + poolOptToFileMgrOpt + c_tokenBranchName + c_attributeListLayoutName - m_description - m_name - m_fileName - m_mode - m_tree - m_file - m_session - m_open - m_readOnly - m_fileCatalog - m_poolOut - m_schemaEditor - m_dataEditor - m_fileMgr + RootCollection() + ~RootCollection() + openMode() + open() + isOpen() + commit() + close() + description() + schemaEditor() + dataEditor() + newQuery() - RootCollection() - operator=() - delayedFileOpen() - getCollectionTree() - setupTree() - readAttributeListSpecification() - writeAttributeListSpecification() - fileCatalogRequired() - retrievePFN() - retrieveFID() - retrieveUniquePFN() - retrieveBestPFN() - retrieveFileCatalog() - cleanup() Node1->Node4