Index: trunk/geant4/N03/G4History.macro
===================================================================
--- trunk/geant4/N03/G4History.macro	(revision 474)
+++ trunk/geant4/N03/G4History.macro	(revision 483)
@@ -14,6 +14,12 @@
 /vis/viewer/refresh viewer-1
 /vis/viewer/update viewer-1
+/vis/scene/add/trajectories
 /tracking/storeTrajectory 1
+/vis/scene/notifyHandlers
+/vis/modeling/trajectories/create/drawByCharge
+/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
 /vis/scene/endOfEventAction accumulate
+/vis/scene/notifyHandlers
 /control/execute visTutor/gui.mac
 /gui/addMenu file File
Index: trunk/geant4/N03/History
===================================================================
--- trunk/geant4/N03/History	(revision 474)
+++ trunk/geant4/N03/History	(revision 483)
@@ -1,3 +1,3 @@
-$Id: History,v 1.104 2006/06/16 10:18:05 gcosmo Exp $
+$Id: History,v 1.111 2006/10/26 14:58:59 allison Exp $
 --------------------------------------------------
 
@@ -16,4 +16,35 @@
      ----------------------------------------------------------
      
+26-10-06 John Allison (exampleN03-V08-01-04)
+- Migrate to new trajectory modeling commands:
+  o vis.mac: Add new trajectory commands and helpful comments.
+  o ExN03EventActionMessenger: Remove /N03/event/drawTracks.
+  o ExN03EventAction: Remove SetDrawFlag and code for drawing
+    trajectories in EndOfEventAction.
+  o ExN03TrackingAction: Remove.  (Trajectory choice now available
+    by vis commands - see exN03Vis12.mac and exN03Vis13.mac.)
+  o exN03Vis12.mac and exN03Vis13.mac: Further refinement.
+
+19-09-06 John Allison (exampleN03-V08-01-03)
+- exN03Vis12.mac and exN03Vis13.mac: Further refinement.
+
+12-09-06 John Allison (exampleN03-V08-01-02)
+- exN03Vis12.mac and exN03Vis13.mac: Switched off local trajectory
+  drawing (/N03/event/drawTracks none) so as not to interfere with
+  drawing from /vis/scene/add/trajectories.
+
+31-08-06 mma
+- Code tidy.
+
+30-08-06 John Allison (exampleN03-V08-01-01)
+- Improved visTutor/exN03Vis12.mac.
+- Added visTutor/exN03Vis13.mac: Further demonstration of time slicing.
+
+16-08-06 John Allison (exampleN03-V08-01-00)
+- Added ExN03TrackingAction.  Active code is commented out so it
+  continues to use G4Trajectory.  Introduced so that the code can
+  easily be instated to get G4RichTrajectory for exN03Vis12.mac.
+- Added visTutor/exN03Vis12.mac: demonstration of time slicing.
+
 16-06-06 Gabriele Cosmo (exampleN03-V08-00-06)
 - Use coherent allocation scheme for user-classes and
Index: trunk/geant4/N03/exampleN03.cc
===================================================================
--- trunk/geant4/N03/exampleN03.cc	(revision 474)
+++ trunk/geant4/N03/exampleN03.cc	(revision 483)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: exampleN03.cc,v 1.28 2006/06/29 17:48:30 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// $Id: exampleN03.cc,v 1.30 2006/10/26 14:58:24 allison Exp $
+// GEANT4 tag $Name: geant4-08-02-patch-01-ref $
 //
 //
Index: trunk/geant4/N03/exampleN03.out
===================================================================
--- trunk/geant4/N03/exampleN03.out	(revision 474)
+++ trunk/geant4/N03/exampleN03.out	(revision 483)
@@ -1,5 +1,5 @@
 
 *************************************************************
- Geant4 version Name: global-V08-00-04    (30-June-2006)
+ Geant4 version Name: geant4-08-02-patch-01-ref    (23-February-2007)
                       Copyright : Geant4 Collaboration
                       Reference : NIM A 506 (2003), 250-303
@@ -85,7 +85,5 @@
   drawByParticleID
   drawByOriginVolume
-
-Registered models: 
-  None
+  drawByAttribute
 
 Registered filter factories:
