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