diff options
author | Stan Seibert <stan@mtrr.org> | 2011-08-20 16:48:22 -0400 |
---|---|---|
committer | Stan Seibert <stan@mtrr.org> | 2011-08-20 16:48:22 -0400 |
commit | 124c7ce98de956e4c1817627f1fd0e2faf281bc6 (patch) | |
tree | e91f6a54cc33b69ec633cb166659882461718842 /tests/test_generator_vertex.py | |
parent | 578beeff152ab8a806e7c1ee6adb22aa3d5aa4a7 (diff) | |
download | chroma-124c7ce98de956e4c1817627f1fd0e2faf281bc6.tar.gz chroma-124c7ce98de956e4c1817627f1fd0e2faf281bc6.tar.bz2 chroma-124c7ce98de956e4c1817627f1fd0e2faf281bc6.zip |
A simple unit test of the constant particle gun
Diffstat (limited to 'tests/test_generator_vertex.py')
-rw-r--r-- | tests/test_generator_vertex.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/test_generator_vertex.py b/tests/test_generator_vertex.py new file mode 100644 index 0000000..d773579 --- /dev/null +++ b/tests/test_generator_vertex.py @@ -0,0 +1,23 @@ +import unittest +import itertools +import numpy as np +import chroma.generator.vertex + +class TestParticleGun(unittest.TestCase): + def test_constant_particle_gun_center(self): + '''Generate electron vertices at the center of the world volume.''' + vertex = chroma.generator.vertex.constant_particle_gun('e-', (0,0,0), (1,0,0), 100) + for ev in itertools.islice(vertex, 100): + self.assertEquals(ev.particle_name, 'e-') + self.assertTrue(np.allclose(ev.gen_position, [0,0,0])) + self.assertTrue(np.allclose(ev.gen_direction, [1,0,0])) + self.assertTrue(np.allclose(ev.gen_total_energy, 100)) + + def test_off_center(self): + '''Generate electron vertices at (1,0,0) in the world volume.''' + vertex = chroma.generator.vertex.constant_particle_gun('e-', (1,0,0), (1,0,0), 100) + for ev in itertools.islice(vertex, 100): + self.assertEquals(ev.particle_name, 'e-') + self.assertTrue(np.allclose(ev.gen_position, [1,0,0])) + self.assertTrue(np.allclose(ev.gen_direction, [1,0,0])) + self.assertTrue(np.allclose(ev.gen_total_energy, 100)) |