Athena::xAODCnvSvc Node1 Athena::xAODCnvSvc + xAODCnvSvc() + ~xAODCnvSvc() + initialize() + finalize() + queryInterface() + updateServiceState() + createObj() + createRep() + fillRepRefs() + connectOutput() + connectOutput() + commitOutput() + createAddress() + convertAddress() + createAddress() + interfaceID() # createConverter() - xAODCnvSvc() Node2 IConversionSvc Node2->Node1 Node3 AthCnvSvc + AthCnvSvc() + initialize() + finalize() + queryInterface() * repSvcType() * objType() * setDataProvider() * dataProvider() * setConversionSvc() * conversionSvc() * setAddressCreator() * addressCreator() * createObj() * fillObjRefs() and 14 more... * CallMutex * m_dataSvc * m_addressCreator * m_cnvSvc * createAddress() * convertAddress() * createAddress() * updateServiceState() * AthCnvSvc() * AthCnvSvc() and 9 more... Node2->Node3 Node3->Node1 Node4 IAddressCreator Node4->Node3 Node5 AthService - AthService() - AthService() - operator=() Node5->Node3 Node6 AthCommonMsg< Service > + msg() + msg() + msgLvl() Node6->Node5 Node8 std::recursive_mutex Node8->Node3 #m_conv_mut Node9 long Node9->Node3 #m_type Node10 std::unordered_map < CLID, WorkerEntry > + keys Node10->Node3 #m_workers Node11 AthCnvSvc::WorkerEntry - m_class - m_converter + WorkerEntry() + WorkerEntry() + operator=() + ~WorkerEntry() + converter() + clID() + operator==() + operator<() Node11->Node10 +elements