@@ -93,7 +91,5 @@
   particleFilter
   originVolumeFilter
-
-Registered filters:
-  None
+  attributeFilter
 
 
@@ -104,4 +100,5 @@
 
 phot:  Total cross sections from Sandia parametrisation. 
+      Sampling according PhotoElectric model
 
 compt:  Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
@@ -111,5 +108,5 @@
 
 conv:  Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
-      sampling secondary e+e- according to the Bethe-Heitler model
+      sampling secondary e+e- according Bethe-Heitler model
       tables are built for  gamma
       Lambda tables from 1.022 MeV to 100 GeV in 100 bins.
@@ -122,5 +119,6 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
+      Delta cross sections and sampling from MollerBhabha model
+      Good description from 1 KeV to 100 GeV.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -128,5 +126,5 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Total cross sections from a parametrisation based on the EEDL data library. 
+      Total cross sections and sampling from StandBrem model (based on the EEDL data library) 
       Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
 
@@ -134,5 +132,6 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
+      Delta cross sections and sampling from MollerBhabha model
+      Good description from 1 KeV to 100 GeV.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -140,8 +139,8 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Total cross sections from a parametrisation based on the EEDL data library. 
+      Total cross sections and sampling from StandBrem model (based on the EEDL data library) 
       Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
 
-annihil:       Heilter model of formula of annihilation into 2 photons
+annihil:       Sampling according eplus2gg model
       tables are built for  e+
       Lambda tables from 100 eV  to 100 TeV in 120 bins.
@@ -154,6 +153,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -161,6 +161,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -206,6 +207,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -217,6 +219,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -255,14 +258,14 @@
 ----------------------------------------
 ---> End of event: 0
-   Absorber: total energy: 283.57012 MeV       total track length: 19.954777 cm 
-        Gap: total energy: 4.4491408 MeV       total track length: 2.1543629 cm 
+   Absorber: total energy: 255.24989 MeV       total track length: 17.775532 cm 
+        Gap: total energy: 12.751693 MeV       total track length: 6.4347173 cm 
 
 --------------------End of Run------------------------------
 
- mean Energy in Absorber : 283.57012 MeV +- 0 eV 
- mean Energy in Gap      : 4.4491408 MeV +- 0 eV 
-
- mean trackLength in Absorber : 19.954777 cm  +- 0 fm 
- mean trackLength in Gap      : 2.1543629 cm  +- 0 fm 
+ mean Energy in Absorber : 255.24989 MeV +- 0 eV 
+ mean Energy in Gap      : 12.751693 MeV +- 0 eV 
+
+ mean trackLength in Absorber : 17.775532 cm  +- 0 fm 
+ mean trackLength in Gap      : 6.4347173 cm  +- 0 fm 
 ------------------------------------------------------------
 
@@ -273,4 +276,5 @@
 
 phot:  Total cross sections from Sandia parametrisation. 
+      Sampling according PhotoElectric model
 
 compt:  Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
@@ -280,5 +284,5 @@
 
 conv:  Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
-      sampling secondary e+e- according to the Bethe-Heitler model
+      sampling secondary e+e- according Bethe-Heitler model
       tables are built for  gamma
       Lambda tables from 1.0219981 MeV to 100 GeV in 100 bins.
@@ -291,5 +295,6 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
+      Delta cross sections and sampling from MollerBhabha model
+      Good description from 1 KeV to 100 GeV.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -297,5 +302,5 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Total cross sections from a parametrisation based on the EEDL data library. 
+      Total cross sections and sampling from StandBrem model (based on the EEDL data library) 
       Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
 
@@ -303,5 +308,6 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
+      Delta cross sections and sampling from MollerBhabha model
+      Good description from 1 KeV to 100 GeV.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -309,8 +315,8 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Total cross sections from a parametrisation based on the EEDL data library. 
+      Total cross sections and sampling from StandBrem model (based on the EEDL data library) 
       Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
 
-annihil:       Heilter model of formula of annihilation into 2 photons
+annihil:       Sampling according eplus2gg model
       tables are built for  e+
       Lambda tables from 100 eV  to 100 TeV in 120 bins.
