summaryrefslogtreecommitdiff
path: root/chroma-sim
diff options
context:
space:
mode:
authorStan Seibert <stan@mtrr.org>2011-09-16 14:27:46 -0400
committerStan Seibert <stan@mtrr.org>2011-09-16 14:27:46 -0400
commit084dfd08b714faefaea77cb7dc04d2e93dc04b1d (patch)
tree5be8c1f1d30dc52d74c70c4964ec54f66294c265 /chroma-sim
parentcfecff941fc619eb7269128afc62d9c11ae78aff (diff)
downloadchroma-084dfd08b714faefaea77cb7dc04d2e93dc04b1d.tar.gz
chroma-084dfd08b714faefaea77cb7dc04d2e93dc04b1d.tar.bz2
chroma-084dfd08b714faefaea77cb7dc04d2e93dc04b1d.zip
File reorganization to move toward standard python package layout
Diffstat (limited to 'chroma-sim')
-rwxr-xr-xchroma-sim87
1 files changed, 0 insertions, 87 deletions
diff --git a/chroma-sim b/chroma-sim
deleted file mode 100755
index fa106a2..0000000
--- a/chroma-sim
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env python
-#--*-python-*-
-
-if __name__ == '__main__':
- import optparse
- import sys
- import imp
- import os
- import inspect
- import numpy as np
-
- from chroma import event
- from chroma import itertoolset
- from chroma import Simulation
- from chroma import root
-
- parser = optparse.OptionParser('%prog <detector>')
- parser.add_option('-o', dest='output_filename',
- help='output filename', default='out.root')
- parser.add_option('-j', type='int', dest='device',
- help='CUDA device number', default=None)
- parser.add_option('-s', type='int', dest='seed',
- help='random number generator seed')
- parser.add_option('-g', type='int', dest='ngenerators',
- help='number of GEANT4 processes', default=4)
- parser.add_option('-n', '--nevents', type='int', dest='nevents',
- default=100)
- parser.add_option('-p', '--particle', dest='particle',
- help='particle name', default='e-')
- parser.add_option('-k', '--ke', type='float', dest='ke',
- help='kinetic energy (MeV)', default=100.0)
- parser.add_option('--pos', dest='pos',
- help='particle vertex origin', default='0,0,0')
- parser.add_option('--dir', dest='dir',
- help='particle vertex direction', default='1,0,0')
- parser.add_option('--save-photons-beg', action='store_true',
- dest='save_photons_beg',
- help='save initial photons to disk', default=False)
- parser.add_option('--save-photons-end', action='store_true',
- dest='save_photons_end',
- help='save final photons to disk', default=False)
-
- options, args = parser.parse_args()
-
- if len(args) < 1:
- sys.exit(parser.format_help())
-
- name, attr = args[0].split('.')
-
- try:
- file, path, description = imp.find_module(name)
- except ImportError:
- raise
-
- module = imp.load_module(name, file, path, description)
-
- detector = getattr(module, attr)
-
- if inspect.isfunction(detector):
- detector = detector()
-
- pos = np.array([float(s) for s in options.pos.split(',')], dtype=float)
- dir = np.array([float(s) for s in options.dir.split(',')], dtype=float)
-
- vertex = event.Vertex(options.particle, pos, dir, options.ke)
-
- sim = Simulation(detector, seed=options.seed, cuda_device=options.device,
- geant4_processes=options.ngenerators)
-
- print 'RNG seed: %i' % sim.seed
-
- writer = root.RootWriter(options.output_filename)
-
- for i, ev in \
- enumerate(sim.simulate(itertoolset.repeatcopy(vertex,
- options.nevents),
- keep_photons_beg=options.save_photons_beg,
- keep_photons_end=options.save_photons_end)):
- print '\rEvent: %i' % (i+1),
- sys.stdout.flush()
-
- assert ev.nphotons > 0, 'Geant4 generated event with no photons!'
-
- writer.write_event(ev)
- print
-
- writer.close()