Ejemplo n.º 1
0
 def testTabLisRead(self):
     res = {"AlBa-1s": OrderedDict([(PQ.Isotope(75, 32, 0),
                                     StoredData(PQ.Activity(2.0663E+05, unc=0.99 * 2.0663E+05))),
                                    (PQ.Isotope(26, 13, 1),
                                     StoredData(PQ.Activity(2.2300E+10, unc=0.001845 * 2.2300E+10)))])}
     data = self.reader.load(join(_basedir, "test_data/ResnucInputTest_tab.lis"))
     self.assertEqual(data, res)
Ejemplo n.º 2
0
 def testMultiFileReadMultiDetWeighted(self):
     data = self.reader.load(["test_data/ResnucInputTest_tab.lis", "test_data/ResnucInputTest2_tab.lis"])
     res = {"AlBa-1s": {"Isotope": [PQ.Isotope(75, 32, 0),
                                    PQ.Isotope(26, 13, 1)],
                        "Activity": [PQ.Activity(2.0663E+05, unc=0.99 * 2.0663E+05),
                                     PQ.Activity(2.2300E+10, unc=0.001845 * 2.2300E+10)]}}
     self.assertFalse(True, "To be implemented")
Ejemplo n.º 3
0
 def setUp(self):
     self.sum_op = SummationOperator("Activity")
     self.single_det_data = {
         "det1": {
             PQ.Isotope(3, 1, 0): StoredData(PQ.Activity(10.)),
             PQ.Isotope(3, 2, 0): StoredData(PQ.Activity(15.))
         }
     }
Ejemplo n.º 4
0
 def testMultiFileReadSingleDet(self):
     data = self.reader.load([join(_basedir, "test_data/ResnucInputTest_tab.lis"),
                              join(_basedir, "test_data/ResnucInputTest_tab.lis")])
     res = {"AlBa-1s": OrderedDict([(PQ.Isotope(75, 32, 0),
                                     StoredData(PQ.Activity(2. * 2.0663E+05, unc=0.99 * sqrt(2.) * 2.0663E+05))),
                                    (PQ.Isotope(26, 13, 1),
                                     StoredData(PQ.Activity(2. * 2.2300E+10,
                                                            unc=0.001845 * sqrt(2.) * 2.2300E+10)))])}
     self.assertEqual(data, res)
Ejemplo n.º 5
0
 def test_multi_file_merge_diff_isotopes(self):
     data = self.reader.load(["test_data/ResnucInputTest_tab.lis", "test_data/ResnucInputTest2_tab.lis"])
     res = {"AlBa-1s": {"Isotope": [PQ.Isotope(75, 32, 0),
                                    PQ.Isotope(-1, -1, -1),
                                    PQ.Isotope(26, 13, 1)],
                        "Activity": [PQ.Activity(2.0663E+05, unc=0.99 * 2.0663E+05),
                                     PQ.Activity(-1, unc= -1),
                                     PQ.Activity(2.2300E+10, unc=0.001845 * 2.2300E+10)]}}
     self.assertEqual(data, res)
Ejemplo n.º 6
0
 def test_named_store_add(self):
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.Activity(10., 2.),
                                  ScaledActivity=PQ.Activity(50., 2.)))])
     }
     self.singleElementData["det1"][PQ.Isotope(
         3, 1, 0)].append(ScaledActivity=PQ.Activity(50., 2.))
     self.assertEqual(self.singleElementData, res)
Ejemplo n.º 7
0
 def test_add_single_element_to_existing(self):
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1,
                                  0), StoredData(PQ.Activity(20.,
                                                             sqrt(8.))))])
     }
     self.singleElementData["det1"][PQ.Isotope(3, 1, 0)].append(
         PQ.Activity(10., 2.))
     self.assertEqual(self.singleElementData, res)
Ejemplo n.º 8
0
 def test_scalar_const_multiplication(self):
     mul_op = MultiplicationOperator(**self.config_scalar_const)
     mul_op.invoke(self.dataActivity)
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.Activity(10., 2.),
                                  ScaledActivity=PQ.Activity(50., 2.)))])
     }
     self.assertEqual(self.dataActivity, res)
Ejemplo n.º 9
0
 def test_global_data_equal_op(self):
     from collections import defaultdict
     _global_data.data = defaultdict(dict)
     _global_data.add("NoOfProtons", 10)
     _global_data.add("det1", "TotalActivity", PQ.Activity(10., 2.))
     res = {
         "NoOfProtons": 10,
         "det1": {
             "TotalActivity": PQ.Activity(10., 2.)
         }
     }
     self.assertEqual(_global_data, res)
Ejemplo n.º 10
0
 def test_comparison(self):
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0), StoredData(PQ.Activity(10.,
                                                                   2.)))])
     }
     self.assertEqual(self.singleElementData, res)
