Пример #1
0
    def test_create_function_str_for_nth_order_given_fixed_values(self):
        background = PolynomialBackground(order=2)
        param_values = {"f1.A0": 2.0, "f1.A1": 3.0, "f1.A2": 4.0}

        expected = "name=Polynomial,n=2,A0=2.000000,A1=3.000000,A2=4.000000"
        self.assertEqual(
            expected,
            background.create_fit_function_str(param_values,
                                               param_prefix="f1."))
Пример #2
0
    def test_function_str_with_no_given_params_looks_as_expected(self):
        fit_opts = self._create_test_fitting_opts()

        expected = \
            "composite=ComptonScatteringCountRate,NumDeriv=1,IntensityConstraints=\"Matrix(1|2)1.000000|-4.000000\";"\
            "name=GramCharlierComptonProfile,Mass=1.007900,HermiteCoeffs=1 0 0,Width=5.000000;"\
            "name=GaussianComptonProfile,Mass=16.000000,Width=10.000000"
        self.assertEqual(expected, fit_opts.create_function_str())

        # add background
        fit_opts.background = PolynomialBackground(order=2)
        expected += ";name=Polynomial,n=2"
        self.assertEqual(expected, fit_opts.create_function_str())
Пример #3
0
    def test_function_str_with_given_params_looks_as_expected(self):
        fit_opts = self._create_test_fitting_opts()

        param_vals = {"f0.Width": 7.5, "f0.FSECoeff": 0.1, "f0.C_0": 0.25,
                      "f0.C_2": 0.5, "f0.C_4": 0.75}
        param_vals.update({"f1.Width": 11.0, "f1.Intensity": 4.5})

        expected = \
            "composite=CompositeFunction,NumDeriv=1;"\
            "name=GramCharlierComptonProfile,Mass=1.007900,HermiteCoeffs=1 0 0,Width=7.500000,FSECoeff=0.100000,C_0=0.250000;"\
            "name=GaussianComptonProfile,Mass=16.000000,Width=11.000000,Intensity=4.500000"
        self.assertEqual(expected, fit_opts.create_function_str(param_vals))

        fit_opts.background = PolynomialBackground(order=2)
        param_vals.update({"f2.A0": 2.0, "f2.A1": 3.0, "f2.A2": 4.0})

        expected += ";name=Polynomial,n=2,A0=2.000000,A1=3.000000,A2=4.000000"
        self.assertEqual(expected, fit_opts.create_function_str(param_vals))
Пример #4
0
    def test_create_function_str_for_nth_order_with_no_values(self):
        background = PolynomialBackground(order=2)

        expected = "name=Polynomial,n=2"
        self.assertEqual(expected, background.create_fit_function_str())
Пример #5
0
    def test_create_function_str_for_nth_order_given_fixed_values(self):
        background = PolynomialBackground(order=2)
        param_values = {"f1.A0": 2.0, "f1.A1": 3.0, "f1.A2": 4.0}

        expected = "name=Polynomial,n=2,A0=2.000000,A1=3.000000,A2=4.000000"
        self.assertEqual(expected, background.create_fit_function_str(param_values, param_prefix="f1."))
Пример #6
0
    def test_create_function_str_for_nth_order_with_no_values(self):
        background = PolynomialBackground(order=2)

        expected = "name=Polynomial,n=2"
        self.assertEqual(expected, background.create_fit_function_str())