def _read_models(self, element): subelement = element.find("models") if subelement is None: return set() models = set() for subsubelement in subelement: handler = find_parse_handler("pymontecarlo.fileformat.options.model", subsubelement) models.add(handler.parse(subsubelement)) return models
def _read_limits(self, element): subelement = element.find("limits") if subelement is None: return set() limits = set() for subsubelement in subelement: handler = find_parse_handler("pymontecarlo.fileformat.options.limit", subsubelement) limits.add(handler.parse(subsubelement)) return limits
def _read_geometries(self, element): subelement = element.find("geometry") if subelement is None: return [] geometries = [] for subsubelement in subelement: handler = find_parse_handler("pymontecarlo.fileformat.options.geometry", subsubelement) geometries.append(handler.parse(subsubelement)) return geometries
def _read_beams(self, element): subelement = element.find("beam") if subelement is None: return [] beams = [] for subsubelement in subelement: handler = find_parse_handler("pymontecarlo.fileformat.options.beam", subsubelement) beams.append(handler.parse(subsubelement)) return beams
def _read_detectors(self, element): subelement = element.find("detectors") if subelement is None: return {} detectors = {} for subsubelement in subelement: key = subsubelement.attrib["_key"] handler = find_parse_handler("pymontecarlo.fileformat.options.detector", subsubelement) detector = handler.parse(subsubelement) detectors.setdefault(key, []).append(detector) return detectors
def _read_result(self, group): handler = find_parse_handler('pymontecarlo.fileformat.results.result', group) return handler.parse(group)