Ejemplo n.º 11
0
 def test_comparison_unequal_different_unit(self):
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.Activity(10., 2., ureg.kBq)))])
     }
     self.assertNotEqual(self.singleElementData, res)
Ejemplo n.º 12
0
 def setUp(self):
     self.tabConfig = {"cols": ["Isotope", "Activity"]}
     self.data = {
         "det1":
         OrderedDict([(PQ.Isotope(3, "H"),
                       StoredData(PQ.Activity(10.00101010101)))])
     }
     self.dataMultiDet = {
         "det1":
         OrderedDict([(PQ.Isotope(3, "H"),
                       StoredData(PQ.Activity(10.00101010101)))]),
         "det2":
         OrderedDict([(PQ.Isotope(3, "H"),
                       StoredData(PQ.Activity(100.00101010101)))])
     }
     self.tm = TM(self.tabConfig)
Ejemplo n.º 13
0
 def test_multi_file_read_weighted(self):
     sf = 1.5
     self.reader.weights = [0.8, 0.7]
     data = self.reader.load([join(_basedir, "test_data/ResnucInputTest_tab.lis"),
                              join(_basedir, "test_data/ResnucInputTest_tab.lis")])
     res = {"AlBa-1s": OrderedDict([(PQ.Isotope(75, 32, 0),
                                     StoredData(PQ.Activity(sf * 2.0663E+05, unc= sqrt(pow(0.8, 2) + pow(0.7, 2)) *
                                                                                       0.99 * 2.0663E+05))),
                                    (PQ.Isotope(26, 13, 1),
                                     StoredData(PQ.Activity(sf * 2.2300E+10,
                                                            unc=sqrt(pow(0.8, 2) + pow(0.7, 2)) *
                                                                0.001845 * 2.2300E+10)))])}
     self.assertAlmostEqual(data["AlBa-1s"][PQ.Isotope(26, 13, 1)]["Activity"],
                            res["AlBa-1s"][PQ.Isotope(26, 13, 1)]["Activity"])
     self.assertAlmostEqual(data["AlBa-1s"][PQ.Isotope(75, 32, 0)]["Activity"],
                            res["AlBa-1s"][PQ.Isotope(75, 32, 0)]["Activity"])
Ejemplo n.º 14
0
 def setUp(self):
     self.decorator = Decorator(["EInh"])
     self.data = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0), StoredData(PQ.Activity(10.,
                                                                   2.)))])
     }
Ejemplo n.º 15
0
    def setUp(self):
        plotConfigDict = {'type': "2D", 'quantity': "Activity"}
        self.plotConfig = [PC("foo", plotConfigDict)]
        self.pm = PM([plotConfigDict], "foo")
        rawDataArr = np.array([PQ.Activity(i) for i in range(1000)])
        self.rawData = {"Det1": {'Activity': rawDataArr, "Binning": [(0, 1, 1), (0, 100, 20), (0, 150, 50)]}}

        self.data = np.reshape(rawDataArr, [20, 50, 1]).transpose()
Ejemplo n.º 16
0
 def test_invoke(self):
     self.decorator.invoke(self.data)
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.Activity(10., 2.),
                                  PQ.EInh(4.10E-011)))])
     }
     self.assertEqual(self.data, res)
Ejemplo n.º 17
0
 def test_add_multiple_elements_not_existing(self):
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.Activity(10., 2.), PQ.AoverLE(10., 2.),
                                  PQ.DoseRate(20., 3.)))])
     }
     self.singleElementData["det1"][PQ.Isotope(3, 1, 0)].append(
         PQ.AoverLE(10., 2.), PQ.DoseRate(20., 3.))
     self.assertEqual(self.singleElementData, res)
Ejemplo n.º 18
0
 def test_dict_builtin_dh_multiplication(self):
     mul_op = MultiplicationOperator(**self.config_dict_builtin)
     mul_op.invoke(self.dataActivity)
     res = {
         "det1":
         OrderedDict([
             (PQ.Isotope(3, 1, 0),
              StoredData(PQ.Activity(10., 2.),
                         InhalationDose=PQ.Dose(10. * 4.10E-011, -1.,
                                                ureg.Sv)))
         ])
     }
     self.assertEqual(self.dataActivity, res)
Ejemplo n.º 19
0
 def setUp(self):
     self.dataActivity = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0), StoredData(PQ.Activity(10.,
                                                                   2.)))])
     }
     self.dataActivityEinh = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.Activity(10., 2.),
                                  inhalationcoeff=PQ.EInh(10.)))])
     }
     self.config_scalar_const = d = {
         "type": "scalar",
         "multiplier": "Activity",
         "multiplicand": "const:5",
         "product": "ScaledActivity:Activity"
     }
     self.config_dict_builtin = d = {
         "type": "dict",
         "multiplier": "Activity",
         "multiplicand": "builtin:einh",
         "product": "InhalationDose:Dose"
     }
