summaryrefslogtreecommitdiff
path: root/test/test_generator_photon.py
blob: 37248cf83a4cb2b2ca117788d71048f7974984fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import unittest
import itertools

from chroma import generator
from chroma.generator.vertex import constant_particle_gun
from chroma.demo.optics import water

class TestG4ParallelGenerator(unittest.TestCase):
    def test_center(self):
        '''Generate Cherenkov light at the center of the world volume'''
        gen = generator.photon.G4ParallelGenerator(1, water)
        vertex = itertools.islice(constant_particle_gun('e-', (0,0,0), (1,0,0), 100), 10)
        for event in gen.generate_events(vertex):
            self.assertGreater(len(event.photons_beg.pos), 0)

    def test_off_center(self):
        '''Generate Cherenkov light at (1 m, 0 m, 0 m)'''
        gen = generator.photon.G4ParallelGenerator(1, water)
        vertex = itertools.islice(constant_particle_gun('e-', (1000,0,0), (1,0,0), 100), 10)
        for event in gen.generate_events(vertex):
            self.assertGreater(len(event.photons_beg.pos), 0)