SH::SampleComposite Node1 SH::SampleComposite + testInvariant() + SampleComposite() + SampleComposite() + add() # getNumFiles() # getFileName() # doMakeLocal() # doMakeFileList() # doUpdateLocation() # getContains() # doAddSamples() - ClassDef() Node2 SH::Sample + testInvariant() + ~Sample() + name() + name() + numFiles() + fileName() + makeLocal() + tags() + tags() + addTag() and 22 more... # Sample() # getNumFiles() # getFileName() # doMakeLocal() # doMakeFileList() # doUpdateLocation() # doReadHist() # getContains() # doAddSamples() - alloc() - release() - Sample() - operator=() - ClassDef() Node2->Node1 Node12 SH::SamplePtr + testInvariant() + SamplePtr() + SamplePtr() + SamplePtr() + SamplePtr() + SamplePtr() + ~SamplePtr() + operator=() + operator=() + empty() and 6 more... Node2->Node12 -m_sample Node3 TObject Node3->Node2 Node4 SH::TagList + testInvariant() + TagList() + TagList() + has() + begin() + end() + join() + add() Node4->Node2 -m_tags Node5 std::set< std::string > Node5->Node4 -m_tags Node6 std::string Node6->Node2 -m_name Node6->Node5 +keys Node8 SH::MetaObject - m_dataList + testInvariant() + MetaObject() + MetaObject() + ~MetaObject() + operator=() + swap() + remove() + addReplace() + get() + get() and 23 more... - ClassDef() Node8->Node2 -m_meta Node10 std::atomic< unsigned > + ptr Node10->Node2 -m_references Node11 std::vector< SH::SamplePtr > Node11->Node1 -m_samples Node12->Node11 +elements