Functions | |
def | configure |
def DetSim::Opts::configure | ( | argv = [] |
) |
Definition at line 14 of file Opts.py.
00014 : 00015 00016 from optparse import OptionParser 00017 parser = OptionParser(usage=__doc__) 00018 parser.add_option("-p", "--physics-list",default="all",type="string", 00019 help='Set physics list. Can be "basic", "all" or list of physics constructor classes.') 00020 parser.add_option("-s", "--site",default="all",type="string", 00021 help='Set what site geometry to load, can be "far", "dayabay", "lingao" or "all"') 00022 parser.add_option("-t", "--track-selection",default="",type="string", 00023 help='Set the track selection rules for the particle history') 00024 parser.add_option("-v", "--vertex-selection",default="",type="string", 00025 help='Set the vertex selection rules for the particle history') 00026 parser.add_option("-u", "--unobservable-statistics",default="[]",type="string", 00027 help='Set the rules for the unobservable statistics, takes a list or tripplets.') 00028 parser.add_option("-V", "--verbose",default=False, 00029 help='Turn up Geant4 verbosity. Big log files!') 00030 00031 (opts,args) = parser.parse_args(args=argv) 00032 00033 from DetSim import Configure, physics_list_basic, physics_list_nuclear 00034 00035 if opts.physics_list == "basic": 00036 opts.physics_list = physics_list_basic 00037 elif opts.physics_list == "all": 00038 opts.physics_list = physics_list_basic+physics_list_nuclear 00039 # convert string rep of list of strings to Python list of strings 00040 elif opts.physics_list: 00041 opts.physics_list = eval(opts.physics_list) 00042 else: 00043 raise ValueError,'Unknown physics list: "%s"'%opts.physics_list 00044 00045 # User should pass in a string rep of a list of tripplets of 00046 # strings. Need to convert it to a Python list of tripplets of 00047 # strings. 00048 opts.unobservable_statistics = eval(opts.unobservable_statistics) 00049 00050 if opts.site == 'All' or opts.site == 'all': opts.site='far,dayabay,lingao' 00051 00052 print 'Site is',opts.site 00053 detsim = Configure(site=opts.site,physlist=opts.physics_list) 00054 00055 if opts.track_selection or opts.vertex_selection: 00056 detsim.historian(opts.track_selection, opts.vertex_selection) 00057 if opts.unobservable_statistics: 00058 detsim.unobserver(opts.unobservable_statistics) 00059 00060 if opts.verbose: 00061 # Turn up verbosity 00062 from GaussTools.GaussToolsConf import GiGaEventActionCommand 00063 geac = GiGaEventActionCommand("GiGa.GiGaEventActionCommand") 00064 geac.BeginOfEventCommands = [ 00065 "/control/verbose 2", 00066 "/run/verbose 1", 00067 "/event/verbose 2", 00068 "/tracking/verbose 2", 00069 "/geometry/navigator/verbose 2" 00070 ] 00071 detsim.giga.EventAction = geac 00072 00073 return 00074 00075 if '__main__' == __name__: