AthCUDA::PerEventAndComponentStreamTool Node1 AthCUDA::PerEventAndComponent StreamTool   + initialize() + stream() * initialize() * stream() Node2 extends< AthAlgTool, IStreamTool >     Node2->Node1 Node3 std::unique_ptr< const SG::SlotSpecificObj< AthCUDA::Details::Stream, SG::InvalidSlot::Enabled > >   + operator->() Node3->Node1 -m_streams Node4 SG::SlotSpecificObj < AthCUDA::Details:: Stream, SG::InvalidSlot ::Enabled >   + SlotSpecificObj() + get() + operator*() + operator->() + begin() + end() Node4->Node3 +ptr Node5 std::vector< AthCUDA ::Details::Stream >     Node5->Node4 -m_slots Node6 AthCUDA::Details::Stream - m_stream + Stream() + ~Stream() + stream() + name() Node6->Node5 +elements