@@ -323,6 +329,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -330,6 +337,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -375,6 +383,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 0.29750425 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -386,6 +395,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 0.29750425 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 ### Run 1 start.
@@ -395,17 +405,17 @@
 --------- Ranecu engine status ---------
  Initial seed (index) = 0
- Current couple of seeds = 338525291, 1799411122
+ Current couple of seeds = 1363400685, 1475368346
 ----------------------------------------
 ---> End of event: 0
-   Absorber: total energy: 276.14261 MeV       total track length: 19.058263 cm 
-        Gap: total energy: 16.389271 MeV       total track length: 8.0132117 cm 
+   Absorber: total energy: 273.78056 MeV       total track length: 18.732667 cm 
+        Gap: total energy: 22.74196 MeV       total track length: 11.196324 cm 
 
 --------------------End of Run------------------------------
 
- mean Energy in Absorber : 276.14261 MeV +- 0 eV 
- mean Energy in Gap      : 16.389271 MeV +- 0 eV 
-
- mean trackLength in Absorber : 19.058263 cm  +- 0 fm 
- mean trackLength in Gap      : 8.0132117 cm  +- 0 fm 
+ mean Energy in Absorber : 273.78056 MeV +- 0 eV 
+ mean Energy in Gap      : 22.74196 MeV +- 0 eV 
+
+ mean trackLength in Absorber : 18.732667 cm  +- 0 fm 
+ mean trackLength in Gap      : 11.196324 cm  +- 0 fm 
 ------------------------------------------------------------
 
@@ -416,4 +426,5 @@
 
 phot:  Total cross sections from Sandia parametrisation. 
+      Sampling according PhotoElectric model
 
 compt:  Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
@@ -423,5 +434,5 @@
 
 conv:  Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
-      sampling secondary e+e- according to the Bethe-Heitler model
+      sampling secondary e+e- according Bethe-Heitler model
       tables are built for  gamma
       Lambda tables from 1.0219981 MeV to 100 GeV in 100 bins.
@@ -434,5 +445,6 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
+      Delta cross sections and sampling from MollerBhabha model
+      Good description from 1 KeV to 100 GeV.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -440,5 +452,5 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Total cross sections from a parametrisation based on the EEDL data library. 
+      Total cross sections and sampling from StandBrem model (based on the EEDL data library) 
       Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
 
@@ -446,5 +458,6 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
+      Delta cross sections and sampling from MollerBhabha model
+      Good description from 1 KeV to 100 GeV.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -452,8 +465,8 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Total cross sections from a parametrisation based on the EEDL data library. 
+      Total cross sections and sampling from StandBrem model (based on the EEDL data library) 
       Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
 
-annihil:       Heilter model of formula of annihilation into 2 photons
+annihil:       Sampling according eplus2gg model
       tables are built for  e+
       Lambda tables from 100 eV  to 100 TeV in 120 bins.
@@ -466,6 +479,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -473,6 +487,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -518,6 +533,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 0.29750425 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 
@@ -529,6 +545,7 @@
       dE/dx and range tables from 100 eV  to 100 TeV in 120 bins.
       Lambda tables from threshold to 100 TeV in 120 bins.
-      Scaling relation is used to proton dE/dx and range
-      Bether-Bloch model for Escaled > 0.29750425 MeV, ICRU49 parametrisation for protons below.
+      Scaling relation is used from proton dE/dx and range.
+      Delta cross sections and sampling from BetheBloch model for scaled energy > 0.29750425 MeV
+      Parametrisation from Bragg for protons below.
       Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
 ### Run 2 start.
@@ -538,17 +555,17 @@
 --------- Ranecu engine status ---------
  Initial seed (index) = 0
- Current couple of seeds = 977943917, 671671507
+ Current couple of seeds = 606835024, 988202660
 ----------------------------------------
 ---> End of event: 0
-   Absorber: total energy: 267.17807 MeV       total track length: 62.771551 cm 
-        Gap: total energy: 66.70026 MeV       total track length: 1.8562679 m  
+   Absorber: total energy: 408.66702 MeV       total track length: 97.709788 cm 
+        Gap: total energy: 83.799117 MeV       total track length: 2.3229686 m  
 
 --------------------End of Run------------------------------
 
