VP1LocalEvtRetriever Node1 VP1LocalEvtRetriever - m_sourcedir - m_timer - m_mutex + VP1LocalEvtRetriever() + ~VP1LocalEvtRetriever() + setSourceDir() + updateLocalDirFromSource() # run() - updateLocalDir() Node11 VP1AvailEvtsLocalDir::Imp + sourcedir + availablesourcedirs + ntmpdlcount + Imp() Node1->Node11 +retriever Node2 QThread     Node2->Node1 Node3 VP1AvailEvtsLocalDir   + VP1AvailEvtsLocalDir() + setSourceDir() + currentSourceDir() + setAvailableSourceDirectories() + availableSourceDirectories() + ~VP1AvailEvtsLocalDir() + init() Node3->Node1 -m_availEvts Node4 VP1AvailEvents   + VP1AvailEvents() + init() + ~VP1AvailEvents() + allLocalEvents() + freshEvents() + newestEvent() + setCurrentEvent() + maxLocalFilesToKeep() # cleanupAndCheckForEventList Changes() # invalidateDirCache() # inHistory() # allEventFilesInDir() # freshEvents() # tmpDir() # tmpLocalFileDir() # tmpActiveRetrievalDir() # timeCutForNew() # requireNewestRunNumber() # isConsideredFresh() # messageDebug() - actualCleanup() - actualCheckForEventListChanges() Node4->Node3 Node6 VP1AvailEvents::Imp + timeCutForNew + tmpDir + maxLocalFilesToKeep + tmpLocalFileDir + tmpActiveRetrievalDir + historyOrdered + lastAllLocal + lastFresh + attemptGenerationOfTmpSubdir() + cleanupTmpLocalFiles() + evtToID() Node4->Node6 +theclass Node5 QObject     Node5->Node4 Node6->Node4 -m_d Node7 std::set< VP1AvailEvents ::Imp::EventID >     Node7->Node6 +historySorted Node8 VP1AvailEvents::Imp ::EventID + eventNumber + runNumber + EventID() + operator==() + operator<() Node8->Node7 +keys Node9 std::map< QString, std::pair< QDateTime, QList< VP1EventFile > > > + keys   Node9->Node6 +dircache Node11->Node3 -m_d