From a0157584bd9c4f0fc180d010d2c0866d9b859b63 Mon Sep 17 00:00:00 2001 From: Anthony LaTorre Date: Fri, 20 May 2011 12:51:59 -0400 Subject: you can now pass detector class name to view.py --- likelihood.py | 2 +- view.py | 28 ++++++++++++++++++---------- 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]) -- cgit