summaryrefslogtreecommitdiff
path: root/track.py
diff options
context:
space:
mode:
Diffstat (limited to 'track.py')
-rw-r--r--track.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/track.py b/track.py
deleted file mode 100644
index 101e08e..0000000
--- a/track.py
+++ /dev/null
@@ -1,65 +0,0 @@
-import numpy as np
-import pycuda.driver as cuda
-from gputhread import GPUThread
-from detectors import minilbne
-from Queue import Queue
-from threadtest import create_job
-import matplotlib.pyplot as plt
-from itertoolset import roundrobin
-from color import map_wavelength
-from solids import r11708
-from geometry import Geometry
-import src
-
-nphotons = 1000
-
-jobs = Queue()
-output = Queue()
-
-geometry = minilbne
-geometry.build(bits=8)
-
-cuda.init()
-
-try:
- #gputhread = GPUThread(5, geometry, jobs, output, 64)
- #gputhread.start()
-
- device = cuda.Device(5)
- context = device.make_context()
- module = SourceModule(src.kernel, options=['-I' + src.dir], no_extern_c=True, cache_dir=False)
-
- propagate = module.get_function('propagate')
-
- job = create_job((0,0,0), nphotons)
-
- x = np.empty((nphotons, 10, 3))
- for i in range(10):
- print '%i' % i
- x[:,i,0] = job.positions['x']
- x[:,i,1] = job.positions['y']
- x[:,i,2] = job.positions['z']
-
- jobs.put(job)
- jobs.join()
-
- job = output.get()
-
- for j in np.unique(job.states):
- print 'state %2i, %i' % (j, len(job.states[job.states == j]))
-finally:
- gputhread.stop()
- gputhread.join()
-
-mask = job.states == 2
-
-rgb = (map_wavelength(job.wavelengths[mask])*255).astype(np.uint32)
-
-def format_hex_string(s):
- return '#' + s.rstrip('L')[2:].zfill(6)
-
-colors = map(format_hex_string, map(hex, rgb[:,0] << 16 | rgb[:,1] << 8 | rgb[:,2]))
-
-plt.figure()
-plt.plot(*roundrobin(x[mask,:,0], x[mask,:,2], colors))
-plt.show()