CPMTowerCollectionCnv Node1 CPMTowerCollectionCnv - m_msgSvc - m_log + CPMTowerCollectionCnv() # createPersistent() # createTransient() Node2 CPMTowerCollectionCnvBase # createPersistent() # createPersistentWithKey() # createTransient() # createTransientWithKey() Node2->Node1 Node3 T_AthenaPoolCustomCnvWith Key< TRANS, PERS > + T_AthenaPoolCustomCnvWithKey() # createPersistentWithKey() # createTransientWithKey() # poolReadObject() # poolReadObject() # keepPoolObj() # transToPers() # persToTrans() # DataObjectToPers() # DataObjectToPool() # PoolToDataObject() # cleanUp() Node3->Node2 Node4 T_AthenaPoolCustCnv < TRANS, PERS > + classID() # T_AthenaPoolCustCnv() # initialize() # setPlacementForP() # DataObjectToPers() # DataObjectToPool() # PoolToDataObject() # objectToPool() # poolToObject() # transToPers() # persToTrans() # compareClassGuid() # setToken() Node4->Node3 Node31 std::map< std::string, std::vector< std::unique _ptr< RpcSectorLogicContainer _p1 > > > Node31->Node3 #m_persObjLists Node22 std::mutex Node22->Node3 #m_pListMutex Node34 CPMTowerCollectionCnv_tlp1 + CPMTowerCollectionCnv_tlp1() + ~CPMTowerCollectionCnv_tlp1() + setPStorage() Node34->Node1 -m_TPConverter_tlp1 Node35 AthenaPoolTopLevelTPConverter < CPMTowerCollectionCnv_p1, CPMTowerCollection_tlp1 > # m_mainConverter + setPStorage() + TopLevelTPConverter() + createTransient() + createTransientWithKey() + createTransient() + createPersistent() + createPersistentWithKey() + addMainTPConverter() + setMainCnvPStorage() + getConverterID() and 8 more... Node35->Node34 Node44 CPMTowerCnv_p1 + CPMTowerCnv_p1() + persToTrans() + transToPers() Node44->Node34 #m_CPMTowerCnv Node44->Node44 #m_CPMTowerCnv Node51 CPMTowerCollectionCnv_p1 + CPMTowerCollectionCnv_p1() Node51->Node34 #m_CPMTowerCollectionCnv