- mean Energy in Absorber : 267.17807 MeV +- 0 eV 
- mean Energy in Gap      : 66.70026 MeV +- 0 eV 
-
- mean trackLength in Absorber : 62.771551 cm  +- 0 fm 
- mean trackLength in Gap      : 1.8562679 m   +- 0 fm 
-------------------------------------------------------------
-
+ mean Energy in Absorber : 408.66702 MeV +- 0 eV 
+ mean Energy in Gap      : 83.799117 MeV +- 0 eV 
+
+ mean trackLength in Absorber : 97.709788 cm  +- 0 fm 
+ mean trackLength in Gap      : 2.3229686 m   +- 0 fm 
+------------------------------------------------------------
+
Index: trunk/geant4/N03/include/ExN03DetectorConstruction.hh
===================================================================
--- trunk/geant4/N03/include/ExN03DetectorConstruction.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03DetectorConstruction.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03DetectorConstruction.hh,v 1.7 2006/06/29 17:48:32 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03DetectorMessenger.hh
===================================================================
--- trunk/geant4/N03/include/ExN03DetectorMessenger.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03DetectorMessenger.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03DetectorMessenger.hh,v 1.7 2006/06/29 17:48:34 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03EventAction.hh
===================================================================
--- trunk/geant4/N03/include/ExN03EventAction.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03EventAction.hh	(revision 483)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: ExN03EventAction.hh,v 1.10 2006/06/29 17:48:36 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// $Id: ExN03EventAction.hh,v 1.11 2006/10/26 14:30:05 allison Exp $
+// GEANT4 tag $Name: geant4-08-02-patch-01-ref $
 //
 // 
@@ -57,5 +57,4 @@
    void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;};
                      
-   void SetDrawFlag   (G4String val)  {drawFlag = val;};
    void SetPrintModulo(G4int    val)  {printModulo = val;};
     
@@ -66,5 +65,4 @@
    G4double  TrackLAbs, TrackLGap;
                      
-   G4String  drawFlag;
    G4int     printModulo;
                              
Index: trunk/geant4/N03/include/ExN03EventActionMessenger.hh
===================================================================
--- trunk/geant4/N03/include/ExN03EventActionMessenger.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03EventActionMessenger.hh	(revision 483)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: ExN03EventActionMessenger.hh,v 1.8 2006/06/29 17:48:38 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// $Id: ExN03EventActionMessenger.hh,v 1.9 2006/10/26 14:28:00 allison Exp $
+// GEANT4 tag $Name: geant4-08-02-patch-01-ref $
 //
 // 
@@ -41,5 +41,4 @@
 class ExN03EventAction;
 class G4UIdirectory;
-class G4UIcmdWithAString;
 class G4UIcmdWithAnInteger;
 
@@ -57,5 +56,4 @@
     ExN03EventAction*     eventAction;
     G4UIdirectory*        eventDir;   
-    G4UIcmdWithAString*   DrawCmd;
     G4UIcmdWithAnInteger* PrintCmd;    
 };
