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
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
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