summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony LaTorre <telatorre@gmail.com>2011-05-20 12:51:59 -0400
committerAnthony LaTorre <telatorre@gmail.com>2011-05-20 12:51:59 -0400
commita0157584bd9c4f0fc180d010d2c0866d9b859b63 (patch)
treefac4d6b3d906dff6d9cd8305c34efe895fbf11fd
parent202eaae296172a120066897a8dceb67605333a79 (diff)
downloadchroma-a0157584bd9c4f0fc180d010d2c0866d9b859b63.tar.gz
chroma-a0157584bd9c4f0fc180d010d2c0866d9b859b63.tar.bz2
chroma-a0157584bd9c4f0fc180d010d2c0866d9b859b63.zip
you can now pass detector class name to view.py
-rw-r--r--likelihood.py2
-rwxr-xr-xview.py28
2 files changed, 19 insertions, 11 deletions
diff --git a/likelihood.py b/likelihood.py
index b31f8fa..ac100b6 100644
--- a/likelihood.py
+++ b/likelihood.py
@@ -18,7 +18,7 @@ module = SourceModule(source, options=['-I' + layout.source], no_extern_c=True,
propagate = module.get_function('propagate')
lbne = LBNE()
-lbne.build(bits=9)
+lbne.build(bits=8)
texrefs = lbne.load(module)
nblocks = 64
diff --git a/view.py b/view.py
index e4ebaee..c827442 100755
--- a/view.py
+++ b/view.py
@@ -175,6 +175,7 @@ if __name__ == '__main__':
from stl import *
from materials import *
+ import detectors
parser = optparse.OptionParser('%prog filename.stl')
parser.add_option('-b', '--bits', type='int', dest='bits',
@@ -191,13 +192,20 @@ if __name__ == '__main__':
geometry = Geometry()
geometry.add_solid(Solid(read_stl(args[0]), vacuum, vacuum))
geometry.build(options.bits)
-
- elif ext.lower() == '.pkl':
- import pickle
- from detectors import *
-
- f = open(args[0], 'rb')
- geometry = pickle.load(f)
- f.close()
-
- view(geometry, tail)
+ view(geometry, tail)
+ else:
+ import inspect
+ import chroma.geometry
+
+ members = dict(inspect.getmembers(detectors))
+
+ if args[0] in members:
+ if issubclass(members[args[0]], Geometry) or \
+ issubclass(members[args[0]], chroma.geometry.Geometry):
+ geometry = members[args[0]]()
+ geometry.build(options.bits)
+ view(geometry, args[0])
+ else:
+ sys.exit("%s doesn't inherit from a Geometry object" % args[0])
+ else:
+ sys.exit("couldn't find a geometry with name %s" % args[0])