1#######################################################################
2# MACRO FILE NAME: exN03Vis12.mac #
4# AUTHOR(S): John Allison #
6# DATE: 16th August 2006 #
8# CONTENTS: A basic macro for demonstrating time slicing #
11# cp -pr <install-dir>/geant4/examples/basic/B4/macros/visTutor . #
12# <place-of-binary>/exampleB4a -m visTutor/exN03Vis12.mac #
14# REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL #
16#######################################################################
19/vis/verbose confirmations
22/vis/open OGL 600x600-0+0
25# Disable auto refresh and quieten vis messages whilst scene and
26# trajectories are established:
27/vis/viewer/set/autoRefresh false
30/vis/viewer/set/viewpointThetaPhi 90. 180.
32/vis/scene/add/trajectories rich
34# Set up drawByCharge with time slicing
35/vis/modeling/trajectories/create/drawByCharge TimeSliceByCharge
36/vis/modeling/trajectories/TimeSliceByCharge/default/setDrawStepPts true
37/vis/modeling/trajectories/TimeSliceByCharge/default/setStepPtsSize 5
38/vis/modeling/trajectories/TimeSliceByCharge/default/setDrawAuxPts true
39/vis/modeling/trajectories/TimeSliceByCharge/default/setAuxPtsSize 5
40/vis/modeling/trajectories/TimeSliceByCharge/default/setTimeSliceInterval 0.001 ns
41/vis/modeling/trajectories/list
42#//globalField/setValue 5 0 0 tesla
43#/vis/scene/add/trajectories rich smooth
45# Re-establish auto refreshing and verbosity:
46/vis/viewer/set/autoRefresh true
54# Configure OpenGL for display-by-time
55/vis/viewer/set/timeWindow/fadeFactor 1
56/vis/viewer/set/timeWindow/displayHeadTime true
57/control/alias timeRange 0.1
62/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
65/vis/verbose confirmations
73/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
76/vis/verbose confirmations
78# Disable auto refresh and quieten vis messages whilst scene and
79# trajectories are established:
80/vis/viewer/set/autoRefresh false
83# Set up drawByParticleID with time slicing
84/vis/modeling/trajectories/create/drawByParticleID TimeSliceByParticleID
85/vis/modeling/trajectories/TimeSliceByParticleID/set e- red
86/vis/modeling/trajectories/TimeSliceByParticleID/set e+ blue
87/vis/modeling/trajectories/TimeSliceByParticleID/set pi- cyan
88/vis/modeling/trajectories/TimeSliceByParticleID/set pi+ magenta
89#/vis/modeling/trajectories/TimeSliceByParticleID/default/setDrawStepPts true
90/vis/modeling/trajectories/TimeSliceByParticleID/default/setStepPtsSize 5
91#/vis/modeling/trajectories/TimeSliceByParticleID/default/setDrawAuxPts true
92/vis/modeling/trajectories/TimeSliceByParticleID/default/setAuxPtsSize 5
93/vis/modeling/trajectories/TimeSliceByParticleID/default/setTimeSliceInterval 0.001 ns
94/vis/modeling/trajectories/list
97/vis/filtering/trajectories/create/particleFilter TimeSliceFilter
98/vis/filtering/trajectories/TimeSliceFilter/add gamma
99/vis/filtering/trajectories/TimeSliceFilter/invert true
101# Re-establish auto refreshing and verbosity:
102/vis/viewer/set/autoRefresh true
108/control/alias timeRange 0.1
109/vis/viewer/set/timeWindow/displayHeadTime true
110/vis/viewer/set/timeWindow/displayLightFront true 0 0 -90 mm
113/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
114/control/shell sleep 5
116/vis/verbose confirmations
117/vis/viewer/set/timeWindow/displayLightFront false
118/vis/viewer/set/timeWindow/displayHeadTime false
120# Disable auto refresh and quieten vis messages whilst scene and
121# trajectories are established:
122/vis/viewer/set/autoRefresh false
125# To see pi -> mu -> e decay.
127/vis/filtering/trajectories/TimeSliceFilter/add anti_nu_mu
128/vis/filtering/trajectories/TimeSliceFilter/add nu_mu
129/vis/filtering/trajectories/TimeSliceFilter/add anti_nu_e
130/vis/filtering/trajectories/TimeSliceFilter/add nu_e
131# Accumulate several events for effect
132/vis/scene/endOfEventAction accumulate
134#/vis/viewer/set/globalLineWidthScale 2
136# Re-establish auto refreshing and verbosity:
137/vis/viewer/set/autoRefresh true
142/control/alias timeRange 1000
143/vis/viewer/set/timeWindow/displayHeadTime true
146/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 3000 5
147/control/shell sleep 5
149/vis/verbose confirmations