TrigRNNOutputCnv Node1 TrigRNNOutputCnv + TrigRNNOutputCnv() + ~TrigRNNOutputCnv() # createPersistent() # createTransient() Node2 T_AthenaPoolCustomCnv < TrigRNNOutput, TrigRNNOutput _PERS > # createPersistent() # createPersistentWithKey() # createTransient() # createTransientWithKey() Node2->Node1 Node3 T_AthenaPoolCustomCnvWith Key< TrigRNNOutput, TrigRNNOutput_ PERS > + T_AthenaPoolCustomCnvWithKey() # createPersistentWithKey() # createTransientWithKey() # poolReadObject() # poolReadObject() # keepPoolObj() # transToPers() # persToTrans() # DataObjectToPers() # DataObjectToPool() # PoolToDataObject() # cleanUp() Node3->Node2 Node4 T_AthenaPoolCustCnv < TrigRNNOutput, TrigRNNOutput _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 TrigRNNOutputCnv_impl Node34->Node1 -m_impl Node35 TrigRNNOutputCnv_tlp1 + TrigRNNOutputCnv_tlp1() + ~TrigRNNOutputCnv_tlp1() + setPStorage() Node35->Node34 +m_TPConverter Node36 AthenaPoolTopLevelTPConverter < TrigRNNOutputCnv_p1, TrigRNNOutput_tlp1 > # m_mainConverter + setPStorage() + TopLevelTPConverter() + createTransient() + createTransientWithKey() + createTransient() + createPersistent() + createPersistentWithKey() + addMainTPConverter() + setMainCnvPStorage() + getConverterID() and 8 more... Node36->Node35 Node45 TrigRNNOutputConverterBase < TrigRNNOutput_p1 > + TrigRNNOutputConverterBase() + persToTrans() + transToPers() + transToPers() + transToPers() + persToTrans() + persToTrans() Node45->Node35 #m_trigRNNOutputCnv