From cc478cf132d554642345ada31d3f801f004bf184 Mon Sep 17 00:00:00 2001 From: Stan Seibert Date: Tue, 16 Aug 2011 18:54:40 -0400 Subject: Minor fixes to simulation. Default to 11 bit mode, fix print statement. --- sim.py | 18 ++++++++++++------ 1 file 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 -- cgit