!/* +---------------------- 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 = TEST_ resources = \ Wo**XoCamera.borderWidth:3\ Wo*shell_view_panel*XoCamera.borderColor:dimgrey createCallback = osh>\ 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 = TEST_1 type = TopLevelShell children = TEST_9 mappedWhenManaged = true geometry = 700x500+0+0 title = Visualization GEANT4 TEST19 end !---------------------------- begin OWidget name = TEST_9 type = XmForm children = TEST_4 TEST_form end !---------------------------- begin OWidget name = TEST_4 type = XmMenuBar children = TEST_5 TEST_6 TEST_TEST_casc TEST_TEST_pdm TEST_g4_casc TEST_g4_pdm Vis3d_casc do Wo sendExitOnly end !---------------------------- begin OWidget name = TEST_form type = XmForm children = TEST_camera TEST_plot1 TEST_plot2 background = grey topAttachment = attach_widget bottomAttachment = attach_form leftAttachment = attach_form rightAttachment = attach_form topWidget = TEST_4 end !---------------------------- begin OWidget name = TEST_camera type = XoCamera viewLimits = -2000. 2000. ! depthTreatment = zbuffer userCallback = osh>\ set Widget target `thisWidget`\ camera=`thisCamera`\ set OContext color grey\ # For detector 4\ collect PhysicalVolume where name eq calo_phys | represent - | viewNode - $camera\ set OContext color grey\ collect PhysicalVolume where name eq tracker_phys | represent - | viewNode - $camera\ # For detector 5 (ATLAS)\ collect PhysicalVolume where name eq ATLexpHall_P | represent - | viewNode - $camera\ getCameraNodes $camera | normalizeNode - $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 = TEST_plot1 type = XoPlotter topAttachment = attach_form leftAttachment = attach_widget leftWidget = TEST_camera rightAttachment = attach_form bottomAttachment = attach_position bottomPosition = 50 plottedObjects = HepJamesRandom1 end !---------------------------- begin OWidget name = TEST_plot2 type = XoPlotter topAttachment = attach_widget topWidget = TEST_plot1 bottomAttachment = attach_form leftAttachment = attach_widget leftWidget = TEST_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 = TEST_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 = TEST_g4ui type = XmPushButton labelString = G4 commands activateCallback = osh> load g4ui.odb | realize -;manageWidget g4ui_palette;raiseWidget g4ui_palette_popup end !---------------------------- begin OWidget name = TEST_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 = TEST_G4PV type = XmPushButton labelString = G4 volume chooser activateCallback = osh> load G4PV.odb | realize - ;manageWidget G4PV_palette;raiseWidget G4PV_palette_popup end !---------------------------- begin OWidget name = TEST_osh type = XmPushButton labelString = osh commands activateCallback = osh> load osh.odb | realize -;manageWidget osh_palette;raiseWidget osh_palette_popup end !---------------------------- begin OWidget name = TEST_g4_casc type = XmCascadeButton background = lightgrey labelString = G4 subMenuId = TEST_g4_pdm end !---------------------------- begin OWidget name = TEST_g4_pdm type = XmPulldownMenu children = TEST_g4ui TEST_command_chooser TEST_G4PV TEST_osh TEST_tracking_verbose background = lightgrey end !---------------------------- begin OWidget name = TEST_tracking_verbose type = XmToggleButton labelString = Tracking verbose on/off valueChangedCallback = osh>\ test `getWidgetResource TEST_tracking_verbose set` eq true && G4 '/tracking/verbose 2'\ test `getWidgetResource TEST_tracking_verbose set` eq false && G4 '/tracking/verbose' end !---------------------------- begin OWidget name = TEST_TEST_casc type = XmCascadeButton background = lightgrey labelString = TEST subMenuId = TEST_TEST_pdm end !---------------------------- begin OWidget name = TEST_TEST_pdm type = XmPulldownMenu children = TEST_det4 TEST_ATLAS TEST_end_selection TEST_sep TEST_init TEST_startRun TEST_nextEvent TEST_abortRun TEST_cyclic background = lightgrey end !---------------------------- begin OWidget name = TEST_det4 type = XmPushButton labelString = Detector 4 activateCallback = osh> G4 '/test19det/detector 4' end !---------------------------- begin OWidget name = TEST_ATLAS type = XmPushButton labelString = ATLAS createCallback = osh> setWidgetResource TEST_end_selection sensitive False activateCallback = &osh>\ echo '- Choose sub detectors with'\ echo ' G4 commands (chooser) and'\ echo '- Click on End selection'\ echo ' when finished.'\ echo '- Click on Initialize.'\ setWidgetResource TEST_end_selection sensitive True\ G4 '/test19det/detector 5' end !---------------------------- begin OWidget name = TEST_end_selection type = XmPushButton labelString = End selection activateCallback = osh>\ setWidgetResource TEST_end_selection sensitive False\ do Wo sendExitOnly end !---------------------------- begin OWidget name = TEST_sep type = XmSeparator end !---------------------------- begin OWidget name = TEST_init type = XmPushButton labelString = Initialize activateCallback = osh>\ G4 '/run/initialize'\ G4 '/tracking/storeTrajectory 1'\ G4 '/gun/particle e-'\ #G4 '/gun/particle pi+'\ G4 '/gun/direction 0.1 1 0'\ G4 '/gun/energy 1 GeV'\ callWidgetCallbacks TEST_camera userCallback end !---------------------------- begin OWidget name = TEST_represent type = XmPushButton labelString = Represent mother volume activateCallback = osh>\ set OContext color pink\ collect PhysicalVolume where name eq ATLexpHall_P | represent - | viewNode - TEST_camera\ end !---------------------------- begin OWidget name = TEST_startRun type = XmPushButton labelString = Start run createCallback = osh> setWidgetResource TEST_nextEvent sensitive False activateCallback = &osh>\ setWidgetResource TEST_exit sensitive False\ setWidgetResource TEST_startRun sensitive False\ setWidgetResource TEST_nextEvent sensitive True\ setWidgetResource TEST_abortRun sensitive True\ eventn=`ask 'Number of event' 10`\ string=`printf '/run/beamOn %s' $eventn`\ G4 $string\ setWidgetResource TEST_exit sensitive True\ setWidgetResource TEST_startRun sensitive True\ setWidgetResource TEST_nextEvent sensitive False\ setWidgetResource TEST_abortRun sensitive False end !---------------------------- begin OWidget name = TEST_cyclic type = XmPushButton labelString = Cyclic createCallback = osh> setWidgetResource TEST_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 = TEST_nextEvent type = XmPushButton labelString = Next event activateCallback = osh> do Wo sendExitOnly end !---------------------------- begin OWidget name = TEST_abortRun type = XmPushButton labelString = Abort run createCallback = osh>\ setWidgetResource TEST_nextEvent sensitive False\ setWidgetResource TEST_abortRun sensitive False activateCallback = osh>\ G4 /run/abort\ do Wo sendExitOnly end