xAOD::Experimental::RObjectManager Node1 xAOD::Experimental ::RObjectManager - m_field - m_entryToLoad - m_entry - m_isSet - m_renewOnRead + RObjectManager() + RObjectManager() + ~RObjectManager() + operator=() + fieldName() + holder() + holder() + getEntry() + object() + object() + setObject() + create() + isSet() + reset() Node2 xAOD::TVirtualManager + ~TVirtualManager() + getEntry() + object() + object() + setObject() + create() + isSet() + reset() Node2->Node1 Node3 std::unique_ptr< xAOD ::THolder > + operator->() Node3->Node1 -m_holder Node4 xAOD::THolder # m_object # m_typeInfo # m_owner # m_typeKind # m_const + THolder() + THolder() + THolder() + THolder() + THolder() + THolder() + THolder() + ~THolder() + operator=() + operator=() and 12 more... # deleteObject() # getImpl() * getClass() * getClass() * getTypeInfo() Node4->Node3 +ptr Node5 TClass Node5->Node4 #m_type