DataBucketBase Node1 DataBucketBase + DataBucketBase() + ~DataBucketBase() + object() + tinfo() + cast() + cast() + cast() + cast() + relinquish() + lock() Node3 Athena::DataBucketBranch + m_clid + m_type + m_ptr + allowMismatchCLID + DataBucketBranch() + DataBucketBranch() + DataBucketBranch() + ~DataBucketBranch() + object() + cast() + cast() + relinquish() + lock() + clID() + tinfo() + cast() + cast() + cast() + cast() Node1->Node3 Node4 BareDataBucket - m_data - m_clid - m_type + BareDataBucket() + BareDataBucket() + ~BareDataBucket() + BareDataBucket() + BareDataBucket() + operator=() + operator=() + clID() + object() + tinfo() and 8 more... Node1->Node4 Node5 SG::DataBucket< DV > - m_ptr - m_cnvcopies + DataBucket() + DataBucket() + DataBucket() + DataBucket() + ~DataBucket() + clID() + object() + tinfo() + operator DV *() + operator const DV *() + cast() + cast() + cast() + relinquish() + lock() + classID() # ptr() # cptr() # tryStaticConversion() # tryStaticConversion() - DataBucket() - operator=() Node1->Node5 Node9 SG::DataBucket< T > - m_ptr - m_cnvcopies + DataBucket() + DataBucket() + DataBucket() + DataBucket() + ~DataBucket() + clID() + object() + tinfo() + operator T*() + operator const T *() + cast() + cast() + cast() + relinquish() + lock() + classID() # ptr() # cptr() # tryStaticConversion() # tryStaticConversion() - DataBucket() - operator=() Node1->Node9 Node12 SG::PyDataBucket - m_pyObj - m_clid - m_bib + PyDataBucket() + ~PyDataBucket() + object() + cast() + cast() + clID() + tinfo() + relinquish() + lock() + cast() + cast() + cast() + cast() Node1->Node12 Node13 SG::SymlinkDataObject - m_clid - m_obj + SymlinkDataObject() + clID() + object() + tinfo() + cast() + cast() + relinquish() + lock() + cast() + cast() + cast() + cast() Node1->Node13 Node14 xAODPrivate::THolderBucket - m_key - m_ti - m_event + THolderBucket() + object() + tinfo() + cast() + cast() + cast() + relinquish() + lock() Node1->Node14 Node2 DataObject Node2->Node1