AGDDVolumeStore Node1 AGDDVolumeStore + AGDDVolumeStore() + RegisterVolume() + GetVolume() + Exist() + Clean() Node3 AGDDVolume # m_theSolid # m_theVolume # m_isSensitive + AGDDVolume() + ~AGDDVolume() + GetName() + SetMaterial() + CreateSolid() + CreateVolume() + AddDaughter() + GetDaughter() + NrOfDaughter() + HasParent() and 10 more... Node1->Node3 #m_vs Node2 AGDDVolumeMap Node2->Node1 Node3->Node2 +elements Node4 std::vector< AGDDVolume * > Node3->Node4 +elements Node6 AGDDPositioner - m_isSensitiveDetector + AGDDPositioner() + ~AGDDPositioner() + Volume() + GetVolume() + Transform() + IsSensitiveDetector() + SensitiveDetector() Node3->Node6 -m_theVolume Node4->Node3 #m_theParents Node5 std::vector< AGDDPositioner * > Node5->Node3 #m_theDaughters Node6->Node5 +elements Node7 std::string Node7->Node2 +keys Node7->Node3 #m_name #m_color #m_material Node7->Node6 -m_volume Node9 Transform3D Node9->Node6 -m_transform