Ejemplo n.º 20
0
 def test_dict_multiplication_det(self):
     d = {
         "type": "dict",
         "multiplier": "Activity",
         "multiplicand": "global:mass",
         "product": "SpecificActivity"
     }
     _global_data.add("det1", "mass", PQ.Mass(10., "kg"))
     mul_op = MultiplicationOperator(**d)
     data = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1,
                                  0), StoredData(PQ.Activity(100., 0.)))])
     }
     mul_op.invoke(data)
     res = PQ.SpecificActivity(10.)
     self.assertEqual(data["det1"][PQ.Isotope(3, 1, 0)]["SpecificActivity"],
                      res)
Ejemplo n.º 21
0
 def setUp(self):
     self.reader = UR("Activity")
     dataraw = [
         4.3201E-07, 1.5970E-06, 4.6090E-05, 1.5935E-06, 5.0045E-07,
         8.6618E-07, 4.1063E-06, 9.8403E-05, 3.5158E-06, 7.2260E-07
     ]
     dataraw = [PQ.Activity(i) for i in dataraw]
     binning = [(-45., 45., 1), (-54., 54., 5), (-33., 36., 2)]
     binning_reverse = [2, 5, 1]
     self.data_tutorial = {
         "EneDep2": {
             "Weight": (100., 100.),
             "Binning":
             binning,
             "Activity":
             np.reshape(np.array(dataraw), binning_reverse).transpose()
         }
     }
Ejemplo n.º 22
0
 def test_dict_multiplication_stored_quantity(self):
     d = {
         "type": "dict",
         "multiplier": "Activity",
         "multiplicand": "inhalationcoeff",
         "product": "InhalationDose:Dose"
     }
     mul_op = MultiplicationOperator(**d)
     mul_op.invoke(self.dataActivityEinh)
     res = {
         "det1":
         OrderedDict([
             (PQ.Isotope(3, 1, 0),
              StoredData(PQ.Activity(10., 2.),
                         inhalationcoeff=PQ.EInh(10.),
                         InhalationDose=PQ.Dose(100., -1., ureg.Sv)))
         ])
     }
     self.assertEqual(self.dataActivityEinh, res)
Ejemplo n.º 23
0
 def test_dict_multiplication_global_data(self):
     d = {
         "type": "scalar",
         "multiplier": "ProductionYield",
         "multiplicand": "global:NoOfPrimaries",
         "product": "Activity"
     }
     _global_data.add("NoOfPrimaries", 10.)
     data = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.ProductionYield(10., 0.)))])
     }
     mul_op = MultiplicationOperator(**d)
     mul_op.invoke(data)
     res = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0),
                       StoredData(PQ.ProductionYield(10., 0.),
                                  PQ.Activity(100., 0.)))])
     }
     self.assertEqual(data, res)
Ejemplo n.º 24
0
 def test_set_item(self):
     data = StoredData(PQ.Activity(10., 2.))
     data["Activity"] = PQ.Activity(20., 2.)
     res = PQ.Activity(20., 2.)
     self.assertEqual(data["Activity"], res)
Ejemplo n.º 25
0
 def test_calculation_single_detector_custom_name(self):
     sum_op = SummationOperator("Activity", "TotalActivity")
     sum_op.invoke(self.single_det_data)
     self.assertEqual(_global_data["det1"]["TotalActivity"],
                      PQ.Activity(25.))
Ejemplo n.º 26
0
 def _calc(self, data):
     return sum([elem["Activity"] for elem in data], PQ.Activity(0.))
Ejemplo n.º 27
0
 def test_access_none(self):
     data = StoredData(PQ.Activity(10., 2.))
     self.assertEqual(data["foo"], None)
Ejemplo n.º 28
0
 def test_operator_access(self):
     self.assertEqual(
         self.singleElementData["det1"][PQ.Isotope(3, 1, 0)]["Activity"],
         PQ.Activity(10., 2.))
Ejemplo n.º 29
0
 def setUp(self):
     self.singleElementData = {
         "det1":
         OrderedDict([(PQ.Isotope(3, 1, 0), StoredData(PQ.Activity(10.,
                                                                   2.)))])
     }
Ejemplo n.º 30
0
 def test_named_store_constructor(self):
     inp = StoredData(PQ.Activity(10., 2.),
                      ScaledActivity=PQ.Activity(50., 2.))
     self.assertEqual(inp["ScaledActivity"], PQ.Activity(50., 2.))