SeedMakingWorkCuda Node1 SeedMakingWorkCuda - m_workId - m_CovMS - m_ptCoeff - m_minPt2 - m_ptCoeff2 - m_maxD0 + SeedMakingWorkCuda() + ~SeedMakingWorkCuda() + getOutput() + run() + getId() - checkError() Node2 TrigAccel::Work + Work() + ~Work() + getOutput() + run() + getId() Node2->Node1 Node3 SeedMakingDeviceContext + m_deviceId + m_stream + h_settings + d_settings + h_spacepoints + d_spacepoints + d_detmodel + h_outputseeds + d_outputseeds + d_doubletstorage + d_doubletinfo + d_size + h_size + SeedMakingDeviceContext() + hostSize() + deviceSize() - SeedMakingDeviceContext() Node3->Node1 -m_context Node4 struct Node4->Node3 +m_gpuParams Node5 std::shared_ptr< TrigAccel ::OffloadBuffer > + operator->() Node5->Node1 -m_input -m_output Node6 TrigAccel::OffloadBuffer + m_bufferSize + m_rawBuffer + OffloadBuffer() + OffloadBuffer() + ~OffloadBuffer() + OffloadBuffer() + operator=() + get() Node6->Node5 +ptr Node7 WorkTimeStampQueue + WorkTimeStampQueue() + ~WorkTimeStampQueue() + clear() + size() + operator[]() + push_back() Node7->Node1 -m_timeLine Node8 std::unique_ptr< WorkTime StampQueueImpl > + operator->() Node8->Node7 -m_impl Node9 WorkTimeStampQueueImpl + m_timeLine Node9->Node8 +ptr