AthenaPoolCnvTPExtension Node1 AthenaPoolCnvTPExtension + AthenaPoolCnvTPExtension() + registerExtendingCnv() + registerExtendingCnv() + usingTPCnvForReading() Node2 AthenaConverterTLPExtension + AthenaConverterTLPExtension() + ~AthenaConverterTLPExtension() + writeObject() + readObject() + clone() + wasClonedFrom() + needsCloning() + name() + getTopLevelTPCnv() + getTPCnvID() and 6 more... # usingTPCnvForReading() Node2->Node1 Node11 std::map< unsigned, AthenaConverterTLPExtension * > + keys Node2->Node11 +elements Node12 std::vector< AthenaConverter TLPExtension * > Node2->Node12 +elements Node3 TopLevelTPCnvBase # m_typeIDCount + TopLevelTPCnvBase() + ~TopLevelTPCnvBase() + addTPConverter() + addTPConverterForReading() + addExtTPConverterForReading() + addTPConvertersTo() + addTPConvertersForReadingTo() + converterForType() + converterForRef() + hasTLPersObject() and 9 more... # rememberConverter() # hasConvertersFrom() - addTPConverterForWriting() Node3->Node2 #m_TLCnvForReading Node8 std::set< TopLevelTPCnvBase * > Node3->Node8 +keys Node10 std::map< TopLevelTPCnvBase *, extCnvMap_t * > Node3->Node10 +keys Node4 TPConverterTypeMap < ITPConverter > + TPConverterTypeMap() + findConverter() + addConverter() + begin() + end() Node4->Node3 #m_converters Node5 std::map< const std ::type_index, ITPConverter * > + keys Node5->Node4 #m_cnvRegistry Node8->Node3 #m_registeredTLConverters Node9 std::map< unsigned, ITPConverter * > + keys Node9->Node3 #m_convIdMap Node10->Node2 #m_extCnvMapMap Node11->Node2 #m_extendingConverters Node11->Node10 +elements Node12->Node2 #m_clonedExtendingCnvs