summaryrefslogtreecommitdiff
path: root/test/test_generator_vertex.py
blob: f959b986ebb300210e62f990828af1a134a5833b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from unittest_find 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.primary_vertex.particle_name, 'e-')
            self.assertTrue(np.allclose(ev.primary_vertex.pos, [0,0,0]))
            self.assertTrue(np.allclose(ev.primary_vertex.dir, [1,0,0]))
            self.assertTrue(np.allclose(ev.primary_vertex.ke, 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.primary_vertex.particle_name, 'e-')
            self.assertTrue(np.allclose(ev.primary_vertex.pos, [1,0,0]))
            self.assertTrue(np.allclose(ev.primary_vertex.dir, [1,0,0]))
            self.assertTrue(np.allclose(ev.primary_vertex.ke, 100))