AGDDDetector Node1 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 AGDDDetectorPositioner + theVolume + AGDDDetectorPositioner() + ~AGDDDetectorPositioner() + GetDetectorType() + GetDetectorAddress() + GetZPosition() + GetRadius() + GetPhi() + GetFullPhysicalVolume() Node1->Node3 +theDetector Node2 std::vector< AGDDDetector Positioner * > Node2->Node1 #m_detectorPositions Node3->Node2 +elements Node4 AGDDPositioner - m_isSensitiveDetector + AGDDPositioner() + ~AGDDPositioner() + Volume() + GetVolume() + Transform() + IsSensitiveDetector() + SensitiveDetector() Node4->Node3 Node5 AGDDVolume # m_theSolid # m_theVolume # m_isSensitive + AGDDVolume() + ~AGDDVolume() + GetName() + SetMaterial() + CreateSolid() + CreateVolume() + AddDaughter() + GetDaughter() + NrOfDaughter() + HasParent() and 10 more... Node5->Node4 -m_theVolume Node6 AGDDVolumeStore + AGDDVolumeStore() + RegisterVolume() + GetVolume() + Exist() + Clean() Node6->Node5 #m_vs Node8 std::string Node8->Node1 #m_name #m_sType #m_detectorID #m_detectorType +tech Node8->Node4 -m_volume Node8->Node5 #m_name #m_color #m_material Node13 Identifiers + phiIndex + etaIndex + radIndex + sideIndex + mlayerIndex + spare1 + spare2 Node8->Node13 +detectorType +detectorAddress Node12 Transform3D Node12->Node4 -m_transform Node13->Node3 +ID Node14 DetectorPositionParameters + Zposition + Radius + PhiStart + Phi + DetectorPositionParameters() Node14->Node3 +position