Beispiel #1
0
 def test0(self):
     'ComponentGroup'
     comps = [C() for i in range(10)]
     geometer = Geometer()
     from mcni.neutron_coordinates_transformers import default as transformer
     from mcni.components.ComponentGroup import ComponentGroup
     cg = ComponentGroup('cg', comps, geometer, transformer)
     import mcni
     b = mcni.neutron_buffer(10)
     cg.process(b)
     for c in comps:
         self.assertEqual(c.count, 10)
         continue
     return
Beispiel #2
0
 def test1(self):
     'ComponentGroup: geometer'
     # components
     c1 = SaveNeutron()
     comps = [c1]
     # geometer
     from mcni.Geometer import Geometer
     geometer = Geometer()
     geometer.register(c1, (0,0,1), (0,90,0))
     #
     from mcni.neutron_coordinates_transformers import default as transformer
     from mcni.components.ComponentGroup import ComponentGroup
     cg = ComponentGroup('cg', comps, geometer, transformer)
     import mcni
     b = mcni.neutron_buffer(1)
     SetNeutron('set').process(b)
     cg.process(b)
     # print c1.neutron
     self.assertVectorAlmostEqual(c1.neutron.state.position, (1,0,0))
     self.assertVectorAlmostEqual(c1.neutron.state.velocity, (-1,0,0))
     return
Beispiel #3
0
    def _init(self):
        super(MultiMonitors, self)._init()
        if self._showHelpOnly:
            return

        geometer = self.inventory.geometer
        from mcni.neutron_coordinates_transformers import default as transformer
        from mcni.components.ComponentGroup import ComponentGroup
        self.engine = ComponentGroup(self.name, self.monitors, geometer,
                                     transformer)
        self.engine.debug_logger = self._debug.log
        return