MMDetectorDescription Node1 MMDetectorDescription # m_xFrame # m_ysFrame # m_ylFrame + MMDetectorDescription() + Register() + sWidth() + lWidth() + Length() + Tck() + xFrame() + xFrame() + ysFrame() + ysFrame() + ylFrame() + ylFrame() + GetTechnology() + GetReadoutParameters() # SetDetectorAddress() Node2 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() Node2->Node1 Node19 std::map< std::string, AGDDDetector * > Node2->Node19 +elements Node3 std::vector< AGDDDetector Positioner * > Node3->Node2 #m_detectorPositions Node9 std::string Node9->Node2 #m_name #m_sType #m_detectorID #m_detectorType +tech Node17 std::map< std::string, AGDDTechnology * > Node9->Node17 +keys Node9->Node19 +keys Node16 AGDDDetectorStore + AGDDDetectorStore() + GetDetector() + GetTechnology() + RegisterDetector() + RegisterTechnology() + PrintAllDetectors() + GetDetectorList() + GetDetectorList() + GetDetectorsByType() + GetDetectorByID() + GetDetectorsByType() + GetDetectorByID() Node16->Node1 #m_ds Node17->Node16 -m_the_technologies Node19->Node16 -m_the_detectors Node20 MMReadoutParameters + stripPitch + gasThickness + pcbThickness + driftThickness + zpos + distanceFromZAxis + roLength + activeBottomLength + activeTopLength + activeH and 12 more... Node20->Node1 +roParameters Node21 std::vector< int > + elements Node21->Node20 +readoutSide Node22 std::vector< double > + elements Node22->Node20 +stereoAngle