diff options
author | Stan Seibert <stan@mtrr.org> | 2011-08-16 18:54:40 -0400 |
---|---|---|
committer | Stan Seibert <stan@mtrr.org> | 2011-08-16 18:54:40 -0400 |
commit | cc478cf132d554642345ada31d3f801f004bf184 (patch) | |
tree | 468f20b162605debecc2c933fddf2875dbda28f8 | |
parent | e5f51bde2015b12301062ab7903038ba2fcf3e34 (diff) | |
download | chroma-cc478cf132d554642345ada31d3f801f004bf184.tar.gz chroma-cc478cf132d554642345ada31d3f801f004bf184.tar.bz2 chroma-cc478cf132d554642345ada31d3f801f004bf184.zip |
Minor fixes to simulation. Default to 11 bit mode, fix print statement.
-rwxr-xr-x | sim.py | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -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 |