TruthParticleBase Node1 TruthParticleBase - m_charge - m_genParticle + TruthParticleBase() + TruthParticleBase() + operator=() + TruthParticleBase() + ~TruthParticleBase() + genParticle() + getAthenaBarCodeImpl() + setCharge() + setGenParticle() + getAthenaBarCodeImpl() + set_dataType() + set_charge() + set_pdgId() + set_origin() + set_origin() + dataType() + origin() + originLink() + hasCharge() + charge() + hasPdgId() + pdgId() + dump() * dataType() * origin() * originLink() * hasCharge() * charge() * hasPdgId() * pdgId() * dump() Node2 AthenaBarCodeImpl + TotalBits + UUIDBits + CounterBits + VersionBits + ReserveBits + SUUIDBits + SCounterBits + SVersionBits + SReserveBits + ~AthenaBarCodeImpl() + AthenaBarCodeImpl() + AthenaBarCodeImpl() + operator=() + getAthenaBarCode() + setAthenaBarCode() + hasSameAthenaBarCode() + hasSameAthenaBarCodeExcept Version() + getVersion() + newVersion() + setVersion() + dump() + createdInCurrentJob() + getReserveBits() + setReserveBits() + setDefaultHash() # setBits() # getBits() # initABC() - combineWithUUIDHash() - setUUIDHash() - hasUUIDHash() - getUUIDHash() - hashUUID() - getDefaultHash() - makeDefaultHash() Node2->Node1 -m_abc Node3 std::atomic< AthenaBarCode_t > + ptr Node3->Node2 -m_barcodeCounter -m_barcode