Index: trunk/geant4/N03/include/ExN03PhysicsList.hh
===================================================================
--- trunk/geant4/N03/include/ExN03PhysicsList.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03PhysicsList.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03PhysicsList.hh,v 1.12 2006/06/29 17:48:40 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03PrimaryGeneratorAction.hh
===================================================================
--- trunk/geant4/N03/include/ExN03PrimaryGeneratorAction.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03PrimaryGeneratorAction.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03PrimaryGeneratorAction.hh,v 1.7 2006/06/29 17:48:42 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03PrimaryGeneratorMessenger.hh
===================================================================
--- trunk/geant4/N03/include/ExN03PrimaryGeneratorMessenger.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03PrimaryGeneratorMessenger.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.7 2006/06/29 17:48:44 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03RunAction.hh
===================================================================
--- trunk/geant4/N03/include/ExN03RunAction.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03RunAction.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03RunAction.hh,v 1.10 2006/06/29 17:48:47 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03SteppingAction.hh
===================================================================
--- trunk/geant4/N03/include/ExN03SteppingAction.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03SteppingAction.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03SteppingAction.hh,v 1.9 2006/06/29 17:48:49 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/include/ExN03SteppingVerbose.hh
===================================================================
--- trunk/geant4/N03/include/ExN03SteppingVerbose.hh	(revision 474)
+++ trunk/geant4/N03/include/ExN03SteppingVerbose.hh	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03SteppingVerbose.hh,v 1.9 2006/06/29 17:48:52 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 //
Index: trunk/geant4/N03/src/ExN03DetectorConstruction.cc
===================================================================
--- trunk/geant4/N03/src/ExN03DetectorConstruction.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03DetectorConstruction.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03DetectorConstruction.cc,v 1.23 2006/06/29 17:48:54 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/src/ExN03DetectorMessenger.cc
===================================================================
--- trunk/geant4/N03/src/ExN03DetectorMessenger.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03DetectorMessenger.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03DetectorMessenger.cc,v 1.10 2006/06/29 17:48:58 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/src/ExN03EventAction.cc
===================================================================
--- trunk/geant4/N03/src/ExN03EventAction.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03EventAction.cc	(revision 483)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: ExN03EventAction.cc,v 1.27 2006/06/29 17:49:00 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// $Id: ExN03EventAction.cc,v 1.28 2006/10/26 14:30:05 allison Exp $
+// GEANT4 tag $Name: geant4-08-02-patch-01-ref $
 //
 // 
@@ -50,5 +50,5 @@
 
 ExN03EventAction::ExN03EventAction(ExN03RunAction* run)
-:runAct(run),drawFlag("all"),printModulo(1),eventMessenger(0)
+:runAct(run),printModulo(1),eventMessenger(0)
 {
   eventMessenger = new ExN03EventActionMessenger(this);
@@ -103,31 +103,5 @@
        << G4endl;
 	  
-  }
-  
-  // extract the trajectories and draw them
-
-  // You can get a default drawing without this code by using, e.g.,
-  // /vis/scene/add/trajectories 1000
-  // The code here adds sophistication under control of drawFlag.
-
-  // See comments in G4VTrajectory::DrawTrajectory for the
-  // interpretation of the argument, 1000.
-  
-  G4VVisManager* pVisManager = G4VVisManager::GetConcreteInstance();
-  if (pVisManager)
-    {
-     G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
-     G4int n_trajectories = 0;
-     if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
-
-     for (G4int i=0; i<n_trajectories; i++) 
-        { G4VTrajectory* trj = ((*(evt->GetTrajectoryContainer()))[i]);
-          if (drawFlag == "all") pVisManager->Draw(*trj,100);
-          else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.))
-                                  pVisManager->Draw(*trj,100);
-          else if ((drawFlag == "neutral")&&(trj->GetCharge() == 0.))
-                                  pVisManager->Draw(*trj,100);
-        }
-  }
+  }  
 }  
 
Index: trunk/geant4/N03/src/ExN03EventActionMessenger.cc
===================================================================
--- trunk/geant4/N03/src/ExN03EventActionMessenger.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03EventActionMessenger.cc	(revision 483)
@@ -25,6 +25,6 @@
 //
 //
-// $Id: ExN03EventActionMessenger.cc,v 1.11 2006/06/29 17:49:03 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// $Id: ExN03EventActionMessenger.cc,v 1.12 2006/10/26 14:28:00 allison Exp $
+// GEANT4 tag $Name: geant4-08-02-patch-01-ref $
 //
 // 
@@ -37,5 +37,4 @@
 #include "ExN03EventAction.hh"
 #include "G4UIdirectory.hh"
-#include "G4UIcmdWithAString.hh"
 #include "G4UIcmdWithAnInteger.hh"
 #include "globals.hh"
@@ -49,12 +48,4 @@
   eventDir->SetGuidance("event control");
    
-  DrawCmd = new G4UIcmdWithAString("/N03/event/drawTracks",this);
-  DrawCmd->SetGuidance("Draw the tracks in the event");
-  DrawCmd->SetGuidance("  Choice : none, charged(default),neutral, all");
-  DrawCmd->SetParameterName("choice",true);
-  DrawCmd->SetDefaultValue("all");
-  DrawCmd->SetCandidates("none charged neutral all");
-  DrawCmd->AvailableForStates(G4State_Idle);
-  
   PrintCmd = new G4UIcmdWithAnInteger("/N03/event/printModulo",this);
   PrintCmd->SetGuidance("Print events modulo n");
