summaryrefslogtreecommitdiff
path: root/tests/test_generator_vertex.py
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-08-20 16:48:22 -0400
committerStan Seibert <stan@mtrr.org>2011-08-20 16:48:22 -0400
commit124c7ce98de956e4c1817627f1fd0e2faf281bc6 (patch)
treee91f6a54cc33b69ec633cb166659882461718842 /tests/test_generator_vertex.py
parent578beeff152ab8a806e7c1ee6adb22aa3d5aa4a7 (diff)
downloadchroma-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.py23
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))