summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-08-21 11:03:49 -0400
committerStan Seibert <stan@mtrr.org>2011-08-21 11:03:49 -0400
commit2b53e1594fe25356a53f43c4b0e01e18f320a16a (patch)
tree3e98c9916e320ebb5645da512578ee6e2d9fbb5d
parent64c1b48541a3582b797b39e7c88304a03205a04d (diff)
downloadchroma-2b53e1594fe25356a53f43c4b0e01e18f320a16a.tar.gz
chroma-2b53e1594fe25356a53f43c4b0e01e18f320a16a.tar.bz2
chroma-2b53e1594fe25356a53f43c4b0e01e18f320a16a.zip
Add new nreps parameter to Simulation.simulate() to allow the same initial photon distributions to be propagated multiple times. Default nreps is 1.
-rwxr-xr-xsim.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/sim.py b/sim.py
index 3336f4d..04845eb 100755
--- a/sim.py
+++ b/sim.py
@@ -12,7 +12,7 @@ import itertools
import threading
import gpu
from fileio import root
-
+from chroma.itertoolset import repeating_iterator
from tools import profile_if_possible, enable_debug_on_crash
def pick_seed():
@@ -57,8 +57,11 @@ class Simulation(object):
self.gpu_worker.setup_daq(max(self.detector.pmtids))
def simulate(self, nevents, vertex_generator, keep_photon_start=False, keep_photon_stop=False,
- run_daq=True):
- return self.simulate_photons(nevents, self.photon_generator.generate_events(nevents, vertex_generator),
+ run_daq=True, nreps=1):
+ photon_gen = repeating_iterator(self.photon_generator.generate_events(nevents, vertex_generator),
+ nreps)
+ return self.simulate_photons(nevents,
+ photon_gen,
keep_photon_start=keep_photon_start, keep_photon_stop=keep_photon_stop,
run_daq=run_daq)