@@ -67,5 +58,4 @@
 ExN03EventActionMessenger::~ExN03EventActionMessenger()
 {
-  delete DrawCmd;
   delete PrintCmd;
   delete eventDir;   
@@ -77,7 +67,4 @@
                                         G4UIcommand* command,G4String newValue)
 { 
-  if(command == DrawCmd)
-    {eventAction->SetDrawFlag(newValue);}
-       
   if(command == PrintCmd)
     {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));}
Index: trunk/geant4/N03/src/ExN03PhysicsList.cc
===================================================================
--- trunk/geant4/N03/src/ExN03PhysicsList.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03PhysicsList.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03PhysicsList.cc,v 1.20 2006/06/29 17:49:05 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/src/ExN03PrimaryGeneratorAction.cc
===================================================================
--- trunk/geant4/N03/src/ExN03PrimaryGeneratorAction.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03PrimaryGeneratorAction.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03PrimaryGeneratorAction.cc,v 1.8 2006/06/29 17:49:07 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/src/ExN03PrimaryGeneratorMessenger.cc
===================================================================
--- trunk/geant4/N03/src/ExN03PrimaryGeneratorMessenger.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03PrimaryGeneratorMessenger.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.9 2006/06/29 17:49:09 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/src/ExN03RunAction.cc
===================================================================
--- trunk/geant4/N03/src/ExN03RunAction.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03RunAction.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03RunAction.cc,v 1.18 2006/06/29 17:49:11 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/geant4/N03/src/ExN03SteppingAction.cc
===================================================================
--- trunk/geant4/N03/src/ExN03SteppingAction.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03SteppingAction.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03SteppingAction.cc,v 1.15 2006/06/29 17:49:13 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 // 
Index: trunk/geant4/N03/src/ExN03SteppingVerbose.cc
===================================================================
--- trunk/geant4/N03/src/ExN03SteppingVerbose.cc	(revision 474)
+++ trunk/geant4/N03/src/ExN03SteppingVerbose.cc	(revision 483)
@@ -26,5 +26,5 @@
 //
 // $Id: ExN03SteppingVerbose.cc,v 1.13 2006/06/29 17:49:16 gunter Exp $
-// GEANT4 tag $Name: geant4-08-01 $
+// GEANT4 tag $Name: geant4-08-01-patch-01 $
 //
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/geant4/N03/vis.mac
===================================================================
--- trunk/geant4/N03/vis.mac	(revision 474)
+++ trunk/geant4/N03/vis.mac	(revision 483)
@@ -34,8 +34,24 @@
 /vis/viewer/flush
 #
-# for drawing the tracks
-# (if too many tracks cause core dump => storeTrajectory 0)
+# Draw trajectories at end of event, showing trajectory points as
+# markers of size 2 pixels
+/vis/scene/add/trajectories
+/vis/modeling/trajectories/create/drawByCharge
+/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
+# (if too many tracks cause core dump => /tracking/storeTrajectory 0)
 #
-/tracking/storeTrajectory 1
+# To draw gammas only
+#/vis/filtering/trajectories/create/particleFilter
+#/vis/filtering/trajectories/particleFilter-0/add gamma
+#
+# To draw charged particles only
+#/vis/filtering/trajectories/particleFilter-0/invert true
+#
+# Many other options available with /vis/modeling and /vis/filtering.
+# For example, select colour by particle ID
+#/vis/modeling/trajectories/create/drawByParticleID
+#/vis/modeling/trajectories/drawByParticleID-0/set e- red
+#
 /vis/scene/endOfEventAction accumulate
 #
Index: trunk/geant4/N03/visTutor/exN03Vis10.mac
===================================================================
--- trunk/geant4/N03/visTutor/exN03Vis10.mac	(revision 474)
+++ trunk/geant4/N03/visTutor/exN03Vis10.mac	(revision 483)
@@ -60,7 +60,7 @@
 #  - in viewing mode (cursor is the hand)                             #
 #   Left-button + pointer move : rotate.                              #
