summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-08-16 18:54:40 -0400
committerStan Seibert <stan@mtrr.org>2011-08-16 18:54:40 -0400
commitcc478cf132d554642345ada31d3f801f004bf184 (patch)
tree468f20b162605debecc2c933fddf2875dbda28f8
parente5f51bde2015b12301062ab7903038ba2fcf3e34 (diff)
downloadchroma-cc478cf132d554642345ada31d3f801f004bf184.tar.gz
chroma-cc478cf132d554642345ada31d3f801f004bf184.tar.bz2
chroma-cc478cf132d554642345ada31d3f801f004bf184.zip
Minor fixes to simulation. Default to 11 bit mode, fix print statement.
-rwxr-xr-xsim.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/sim.py b/sim.py
index 9e9ef18..2d772bb 100755
--- a/sim.py
+++ b/sim.py
@@ -10,6 +10,7 @@ import optics
import generator
from generator import constant
import itertools
+import threading
import gpu
from fileio import root
@@ -42,7 +43,7 @@ class Simulation(object):
else:
self.photon_generator = None
- print >>sys.stderr, 'Creating BVH for detector "%s" with %d bits...' % (self.detector, bvh_bits)
+ print >>sys.stderr, 'Creating BVH with %d bits...' % (bvh_bits)
detector.build(bits=bvh_bits)
print >>sys.stderr, 'Initializing GPU...'
@@ -89,7 +90,7 @@ class Simulation(object):
@profile_if_possible
def main():
parser = optparse.OptionParser('%prog')
- parser.add_option('-b', type='int', dest='nbits', default=10)
+ parser.add_option('-b', type='int', dest='nbits', default=11)
parser.add_option('-j', type='int', dest='device', default=None)
parser.add_option('-s', type='int', dest='seed', default=None,
help='Set random number generator seed')
@@ -121,6 +122,7 @@ def main():
position = np.array(eval(options.pos), dtype=float)
direction = np.array(eval(options.dir), dtype=float)
+ print >>sys.stderr, 'Loading detector %s...' % options.detector
detector = detectors.find(options.detector)
print >>sys.stderr, 'Creating generator...'
@@ -136,20 +138,24 @@ def main():
# Initializing simulation
print >>sys.stderr, 'WARNING: ASSUMING DETECTOR IS WCSIM WATER!!'
- simulation = Simulation(detector=detector, detector_material= optics.water_wcsim,
+ simulation = Simulation(detector=detector, detector_material=optics.water_wcsim,
seed=options.seed, cuda_device=options.device,
geant4_processes=options.ngenerators, bvh_bits=options.nbits)
# Create output file
writer = root.RootWriter(output_filename)
+ # Preheat generator
+ event_iterator = simulation.simulate(options.nevents, vertex_generator,
+ keep_photon_start=options.save_photon_start,
+ keep_photon_stop=options.save_photon_stop)
+
+
print >>sys.stderr, 'Starting simulation...'
start_sim = time.time()
nphotons = 0
- for i, ev in enumerate(simulation.simulate(options.nevents, vertex_generator,
- keep_photon_start=options.save_photon_start,
- keep_photon_stop=options.save_photon_stop)):
+ for i, ev in enumerate(event_iterator):
assert ev.nphoton > 0, 'GEANT4 generated event with no photons!'
nphotons += ev.nphoton