####################################################################### # 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