-#   Ctrl+Left-button + pointer move : pane.                           #
+#   Ctrl+Left-button + pointer move : pan.                            #
 #   Ctrl+Shift+Left-button + pointer move : scale.                    #
-#   Middle-button + pointer move : pane.                              #
+#   Middle-button + pointer move : pan.                               #
 #                                                                     #
 #######################################################################
Index: trunk/geant4/N03/visTutor/exN03Vis12.loop
===================================================================
--- trunk/geant4/N03/visTutor/exN03Vis12.loop	(revision 483)
+++ trunk/geant4/N03/visTutor/exN03Vis12.loop	(revision 483)
@@ -0,0 +1,4 @@
+# exN03Vis12.loop
+/vis/ogl/set/startTime {startTime} ns {timeRange} ns
+# Print eps file
+#/vis/oglx/printEPS
Index: trunk/geant4/N03/visTutor/exN03Vis12.mac
===================================================================
--- trunk/geant4/N03/visTutor/exN03Vis12.mac	(revision 483)
+++ trunk/geant4/N03/visTutor/exN03Vis12.mac	(revision 483)
@@ -0,0 +1,97 @@
+#######################################################################
+#  MACRO FILE NAME: exN03Vis12.mac                                    #
+#                                                                     #
+#  AUTHOR(S): John Allison                                            #
+#                                                                     #
+#  DATE: 16th August 2006                                             #
+#                                                                     #
+#  CONTENTS: A basic macro for demonstrating time slicing             #
+#                                                                     #
+#  USAGE:  % $G4BINDIR/exampleN03  visTutor/exN03Vis12.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL    #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+/control/verbose 2
+/vis/verbose confirmations
+
+/vis/open OGLSX
+/vis/drawVolume
+/vis/scene/add/eventID
+/vis/scene/add/trajectories rich
+
+# Set up drawByCharge with time slicing
+/vis/modeling/trajectories/create/drawByCharge
+/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 5
+/vis/modeling/trajectories/drawByCharge-0/default/setDrawAuxPts true
+/vis/modeling/trajectories/drawByCharge-0/default/setAuxPtsSize 5
+/vis/modeling/trajectories/drawByCharge-0/default/setTimeSliceInterval 0.001 ns
+/vis/modeling/trajectories/list
+#/N03/det/setField 5 T
+#/N03/det/update
+/run/beamOn
+
+# Configure OpenGL for display-by-time
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+/control/alias timeRange 0.1
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.005
+/control/verbose 2
+/vis/verbose confirmations
+/vis/ogl/set/displayHeadTime false
+
+# Set up drawByParticleID with time slicing
+/vis/modeling/trajectories/create/drawByParticleID
+/vis/modeling/trajectories/drawByParticleID-0/set e- red
+/vis/modeling/trajectories/drawByParticleID-0/set e+ blue
+/vis/modeling/trajectories/drawByParticleID-0/set pi- cyan
+/vis/modeling/trajectories/drawByParticleID-0/set pi+ magenta
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize 5
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize 5
+/vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval 0.001 ns
+/vis/modeling/trajectories/list
+
+# Remove gammas
+/vis/filtering/trajectories/create/particleFilter
+/vis/filtering/trajectories/particleFilter-0/add gamma
+/vis/filtering/trajectories/particleFilter-0/invert true
+
+/gun/energy 1 GeV
+/run/beamOn
+/control/alias timeRange 0.1
+/vis/ogl/set/displayHeadTime true
+/vis/ogl/set/displayLightFront true -90 0 0 mm
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis12.loop startTime -{timeRange} 0.7 0.001
+/control/verbose 2
+/vis/verbose confirmations
+/vis/ogl/set/displayLightFront false
+/vis/ogl/set/displayHeadTime false
+
+# To see pi -> mu -> e decay.
+/gun/particle pi+
+/vis/filtering/trajectories/particleFilter-0/add anti_nu_mu
+/vis/filtering/trajectories/particleFilter-0/add nu_mu
+/vis/filtering/trajectories/particleFilter-0/add anti_nu_e
+/vis/filtering/trajectories/particleFilter-0/add nu_e
+# Accumulate several events for effect
+# /vis/scene/endOfEventAction accumulate
+/gun/energy 100 MeV
+#/vis/viewer/set/globalLineWidthScale 2
+/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/verbose 2
+/vis/verbose confirmations
Index: trunk/geant4/N03/visTutor/exN03Vis13.loop
===================================================================
--- trunk/geant4/N03/visTutor/exN03Vis13.loop	(revision 483)
+++ trunk/geant4/N03/visTutor/exN03Vis13.loop	(revision 483)
@@ -0,0 +1,7 @@
+# exN03Vis13.loop
+/vis/viewer/pan {dx} 0 mm
+/vis/ogl/set/endTime {endTime} ns {timeRange} ns
+# Force refresh here (since auto-refresh switched off in main mac).
+/vis/viewer/refresh
+# Print eps file
+#/vis/oglx/printEPS
Index: trunk/geant4/N03/visTutor/exN03Vis13.mac
===================================================================
--- trunk/geant4/N03/visTutor/exN03Vis13.mac	(revision 483)
+++ trunk/geant4/N03/visTutor/exN03Vis13.mac	(revision 483)
@@ -0,0 +1,70 @@
+#######################################################################
+#  MACRO FILE NAME: exN03Vis13.mac                                    #
+#                                                                     #
+#  AUTHOR(S): John Allison                                            #
+#                                                                     #
+#  DATE: 18th August 2006                                             #
+#                                                                     #
+#  CONTENTS: Time development of an electrmagnetic shower.            #
+#                                                                     #
+#  USAGE:  % $G4BINDIR/exampleN03  visTutor/exN03Vis12.mac             #
+#                                                                     #
+#  REQUIRED PLATFORMS & SOFTWARES: Mac/Unix with X-Windows, OpenGL    #
+#                                                                     #
+#  ADDITIONAL NOTES:                                                  #
+#                                                                     # 
+#######################################################################
+
+/control/verbose 2
+/vis/verbose confirmations
+
+/vis/open OGLSX 600x600-0+0
+/vis/drawVolume
+/vis/scene/add/eventID
+/vis/scene/add/trajectories rich
+
+# Set up drawByParticleID with time slicing
+/vis/modeling/trajectories/create/drawByParticleID
+/vis/modeling/trajectories/drawByParticleID-0/set e- red
+/vis/modeling/trajectories/drawByParticleID-0/set e+ blue
+/vis/modeling/trajectories/drawByParticleID-0/set pi- cyan
+/vis/modeling/trajectories/drawByParticleID-0/set pi+ magenta
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setStepPtsSize 5
+#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawAuxPts true
+/vis/modeling/trajectories/drawByParticleID-0/default/setAuxPtsSize 5
+/control/alias interval 0.01
+/control/alias halfInterval 0.005
+/vis/modeling/trajectories/drawByParticleID-0/default/setTimeSliceInterval {interval} ns
+/vis/modeling/trajectories/list
+
+# Remove gammas
+/vis/filtering/trajectories/create/particleFilter
+/vis/filtering/trajectories/particleFilter-0/add gamma
+/vis/filtering/trajectories/particleFilter-0/invert true
+
+# Create trajecgtories
+/gun/energy 10 GeV
+/vis/viewer/set/globalLineWidthScale 2
+/run/beamOn
+
+# Run time sequence
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+# The trajectories can appear of jump ahead of the light front because
+# their time range overlaps the viewer's time range.  To mitigate this
+# effect of discrete time intervals, advance the light front by half the
+# trajectories interval...
+/vis/ogl/set/displayLightFront true -90 0 0 mm -{halfInterval} ns
+/vis/viewer/panTo -9 0 cm
+/vis/viewer/zoomTo 2
+/control/alias timeRange 0.1
+/control/alias dx 0.3
+# Switch off auto-refresh to avoid refresh on /vis/viewer/pan in loop.
+# (Then force refresh in loop.)
+/vis/viewer/set/autoRefresh 0
+/vis/verbose warnings
+/control/verbose 0
+/control/loop visTutor/exN03Vis13.loop endTime 0 0.7 0.001
+/control/verbose 2
+/vis/verbose confirmations
