Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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
Пример #5
0
    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
Пример #6
0
 def _read_result(self, group):
     handler = find_parse_handler('pymontecarlo.fileformat.results.result', group)
     return handler.parse(group)