
 RE03 - An extended example for run and event
 --------------------------------------------

 Contact : M.Asai (SLAC/JLab), A.Kimura (AIT), T.Aso (TNCMT)

1. Introduction

 This example demonstrates how to use UI-command base scoring.
It create parallel world(s) for defining scoring mesh(es).

 Due to some performance overhead, this functionality is not 
provided by default. To get it included, the pointer to 
G4ScoringManager must be accessed. The access to the static 
method G4ScoringManager::GetScoringManager() activates this 
functionality. 

1.1 Geometry and primary particle

 It has just one water box in the world volume filled by air.
No detector in the mass geometry. Particle gun shoots a gamma
into the water box.

1.2 Physics

 The physics list is taken from referenced physics-list QGS_BIC
in Geant4.

2. Macro files

2.1 "run.mac"

 "run.mac" is the main macro file of this example for both
batch and interactive modes.
 
 In interactive mode, trajectories are not visualized by default
for the sake of execution speed. To visualize them, comment out
lines of /vis/disable and /vis/enable in "run.mac". 

 In addition, in sub-event parallel mode, only the trajectories
created in the master thread are visualized by default. 
Un-comment the line of /run/trajectoriesToBeMerged in "vis.mac"
to visualize all trajectories.

 "draw.mac" is used by "run.mac" to visualize a score.

2.2 Other macro files
 
 "run2.mac" through "run4.mac" macro files should be used
independently. They demonstrate additional functionalities of
command-based scoring. Each macro file create its own scoring
parallel world(s).

 - "run2.mac" : defining three box meshes of different sizes
   and granurarities touching to each other
 - "run3.mac" : defining two box meshes of different sizes and
   granurarities overlaying one over the other to demonstrate
   changing granurarity of a box mesh
 - "run4.mac" " defining a cylindrical mesh

 IMPORTANT: DO NOT use more than one of these macro files in 
one execution of this example.

"drawSlice.mac" and "drawCylinderSlice.mac" are used internally
from "run*.mac" to draw a single slice of the corresponding mesh.

3. RE03ActionInitialization

 This UserActionInitialization class works for all Geant4 run
modes, i.e. sequential mode, event-level paralle mode and 
sub-event-level parallel mode. 

4. RE03UserScoreWriter

 G4ScoringManager has a default score writer which dumps every
entry of one quantity of a mesh for all quantities of the mesh
one by one in CSV format. To alternate the file format the user
can implement his/her own score writer deriving from G4VUserScoreWriter
base class and set it to G4ScoringManager. To demonstrate this,
RE03UserScoreWriter is included in this example. To use this
alternative writer, un-comment its instantiation in RE03.cc.







