MuonValR4::RootVisualizationService Node1 MuonValR4::RootVisualization Service - m_canvasExtraScale - m_quadCanvas - m_AtlasLabel - m_sqrtSLabel - m_lumiLabel - m_canvasWidth - m_canvasHeight - m_outDir - m_outRootFileName + registerClient() + prepareCanvas() + finalize() + initialize() - paintObjects() Node2 extends< AthService, IRootVisualizationService > Node2->Node1 Node3 std::unique_ptr< TFile > + operator->() Node3->Node1 -m_outFile Node4 TFile Node4->Node3 +ptr Node5 std::map< ClientToken, PlotsPerClient > + keys Node5->Node1 -m_storage Node6 MuonValR4::RootVisualization Service::PlotsPerClient + elementsDrawn Node6->Node5 +elements Node7 std::vector< PlotPtr_t > Node7->Node6 +toDraw Node8 std::shared_ptr< T > + operator->() Node8->Node7 +elements Node9 T Node9->Node8 +ptr Node10 std::mutex Node10->Node1 -m_storageMutex -m_canvasMutex