ActsPropStepRootWriterSvc Node1 ActsPropStepRootWriterSvc - m_filePath - m_treeName - m_eventNum + initialize() + finalize() + ActsPropStepRootWriterSvc() + write() - writeThread() - doWrite() - end() Node2 extends< AthService, IActsPropStepRootWriterSvc > Node2->Node1 Node3 std::atomic< bool > + ptr Node3->Node1 -m_doEnd Node4 TFile Node4->Node1 -m_outputFile Node5 TTree Node5->Node1 -m_outputTree Node6 std::mutex Node6->Node1 -m_writeMutex Node7 std::vector< int > + elements Node7->Node1 -m_s_sensitiveID -m_s_boundaryID -m_s_volumeID -m_s_approachID -m_s_layerID Node8 std::vector< float > + elements Node8->Node1 -m_s_pR -m_s_pX -m_s_pY -m_s_pZ Node9 std::thread Node9->Node1 -m_writeThread Node10 std::deque< queue_item_t > + elements Node10->Node1 -m_queue