AGDDDetectorStore Node1 AGDDDetectorStore + AGDDDetectorStore() + GetDetector() + GetTechnology() + RegisterDetector() + RegisterTechnology() + PrintAllDetectors() + GetDetectorList() + GetDetectorList() + GetDetectorsByType() + GetDetectorByID() + GetDetectorsByType() + GetDetectorByID() Node2 std::map< std::string, AGDDTechnology * > Node2->Node1 -m_the_technologies Node3 std::string Node3->Node2 +keys Node5 AGDDTechnology + AGDDTechnology() + ~AGDDTechnology() + GetName() Node3->Node5 #m_name Node6 std::map< std::string, AGDDDetector * > Node3->Node6 +keys Node7 AGDDDetector # m_small_x # m_large_x # m_y # m_z + AGDDDetector() + AGDDDetector() + ~AGDDDetector() + SetXYZ() + small_x() + large_x() + y() + z() + subType() + small_x() and 9 more... # GetMMMaterial() # AddDetectorPosition() # SetDetectorAddress() Node3->Node7 #m_name #m_sType #m_detectorID #m_detectorType +tech Node10 AGDDPositioner - m_isSensitiveDetector + AGDDPositioner() + ~AGDDPositioner() + Volume() + GetVolume() + Transform() + IsSensitiveDetector() + SensitiveDetector() Node3->Node10 -m_volume Node4 std::basic_string< char > Node4->Node3 Node5->Node2 +elements Node6->Node1 -m_the_detectors Node7->Node6 +elements Node9 AGDDDetectorPositioner + theVolume + AGDDDetectorPositioner() + ~AGDDDetectorPositioner() + GetDetectorType() + GetDetectorAddress() + GetZPosition() + GetRadius() + GetPhi() + GetFullPhysicalVolume() Node7->Node9 +theDetector Node8 std::vector< AGDDDetector Positioner * > Node8->Node7 #m_detectorPositions Node9->Node8 +elements Node10->Node9