150 lines
5.3 KiB
Plaintext
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: #
|
|
# cp -pr <install-dir>/geant4/examples/basic/B4/macros/visTutor . #
|
|
# <place-of-binary>/exampleB4a -m visTutor/exN03Vis12.mac #
|
|
# #
|
|
# REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL #
|
|
# #
|
|
#######################################################################
|
|
|
|
/control/verbose 2
|
|
/vis/verbose confirmations
|
|
/run/initialize
|
|
|
|
/vis/open OGL 600x600-0+0
|
|
/vis/drawVolume
|
|
|
|
# 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/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/viewer/set/timeWindow/fadeFactor 1
|
|
/vis/viewer/set/timeWindow/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/viewer/set/timeWindow/displayHeadTime true
|
|
/vis/viewer/set/timeWindow/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/viewer/set/timeWindow/displayLightFront false
|
|
/vis/viewer/set/timeWindow/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 5
|
|
|
|
/control/alias timeRange 1000
|
|
/vis/viewer/set/timeWindow/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
|