00001
00002 '''
00003 Configure GenTools from the command line.
00004
00005 You can run it something like:
00006
00007 nuwa.py -n 10 -o output.root -m 'GenTools.Opts [opts]' -m 'DetSim.Opts [opts]'
00008
00009 Passing '--help' as an option will show what options are available.
00010 '''
00011
00012 def configure(argv=[]):
00013 default_de = '/dd/Structure/AD/far-oil1'
00014
00015 from optparse import OptionParser
00016 parser = OptionParser(usage=__doc__)
00017 parser.add_option("-a", "--helper",default="gun",type="string",
00018 help='Define a "helper" to help set up GenTools is gun, diffuser or hepevt.')
00019 parser.add_option("-v", "--volume",default=default_de,type="string",
00020 help='Define a volume to focus on.')
00021 parser.add_option("-s", "--data-source",default="",type="string",
00022 help='Define the data source to use for HepEVT helper')
00023
00024 (opts,args) = parser.parse_args(args=argv)
00025
00026 from GenTools import Helpers, Dumper, Configure
00027
00028 helper = None
00029 if opts.helper == "gun":
00030 helper = Helpers.Gun(volume=opts.volume)
00031 elif opts.helper == "diffuser":
00032 helper = Helpers.DiffuserBall(volume=opts.volume)
00033 elif opts.helper == "hepevt":
00034 helper = Helpers.HepEVT()
00035 helper.positioner.Volume = opts.volume
00036 helper.transformer.Volume = opts.volume
00037 else:
00038 raise ValueError, 'Unknown helper: '+opts.helper
00039
00040 gtc = Configure(opts.helper,opts.helper+' in '+opts.volume,helper=helper)
00041 Dumper()
00042 return
00043