Files
geant4/examples/basic/B4/macros/visTutor/exN03Vis12.mac
T
2016-06-10 11:51:14 +02:00

150 lines
5.3 KiB
Plaintext

#######################################################################
# MACRO FILE NAME: exN03Vis12.mac #
# #
# AUTHOR(S): John Allison #
# #
# DATE: 16th August 2006 #
# #
# CONTENTS: A basic macro for demonstrating time slicing #
# #
# USAGE: #
# exampleN03 visTutor/exN03Vis12.mac #
# or Idle> /control/execute visTutor/exN03Vis12.mac #
# or pull down "Vis" menu and click on "TimeSlicing" #
# #
# REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL #
# #
#######################################################################
/control/verbose 2
/vis/verbose confirmations
/vis/open OGL 600x600-0+0
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
/vis/viewer/set/viewpointThetaPhi 90. 180.
/vis/drawVolume
/vis/scene/add/eventID
/vis/scene/add/trajectories rich
# Set up drawByCharge with time slicing
/vis/modeling/trajectories/create/drawByCharge TimeSliceByCharge
/vis/modeling/trajectories/TimeSliceByCharge/default/setDrawStepPts true
/vis/modeling/trajectories/TimeSliceByCharge/default/setStepPtsSize 5
/vis/modeling/trajectories/TimeSliceByCharge/default/setDrawAuxPts true
/vis/modeling/trajectories/TimeSliceByCharge/default/setAuxPtsSize 5
/vis/modeling/trajectories/TimeSliceByCharge/default/setTimeSliceInterval 0.001 ns
/vis/modeling/trajectories/list
#//globalField/setValue 5 0 0 tesla
#/vis/scene/add/trajectories rich smooth
# Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/verbose warnings
# Draw event
/gun/particle e-
/gun/energy 50 MeV
/run/beamOn
# Configure OpenGL for display-by-time
/vis/ogl/set/fade 1
/vis/ogl/set/displayHeadTime true
/control/alias timeRange 0.1
# Display time slices
/vis/verbose warnings
/control/verbose 0
/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
/control/shell sleep 5
/control/verbose 2
/vis/verbose confirmations
# Another event
/run/beamOn
# Display time slices
/vis/verbose warnings
/control/verbose 0
/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
/control/shell sleep 5
/control/verbose 2
/vis/verbose confirmations
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
# Set up drawByParticleID with time slicing
/vis/modeling/trajectories/create/drawByParticleID TimeSliceByParticleID
/vis/modeling/trajectories/TimeSliceByParticleID/set e- red
/vis/modeling/trajectories/TimeSliceByParticleID/set e+ blue
/vis/modeling/trajectories/TimeSliceByParticleID/set pi- cyan
/vis/modeling/trajectories/TimeSliceByParticleID/set pi+ magenta
#/vis/modeling/trajectories/TimeSliceByParticleID/default/setDrawStepPts true
/vis/modeling/trajectories/TimeSliceByParticleID/default/setStepPtsSize 5
#/vis/modeling/trajectories/TimeSliceByParticleID/default/setDrawAuxPts true
/vis/modeling/trajectories/TimeSliceByParticleID/default/setAuxPtsSize 5
/vis/modeling/trajectories/TimeSliceByParticleID/default/setTimeSliceInterval 0.001 ns
/vis/modeling/trajectories/list
# Remove gammas
/vis/filtering/trajectories/create/particleFilter TimeSliceFilter
/vis/filtering/trajectories/TimeSliceFilter/add gamma
/vis/filtering/trajectories/TimeSliceFilter/invert true
# Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/verbose warnings
/gun/energy 1 GeV
/run/beamOn
/control/alias timeRange 0.1
/vis/ogl/set/displayHeadTime true
/vis/ogl/set/displayLightFront true 0 0 -90 mm
/vis/verbose warnings
/control/verbose 0
/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
/control/shell sleep 5
/control/verbose 2
/vis/verbose confirmations
/vis/ogl/set/displayLightFront false
/vis/ogl/set/displayHeadTime false
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
# To see pi -> mu -> e decay.
/gun/particle pi+
/vis/filtering/trajectories/TimeSliceFilter/add anti_nu_mu
/vis/filtering/trajectories/TimeSliceFilter/add nu_mu
/vis/filtering/trajectories/TimeSliceFilter/add anti_nu_e
/vis/filtering/trajectories/TimeSliceFilter/add nu_e
# Accumulate several events for effect
# /vis/scene/endOfEventAction accumulate
/gun/energy 100 MeV
#/vis/viewer/set/globalLineWidthScale 2
# Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/verbose warnings
/run/beamOn
/control/alias timeRange 1000
/vis/ogl/set/displayHeadTime true
/vis/verbose warnings
/control/verbose 0
/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 3000 5
/control/shell sleep 5
/control/verbose 2
/vis/verbose confirmations