Esempio n. 1
0
    def setUp(self):
        unittest.TestCase.setUp(self)

        self.h = _SpatialDetectorXMLHandler()

        self.obj = _SpatialDetector((12.34, 56.78), 2, (21.43, 65.87), 3, (34.12, 78.56), 4)

        etree.register_namespace("mc", "http://pymontecarlo.sf.net")
        source = BytesIO(
            b'<mc:_spatialDetector xmlns:mc="http://pymontecarlo.sf.net"><xlimits lower="12.34" upper="56.78" /><xbins>2</xbins><ylimits lower="21.43" upper="65.87" /><ybins>3</ybins><zlimits lower="34.12" upper="78.56" /><zbins>4</zbins></mc:_spatialDetector>'
        )
        self.element = etree.parse(source).getroot()
Esempio n. 2
0
    def parse(self, element):
        subelement = element.find('xlimits')
        if subelement is None:
            raise ValueError("Element 'xlimits' not found")
        xlimit_lower = self._parse_numerical_parameter(subelement, 'lower')
        xlimit_upper = self._parse_numerical_parameter(subelement, 'upper')
        xlimits_m = list(zip(xlimit_lower, xlimit_upper))

        subelement = element.find('xbins')
        if subelement is None:
            raise ValueError("Element 'xbins' not found")
        xbins = self._parse_numerical_parameter(subelement)

        subelement = element.find('ylimits')
        if subelement is None:
            raise ValueError("Element 'ylimits' not found")
        ylimit_lower = self._parse_numerical_parameter(subelement, 'lower')
        ylimit_upper = self._parse_numerical_parameter(subelement, 'upper')
        ylimits_m = list(zip(ylimit_lower, ylimit_upper))

        subelement = element.find('ybins')
        if subelement is None:
            raise ValueError("Element 'ybins' not found")
        ybins = self._parse_numerical_parameter(subelement)

        subelement = element.find('zlimits')
        if subelement is None:
            raise ValueError("Element 'zlimits' not found")
        zlimit_lower = self._parse_numerical_parameter(subelement, 'lower')
        zlimit_upper = self._parse_numerical_parameter(subelement, 'upper')
        zlimits_m = list(zip(zlimit_lower, zlimit_upper))

        subelement = element.find('zbins')
        if subelement is None:
            raise ValueError("Element 'zbins' not found")
        zbins = self._parse_numerical_parameter(subelement)

        return _SpatialDetector(xlimits_m, xbins, ylimits_m, ybins, zlimits_m, zbins)
Esempio n. 3
0
    def setUp(self):
        TestCase.setUp(self)

        self.d = _SpatialDetector((12.34, 56.78), 2,
                                  (21.43, 65.87), 3,
                                  (34.12, 78.56), 4)