!/* +---------------------- Copyright notice -------------------------------+ */ !/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ !/* | Permission to use, copy, modify, and distribute this software | */ !/* | and its documentation for any purpose and without fee is hereby | */ !/* | granted, provided that the above copyright notice appear in all | */ !/* | copies and that both that copyright notice and this permission | */ !/* | notice appear in supporting documentation. This software is | */ !/* | provided "as is" without express or implied warranty. | */ !/* +---------------------- Copyright notice -------------------------------+ */ !---------------------------- begin OInterface prefix = EXPO_ resources = \ Wo**XoCamera.borderWidth:3\ Wo*shell_view_panel*XoCamera.borderColor:dimgrey createCallback = osh>\ #G4 /init/all\ G4 '/run/initialize all'\ G4 '/tracking/storeTrajectory 1'\ G4 '/gun/particle e-'\ #G4 '/gun/particle pi+'\ G4 '/gun/direction 0.1 1 0'\ G4 '/gun/energy 1 GeV'\ create OHistogram name HepJamesRandom1 dimension 1 xAxisTitle James xAxisNumberOfBins 100 xAxisMinimum 0 xAxisMaximum 1 | empty\ create OHistogram name HepJamesVsDRand48 dimension 2 xAxisTitle James xAxisNumberOfBins 40 xAxisMinimum 0 xAxisMaximum 1 yAxisTitle DRand48 yAxisNumberOfBins 40 yAxisMinimum 0 yAxisMaximum 1 | empty end !---------------------------- begin OWidget name = EXPO_1 type = TopLevelShell children = EXPO_9 mappedWhenManaged = true geometry = 700x500+0+0 title = Visualization GEANT4 EXPO end !---------------------------- begin OWidget name = EXPO_9 type = XmForm children = EXPO_4 EXPO_form end !---------------------------- begin OWidget name = EXPO_4 type = XmMenuBar children = EXPO_5 EXPO_6 EXPO_EXPO_casc EXPO_EXPO_pdm EXPO_g4_casc EXPO_g4_pdm Vis3d_casc do Wo sendExitOnly end !---------------------------- begin OWidget name = EXPO_form type = XmForm children = EXPO_camera EXPO_plot1 EXPO_plot2 background = grey topAttachment = attach_widget bottomAttachment = attach_form leftAttachment = attach_form rightAttachment = attach_form topWidget = EXPO_4 end !---------------------------- begin OWidget name = EXPO_camera type = XoCamera viewLimits = -2000. 2000. ! depthTreatment = zbuffer createCallback = osh>\ set Widget target `thisWidget`\ camera=`thisCamera`\ #EXPO\ setWidgetResource EXPO_camera viewLimits '-2000. 2000.'\ set OContext color pink; collect PhysicalVolume where name eq WorldPhys | represent - | viewNode - $camera\ set OContext color pink; collect PhysicalVolume where name eq CalorPhys | represent - | viewNode - $camera\ set OContext modeling wire_frame\ set OContext color lightgrey; collect PhysicalVolume where name eq ChambPhys | represent - | viewNode - $camera background = black collectCallback = osh> getCameraNodes `thisCamera` | collect ONode where highlight eq 1 | get - name | dump - topAttachment = attach_form bottomAttachment = attach_form leftAttachment = attach_form rightAttachment = attach_position rightPosition = 60 end !---------------------------- begin OWidget name = EXPO_plot1 type = XoPlotter topAttachment = attach_form leftAttachment = attach_widget leftWidget = EXPO_camera rightAttachment = attach_form bottomAttachment = attach_position bottomPosition = 50 plottedObjects = HepJamesRandom1 end !---------------------------- begin OWidget name = EXPO_plot2 type = XoPlotter topAttachment = attach_widget topWidget = EXPO_plot1 bottomAttachment = attach_form leftAttachment = attach_widget leftWidget = EXPO_camera rightAttachment = attach_form plottedObjects = HepJamesVsDRand48 valueColorMapping = black 0.05 red 0.1 blue end !---------------------------- begin OWidget name = shell_view_panel type = XmFormDialog children = shell_view dialogTitle = Shell view end !---------------------------- begin OWidget name = shell_view type = XoCamera background = black referenceCamera = EXPO_camera collectCallback = osh> getCameraNodes `thisCamera` | collect ONode where highlight eq 1 | get - name | dump - topAttachment = attach_form bottomAttachment = attach_form leftAttachment = attach_form rightAttachment = attach_form end !---------------------------- begin OWidget name = EXPO_g4ui type = XmPushButton labelString = G4 commands activateCallback = osh> load g4ui.odb | realize -;manageWidget g4ui_palette;raiseWidget g4ui_palette_popup end !---------------------------- begin OWidget name = EXPO_command_chooser type = XmPushButton labelString = G4 command chooser activateCallback = osh> load G4Cmds.odb | realize - ;manageWidget G4Cmds_palette;raiseWidget G4Cmds_palette_popup end !---------------------------- begin OWidget name = EXPO_G4PV type = XmPushButton labelString = G4 volume chooser activateCallback = osh> load G4PV.odb | realize - ;manageWidget G4PV_palette;raiseWidget G4PV_palette_popup end !---------------------------- begin OWidget name = EXPO_osh type = XmPushButton labelString = osh commands activateCallback = osh> load osh.odb | realize -;manageWidget osh_palette;raiseWidget osh_palette_popup end !---------------------------- begin OWidget name = EXPO_g4_casc type = XmCascadeButton background = lightgrey labelString = G4 subMenuId = EXPO_g4_pdm end !---------------------------- begin OWidget name = EXPO_g4_pdm type = XmPulldownMenu children = EXPO_g4ui EXPO_command_chooser EXPO_G4PV EXPO_osh EXPO_tracking_verbose background = lightgrey end !---------------------------- begin OWidget name = EXPO_tracking_verbose type = XmToggleButton labelString = Tracking verbose on/off valueChangedCallback = osh>\ test `getWidgetResource EXPO_tracking_verbose set` eq true && G4 '/tracking/verbose 2'\ test `getWidgetResource EXPO_tracking_verbose set` eq false && G4 '/tracking/verbose' end !---------------------------- begin OWidget name = EXPO_EXPO_casc type = XmCascadeButton background = lightgrey labelString = EXPO subMenuId = EXPO_EXPO_pdm end !---------------------------- begin OWidget name = EXPO_EXPO_pdm type = XmPulldownMenu children = EXPO_startRun EXPO_nextEvent EXPO_abortRun !EXPO_cyclic background = lightgrey end !---------------------------- begin OWidget name = EXPO_startRun type = XmPushButton labelString = Start run createCallback = osh> setWidgetResource EXPO_nextEvent sensitive False activateCallback = &osh>\ setWidgetResource EXPO_exit sensitive False\ setWidgetResource EXPO_startRun sensitive False\ setWidgetResource EXPO_nextEvent sensitive True\ setWidgetResource EXPO_abortRun sensitive True\ eventn=`ask 'Number of event' 10`\ string=`printf '/run/beamOn %s' $eventn`\ G4 $string\ setWidgetResource EXPO_exit sensitive True\ setWidgetResource EXPO_startRun sensitive True\ setWidgetResource EXPO_nextEvent sensitive False\ setWidgetResource EXPO_abortRun sensitive False end !---------------------------- !begin OWidget ! name = EXPO_cyclic ! type = XmPushButton ! labelString = Cyclic ! createCallback = osh> setWidgetResource EXPO_nextEvent sensitive False ! activateCallback = osh>\ ! isValid OCyclic/auto_next && delete OCyclic/auto_next\ ! delay=`ask delay(msec) 1000`\ ! script='G4> /run/beamOn 1'\ ! create OCyclic name auto_next widget `thisWidget` delay $delay script $script\ ! do OCyclic/auto_next start !end !---------------------------- begin OWidget name = EXPO_nextEvent type = XmPushButton labelString = Next event activateCallback = osh> do Wo sendExitOnly end !---------------------------- begin OWidget name = EXPO_abortRun type = XmPushButton labelString = Abort run createCallback = osh>\ setWidgetResource EXPO_nextEvent sensitive False\ setWidgetResource EXPO_abortRun sensitive False activateCallback = osh>\ G4 /run/abort\ do Wo sendExitOnly end