Index: trunk/Documentation/geant4/OOAandD/index.html
===================================================================
--- trunk/Documentation/geant4/OOAandD/index.html	(revision 901)
+++ trunk/Documentation/geant4/OOAandD/index.html	(revision 901)
@@ -0,0 +1,46 @@
+<html>
+<BODY BACKGROUND="../icons/backg.jpg">
+<BR>
+<H1 ALIGN="CENTER"> <IMG SRC="http://cern.ch/geant4/images/g4_small.gif" ALT="GEANT4"> </H1>
+<H1 ALIGN="CENTER">Object Oriented</H1>
+<H1 ALIGN="CENTER">Analysis and Design</H1>
+<p>&nbsp;
+<p>Geant4 exploits advanced software engineering techniques based on the Booch/UML 
+  Object Oriented Methodology and follows the evolution of the ESA Software Engineering 
+  Standards for the development process. The "spiral" (iterative) approach has 
+  been adopted; <A HREF="URD.pdf">User Requirements</A> were collected in the initial phase and Problem 
+  Domain Decomposition, Object Oriented Methods and CASE tools have been employed 
+  for the Analysis and Design, giving a clear <a href="class_category_diagram/architecture.html">hierarchical 
+  structure</a> of sub-domains linked by a uni-directional flow of dependencies. 
+  This leads to a software product which is modular and flexible (a toolkit) and 
+  in which the physics implementation is transparent and open to the user validation 
+  of the physics predictions.&nbsp; It allows the user to understand, customise 
+  and extend the toolkit in all the domains; at the same time the modular architecture 
+  allows the user to load only needed components. 
+<h2 align="left">Analysis Documents</h2>
+<ul>
+  <li><A HREF="analysis/class_diags/index.html">Class diagrams</A> 
+  <li><A HREF="analysis/class_spec/index.html">Class specifications</A> 
+  <li><A HREF="analysis/scen_diagrams/index.html">Scenario diagrams</A> 
+</ul>
+<h2 align="left">Design Documents</h2>
+<ul>
+  <li>Class category diagram 
+    <ul>
+      <li><a href="class_category_diagram/architecture.html">Architecture</a> 
+        (also available as <a href="class_category_diagram/architecture.ps">Postscript</a>) 
+      </li>
+      <li><a href="class_category_diagram/detailed.ps">Details</a> including sub-categories 
+        (only as Postscript) </li>
+    </ul>
+  </li>
+  <LI><A HREF="design/class_diags/index.html">Class diagrams</A> 
+  <LI><A HREF="design/class_spec/index.html">Class specifications</A> 
+  <LI><A HREF="design/scen_diagrams/index.html">Scenario diagrams</A> 
+</ul>
+<hr>
+<i>Tuesday, 8 October 2002
+   - <i><a href="http://consult.cern.ch/xwho/people/20341">GC</a>,
+        <a href="http://consult.cern.ch/xwho/people/1342">GF</a></i> 
+</body>
+</html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html	(revision 901)
@@ -0,0 +1,2062 @@
+<HTML>
+<HEAD>
+<TITLE>Changes to Users Documentation</TITLE>
+<!-- Changed by: Dennis Wright, 27-Jun-2002 -->
+</HEAD>
+
+<BODY>
+<BR>
+<P ALIGN="Center">
+<FONT SIZE="+3" COLOR="#238E23">
+<B>Changes History of User's Documents</B>
+</FONT>
+<BR>
+<P>
+
+<br /><br /><br /><br />
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center">
+<font COLOR="#238E23">
+<h2>Version: Geant4 9.1 (December 2007) </h2>
+</font>
+<HR ALIGN="Center">
+<br />
+
+<p>
+<b><u>User's Guide: For Application Developers</u></b>
+</p>
+<ul>
+<b>- Newly Added Chapters/Sections</b>
+  <ul>
+    <li>4.1.14.  Saving geometry tree objects in binary format
+    <li>4.8.     Command-based scoring
+    <li>5.2.1.3. Very Low energy Electromagnetic Processes (Geant4 DNA extension)
+  </ul>
+<br />
+
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>3.2.      Global Usage Classes
+    <li>4.1.      Geometry
+    <li>5.2.1.1.  "Standard" Electromagnetic Processes
+    <li>5.2.5.4.  Tracking of Photons in processes/optical
+    <li>9.2.      Extended Examples
+    <li>Appendix 1. Tips for Program Compilation
+    <li>Appendix 2. Histogramming
+    <li>Appendix 5. Makefiles and Environment Variables
+  </ul>
+</ul>
+
+<p>
+<b><u>Installation Guide</u></b>
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>1. Installation Introduction
+    <li>2. Installation Procedures
+    <li>3. Tips for Installing on Windows
+  </ul>
+</ul>
+
+<p>
+<b><u>Physics Reference Manual</u></b>
+</p>
+
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>6.2 PhotoElectric effect
+    <li>7.5 Multiple Scattering
+    <li>7.7 Ion Scattering
+    <li>11  Polarized Electron/Positron/Gamma Incident
+    <li>7.6 Single Scattering
+  </ul>
+</ul>
+
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center">
+<font COLOR="#238E23">
+<h2>Version: Geant4 9.0 (June 2007) </h2>
+</font>
+<HR ALIGN="Center">
+<br />
+
+<p>
+<b><u>User's Guide: For Application Developers</u></b>
+</p>
+<ul>
+<b>- Newly Added Chapters/Sections</b>
+  <ul>
+    <li>5.8. Track Error Propagation
+  </ul>
+<br />
+
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>2.8 How to Set Up an Interactive Session
+    <li>3.7 Event Biasing Techniques
+    <li>4.1.8 The Geometry Navigator
+    <li>4.4 Hits
+    <li>5.2.1 Electromagnetic Interactions
+    <li>8.4   Controlling Visualization from Commands
+    <li>8.10  Making a Movie
+    <li>9.2.1 Extended Example Summary
+    <li>Appendix 6.1 Building on MS Visual C++
+    <li>Appendix 3 CLHEP Foundation Library
+    <li>Appendix 5 Makefiles and Environment Variables
+    <li>Appendix 4 C++ Standard Template Library
+  </ul>
+</ul>
+
+<p>
+<b><u>Physics Reference Manual</u></b>
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>7.1 Computing the Mean Energy Loss
+    <li>7.3 Correcting the cross section for energy variation
+    <li>7.4 Conversion from range to kinetic energy
+    <li>7.5 Multiple Scattering
+    <li>8.1 Ionization
+    <li>8.2 Bremsstrahlung
+    <li>8.4 Positron - Electron Annihilation into Muon - Anti-muoni
+    <li>9.1 Ionization
+    <li>10.1 Ionization
+    <li>12.10 Hadron and Ion Ionisation
+    <li>21.3.2 Intra-nuclear Cascade
+  </ul>
+</ul>
+
+<p>
+<b><u>Installation Guide</u></b>
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>1. Installation Introduction
+    <li>2. Installation Procedures
+    <li>3. Tips for Installing on Windows
+  </ul>
+</ul>
+
+<br /><br /><br />
+
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center">
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.3 (May 2007) </h2>
+</font>
+<HR ALIGN="Center">
+<br />
+
+<p>
+<b><u>Installation Guide: For setting up Geant4 in your computing environment</u></b> 
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>1.1 Supported Computers and Operating Systems
+    <li>2.1 Using the Configure Script for installation
+    <li>3.1 Windows with the Cygwin Toolset and Microsoft Visual C++
+  </ul>
+</ul>
+
+<p>
+<b><u>User's Guide: For Application Developers</u></b>
+</p>
+<ul>
+<b>- Modified Chapters/Sections</b>
+  <ul>
+    <li>4.1.2  Solids
+    <li>4.1.11 Detecting Overlapping Volumes
+    <li>4.3    Electromagnetic Field
+    <li>5.2.5  Optical Photon Processes
+    <li>9.2.1  Extended Example Summary
+  </ul>
+</ul>
+
+
+<br /><br /><br />
+
+
+<!-- ============================================== Section --> 
+<HR ALIGN="Center">
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.2 (December 2006) </h2>
+</font>
+<HR ALIGN="Center">
+<br />
+
+<ul>
+<li><b>Installation Guide: For setting up Geant4 in your computing 
+    environment</b>
+  <ul>
+  <li> Chapter 3, Tips for Installing on Windows
+    <ul>
+    <li>Section 3.1 Windows with the Cygwin Toolset and Microsoft Visual C++
+      <ul>
+      <li>Information on Visual Studio removed.
+      </ul>
+    <li>Section 3.2 Building Kernel Libraries DLLs
+      <ul>
+      <li>The note related to physics lists removed.
+      </ul>
+    </ul>
+  </ul>
+
+<li><b>User's Guide: For Application Developers</b>
+
+  <ul>
+  <li>Chapter 3. Toolkit Fundamentals
+    <ul>
+    <li>Section 3.7 Event Biasing Techniques 
+      <ul>
+      <li>Subsection 3.7.2 Physics Based Biasing
+        <ul>
+        <li>New subsection added.
+        </ul>
+      </ul>
+    </ul>
+
+  <li>Chapter 4, Detector Definition and Response
+    <ul>
+    <li>Section 4.1, Geometry
+      <ul>
+      <li>Subsection 4.1.2, Solids
+        <ul>
+        <li>Information about GetSurfaceArea() added.
+        </ul>
+      <li>Subsection 4.1.6, Creating an Assembly of Volume 
+        <ul>
+        <li>Destruction of an assembly volume modified.
+        </ul>
+      <li>Subsection 4.1.8, The Geometry Navigator
+        <ul>
+        <li>>Subsubsections '4.1.8.3 Navigation in parallel geometries' and
+             '4.1.8.2 Using the navigator to locate points' added.
+        </ul>
+      <li>Subsection 4.4.6, Concrete classes of <i>G4VPrimitiveScorer</i>
+        <ul>
+        <li>G4PSCellCharge information added.
+        </ul>
+      </ul>    
+    <li>New Section 'Parallel Geometries' added.
+    </ul>
+  <li>Chapter 6. User Actions
+    <ul>
+    <li>Section 6.2 Optional User Actions 
+      <ul>
+      <li>Information added to 'G4UserEventAction'
+      </ul>
+    </ul>
+  <li>Chapter 8. Visualization
+    <ul>
+    <li>Section 8.3 The Visualization Drivers 
+      <ul>
+      <li>Subsection 8.3.8 RayTracer
+        <ul>
+        <li>More information added.
+        </ul>
+      </ul>
+    <li>Section 8.4 Controlling Visualization from Commands
+      <ul>
+      <li>Subsection 8.4.15 Cut view
+        <ul>
+        <li>The part 'Cutting away' modified.
+        <li>More reference added. 
+        </ul>
+      <li>Subsection 8.4.16 Tutorial macros
+        <ul>
+        <li>More tutorial references added.
+        </ul>
+      </ul>
+    <li>Section 8.5 Controlling Visualization from Compiled Code 
+      <ul>
+      <li>Minor correction at the introduction part.
+      </ul>
+    <li>Section 8.6 Visualization Attributes
+      <ul>
+      <li>Subsection 8.6.3 Forcing attributes
+        <ul>
+        <li>Added information on visualisation of a circle.
+        </ul>
+      </ul>
+    <li>Section 8.7 Enhanced Trajectory Drawing
+      <ul>
+      <li>Subsection 8.7.1 Default Configuration
+        <ul>
+        <li>Time slice interval added.
+        </ul>
+      <li>Subsection 8.7.2 Trajectory Drawing Models
+        <ul>
+        <li>Information of G4TrajectoryDrawByAttribute added.
+        </ul>
+      <li>Subsection 8.7.3 Controlling from Commands
+        <ul>
+        <li>Added the part 'Configure drawByAttribute-0 model'. 
+        </ul>
+      </ul>
+    <li>Section 8.8 Filtering
+      <ul>
+      <li>New section added.
+      <li>Subsection 8.8.1 Trajectory Filtering
+        <ul>
+        <li>New subsection number added.
+        <li>Added information of G4TrajectoryAttributeFilter.
+      <li>Subsection 8.8.1.2 Example commands
+        <ul>
+        <li>More example added.
+        </ul>
+      </ul>
+    <li>Section 8.9 Polylines, Markers and Text
+      <ul>
+      <li>Section number changed from 8.8 to 8.9.
+      </ul>
+    </ul>
+    <li>Section 8.10 Making a Movie
+      <ul>
+      <li>New section added.
+      </ul>
+    </ul>
+
+  <li>Chapter 9. Examples
+    <ul>
+    <li>Section 9.2, Extended Examples
+      <ul>
+      <li>Subsection 9.2.1, Extended Example Summary
+        <ul>
+        <li>Hadronic example added.
+        </ul>
+      </ul>
+    <li>Section 9.3, Advanced Examples
+      <ul>
+      <li>The 'human_phantom' reference added. 
+      </ul>
+    </ul>
+
+  <li>Appendix
+    <ul>
+    <li> Section 10.6, Build for MS Visual C++
+      <ul>
+      <li>Visual Studio related information added.
+      </ul>
+    <li>Section 10.1, Tips for Program Compilation   
+      <ul>
+      <li>Subsection 10.1.5, Windows - MS Visual C++
+        <ul>
+        <li>Compilation with debug symbols changed.
+        </ul>
+      <li>Subsection 10.1.6, MacOS-X - g++
+        <ul>
+        <li>Optimization inforamtion changed.
+        </ul>
+      </ul>
+    </ul>
+  </ul>
+
+<li><b>User's Guide - For Toolkit Developers</b>
+  <ul>
+  <li> Chapter 2, Design and Function of Geant4 Categories
+    <ul>
+    <li>Section 13, Visualization
+      <ul>
+      <li>Subsection 'LineSegmentsPerCircle' added.
+      </ul>
+    </ul>
+  <li> Chapter 3, Extending Toolkit Functionality
+    <ul>
+    <li>Section, Visualization
+      <ul>
+      <li>Substantial update done.
+      </ul>
+    </ul>
+  </ul>
+
+<li><b>Physics Reference Manual</b>
+  <ul>
+  <li> Chapter 3, Electromagnetic Interactions
+    <ul>
+    <li>Section 11, Low Energy Extensions
+      <ul>
+      <li>Subsection Photoelectric effect 
+        <ul>
+        <li>Minor modification.
+        </ul>
+      </ul>
+    <li>Section 7. Common to All Charged Particles    
+      <ul>
+      <li>Subsection 5, multiple Scattering
+        <ul>
+        <li>New subsubsection 'Step Limitation Algorithm' and 
+            'Boundary Crossing Algorithm' created.
+        <li>Other miscellaenous changes.
+        </ul>
+      </ul>
+    </ul>
+  <li> Chapter 11, Polarized Electron/Positorn/Gamma Incident
+    <ul>
+    <li>New chapter added.
+    </ul>
+  </ul>
+</ul>
+
+<br>
+
+
+<!-- ============================================== Section --> 
+<hr>
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.1 (June 2006) </h2>
+</font>
+<hr>
+<br />
+
+<ul>
+
+<li><b>Installation Guide: For setting up Geant4 in your computing 
+    environment</b>
+  <ul>
+  <li> Chapter 1, Introduction
+    <ul>
+    <li>Section 1.1, Supported Computers and Operating Systems
+      <ul>
+      <li> update for Linux
+      </ul>
+    </ul>
+  <li> Chapter 2, Installation Procedures
+    <ul>
+    <li>Section 2.3, Installation of Hadronic Physics Lists
+      <ul>
+      <li> add note about physics list installation with global Geant4
+           libraries
+      </ul>
+    </ul>
+  </ul>
+<li><b>User's Guide: For Application Developers</b>
+  <ul>
+  <li> Chapter 4, Detector Definition and Response
+    <ul>
+    <li> Section 4.1, Geometry
+      <ul>
+      <li> Subsection 4.1.2, Solids:
+        <ul>
+        <li>Subsection 4.1.2.2, Solids made by Boolean operations: correct examples
+        <li>add new subsection 4.1.2.4, Tessellated solids
+        </ul>
+      <li> Subsection 4.1.4, Physical Volumes: correct source listing numbers
+      <li> Subsection 4.1.7, Reflecting Hierarchies of Volumes
+        <ul>
+        <li>correct source listing numbers
+        <li>update argument list for G4PhysicalVolumePair
+        <li>revision of discussion of Place() method and argument list
+        </ul>
+      <li> Subsection 4.1.6, Creating an Assembly of Volumes
+        <ul>
+        <li>correct figure numbers and code listing numbers
+        <li>add discussion of constituent volume access
+        <li>more discussion of MakeImprint method
+        </ul>
+      <li> Subsection 4.1.9, Geometry Setups: correct source listing numbers
+      <li> Subsection 4.1.11, Detecting Overlaps
+        <ul>
+        <li>correct figure numbers 
+        <li>update DAWN links
+        </ul>
+      <li> Subsection 4.1.13, Importing XML models Using GDML: remove DAWN links 
+      </ul>
+    <li> Section 4.2, Materials
+      <ul>
+      <li> Subsection 4.2.3, Recipes for Building Materials
+        <ul>
+        <li> Add C, Pb to NIST example
+        </ul>
+      </ul>
+    <li> Section 4.3, Electromagnetic Field
+      <ul>
+      <li> New subsection 4.3.3, Spin Tracking 
+      </ul>
+    <li> Section 4.6, Persistency
+      <ul>
+      <li> New subsection 4.6.2: Using Reflex for persistency of geant4 objects
+      </ul>
+    </ul>
+  <li> Chapter 5, Tracking and Physics
+    <ul>
+      <li>Section 5.2, Physics
+        <ul>
+          <li>Subsection 5.2.1, Electromagnetic Interactions
+            <ul>
+              <li>Subsubsection 5.2.1.1, Standard EM processes
+                <ul>
+                <li> add list of steering options for standard EM processes
+                <li> add discussion of G4EmCalculator (which accesses cross sections, 
+                     stopping powers
+                </ul>
+              <li> Subsubsection 5.2.1.2, Low Energy EM processes
+                <ul>
+                <li> add discussion of options for photo-electron angular distributions
+                </ul>
+            </ul>
+          <li>Subsection 5.2.5, Optical Photons
+            <ul>
+            <li>add discussion of linear polarization
+            </ul>
+        </ul>
+    </ul>
+  <li> Chapter 8, Visualization
+    <ul>
+    <li> Section 8.3, The Visualization Drivers
+      <ul>
+      <li>Subsection 8.3.2 OpenGL
+        <ul>
+        <li>update discussion
+        <li>provide control options with or without Motif
+        </ul>
+      <li>Subsection 8.3.3 Open Inventor
+        <ul>
+        <li>update discussion
+        <li>update links
+        </ul>
+      </ul>
+    </ul>
+  <li> Chapter 9, Examples
+    <ul>
+    <li> Section 9.2 Extended: add links to and descriptions of TestEm0, TestEm13-17
+    <li> Section 9.3 Advanced: add pointers to three new examples:
+      <ul>
+      <li>cellular irradiation beamline
+      <li>effects of chip carrier on radiation monitoring devices
+      <li>estimate of effect of photonuclear reactions in calorimeters
+      </ul>
+    </ul>
+  <li> Chapter 10, Appendix
+    <ul>
+    <li> Subsection 10.1.5 Windows - MV Visual C++: add link to Installation Guide
+    <li> Subsection 10.1.6 MacOS-X - g++:update dynamic library discussion
+    <li> Subsection 10.5.1 GNUmake system in Geant4: add link to Installation Guide
+    </ul>
+  </ul>
+
+<li><b>Physics Reference Manual</b>
+  <ul>
+  <li> Chapter 7, Common to All Charged Particles
+    <ul>
+    <li> Section 5, Multiple scattering:
+      <ul>
+      <li> update parameter in formula for theta_0
+      <li> update stepping and model parameters
+      <li> add Mayol and Salvat reference
+      </ul>
+    </ul>
+  <li> Chapter 8, Electron Incident
+    <ul>
+    <li> New Section 5, Positron-electron annihilation to hadrons
+    <li> Section 6, Synchrotron Radiation: replaced by new version
+    </ul> 
+  </ul>
+
+<li><b>User's Guide: For Toolkit Developers</b>
+  <ul>
+    <li> Chapter 19, Extending Toolkit Functionality: Visualization
+      <ul>
+        <li> updated
+        <li> new class diagram figure
+      </ul>
+  </ul>
+</ul>
+
+<br>
+
+
+<!-- ============================================== Section --> 
+<hr>
+<font COLOR="#238E23">
+<h2>Version: Geant4 8.0 (December 2005) </h2>
+</font>
+<hr>
+<br />
+
+<ul>
+
+<li><b>Installation Guide: For setting up Geant4 in your computing 
+    environment</b>
+  <ul>
+  <li> Chapter 1, Introduction
+    <ul>
+    <li>Section 1.3, Visualization Software: update links
+    </ul>
+  <li> Chapter 2, Installation Procedures
+    <ul>
+    <li>new Section 2.3, Installation of Hadronic Physics Lists
+    <li>Old section 2.3 becomes 2.4
+    </ul>
+  <li> Chapter 3, Tips for Installing on Windows
+    <ul>
+    <li>Section 3.1, Windows with Cygwin Toolset and Microsoft Visual C++
+      <ul>
+      <li> update download link
+      <li> remove paragraph on limitations of MS-VC++ optimizer
+      <li> add link to Getting Started with Cygwin
+      </ul>
+    <li>Section 3.2: add note on physics list installation
+    </ul>
+  </ul>
+<li><b>User's Guide: For Application Developers</b>
+  <ul>
+  <li> Chapter 2, Getting Started
+    <ul>
+    <li> Section 10, How to Visualize the Detector and Events
+      <ul>
+      <li> subsection 2.10.2, Visualization Drivers: re-written
+      <li> remove subsection 2.10.5, Scene, Scene Handler, and Viewer,
+           subsection 2.10.6, Sample Visualization Sessions, becomes 2.10.5
+      <li> remove subsections 2.10.7, 2.10.8 (duplication of viz commands in Section 7.1)
+      <li> new subsection 2.10.6, More Information on Geant4 Visualization: pointer to the Visualization chapter
+      </ul>
+    </ul>
+  <li> Chapter 4, Detector Definition and Response
+    <ul>
+    <li> Section 4.1, Geometry: split into 13 separate pages, one for each 
+         subsection
+      <ul>
+      <li> Subsection 4.1.2, Solids:
+        <ul>
+        <li>added Mathematica volume pictures
+        <li>mention method to add pseudo-random points on volume surfaces
+        </ul>
+      <li> Subsection 4.1.4, Physics Volumes: 
+        <ul>
+        <li>update parameterized volume sample listings to add surface 
+             checking flag
+        <li>add paragraph on advanced parameterizations for nested parameterized 
+             volumes
+        </ul>
+      <li> Subsection 4.1.11, Detecting Overlapping Volumes: add paragraph on 
+           detecting overlaps at construction
+      </ul>
+    <li> Section 4.2, Materials
+      <ul>
+      <li> Subsection 4.2.2, Introduction to the Classes
+        <ul>
+        <li> G4Element paragraph: add discussion on element access
+        <li> G4Material paragraph: add link to material names
+        </ul>
+      </ul>
+    <li> Section 4.4, Hits
+      <ul>
+      <li> Subsection 4.4.1, Hit: added discussion of G4THitsMap
+      <li> New subsection 4.4.5: MultiFunctional Detector and Primitive Scorer
+      <li> New subsection 4.4.6: Concrete Classes of G4VPrimitiveScorer
+      <li> New subsection 4.4.7: G4VSDFilter and derived classes
+      </ul>
+    </ul>
+  <li> Chapter 5, Tracking and Physics
+    <ul>
+      <li>Section 5.2, Physics
+        <ul>
+          <li>Subsection 5.2.6, Parameterization
+            <ul>
+              <li>updates for use of G4Region
+              <li>Subsubsection 5.2.6.2, Overview of Parameterization 
+                  Components : new Fast Simulation figure
+            </ul>
+        </ul>
+    </ul>
+  <li> Chapter 7, Communication and Control
+    <ul>
+    <li> Section 7.1, Built-in Commands: update and expand visualization commands
+    </ul>
+  <li> Chapter 8, Visualization
+    <ul>
+    <li> Section 8.1, Introduction: re-written
+    <li> Section 8.2, New title: Adding Visualization to Your Executable
+      <ul>
+      <li> re-written 
+      <li> was section 8.5
+      </ul>
+    <li> Section 8.3, New title: The Visualization Drivers - was section 8.6
+    <li> Section 8.4, New title: Controlling Visualization from Commands
+      <ul>
+      <li>updated, with expanded discussion of visualizing trajectories
+      <li>paragraph added on enhanced trajectory drawing
+      <li> parts of this section moved from Section 2.10 (in Getting Started Chapter)
+      <li> other parts from old Section 8.7 (Interactive Visualization)
+      </ul>
+    <li> Section 8.5, New title: Controlling Visualization from Compiled Code - was section 8.8
+    <li> Section 8.6, Visualization Attributes
+      <ul>
+      <li> updated, with new discussion of color mapping
+      <li> was section 8.3
+      </ul> 
+    <li> New Section 8.7, Enhanced Trajectory Drawing
+    <li> Old sections 8.7 Interactive Visualization, 8.8 Non-interactive Visualization,  
+         and 8.10 More on Visualization, removed and parts distributed to other sections.
+         Section 8.2, What Can Be Visualized? - removed.
+    </ul>
+  <li> Chapter 9, Examples
+    <ul>
+    <li> Section 9.1 Novice: updated and expanded discussion of example N07
+    <li> Section 9.2 Extended: update links
+    </ul>
+  <li> Chapter 10, Appendix
+    <ul>
+    <li> Subsection 10.5.2 Environment Variables: add RayTracer env. vars.
+    </ul>
+  </ul>
+
+<li><b>Physics Reference Manual</b>
+  <ul>
+  <li> Chapter 7, Common to All Charged Particles
+    <ul>
+    <li> Section 6, Transition radiation: improved discussion
+    <li> Section 9, Photoabsorption ionization model: improved
+               discussion of use in physics list
+    </ul>
+  <li> Chapter 22, Parton String Model
+    <ul>
+    <li> Section 1, use correct units for value of hbarc
+    </ul>  
+  <li> Chapter 23, Chiral Invariant Phase Space Model
+    <ul>
+    <li> add new section on neutrino interactions
+    </ul>  
+  <li> Chapter 33, Low Energy Neutron Interactions
+    <ul>
+    <li> new section 33.3 on using low energy paramterized models when
+         high precision models cannot be
+    </ul>  
+  </ul>
+
+<li><b>User's Guide: For Toolkit Developers</b>
+  <ul>
+  <li> Chapter 13, Design and Function: Visualization 
+    <ul>
+    <li> Class Design section: add discussion for creating a new graphics 
+         system
+    <li> Modeling Sub-category section: add discussion of G4VTrajectoryModel
+    <li> new section on visualization attributes
+    </ul>
+  <li> Chapter 19, Extending Toolkit Functionality: Visualization
+    <ul>
+    <li> new section: Creating a new graphics driver
+    <li> new section: Enhanced trajectory drawing
+    </ul>
+  </ul>
+</ul>
+
+<br>
+<hr>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 7.1 (June 2005) </H2>
+</FONT>
+<ul>
+
+<li><b>Installation Guide: For setting up Geant4 in your computing 
+    environment</b>
+  <ul>
+  <li> Chapter 1, Installation introduction
+    <ul>
+    <li>Section 1.3 Visualization software - add link to WIRED</li>
+    </ul></li>
+  <li> Chapter 2, Installation procedures
+    <ul>
+    <li>"Using the configure script" is now section 2.1</li>
+    <li>"Installing Geant4 manually" is now section 2.2
+      <ul>
+      <li>change environment variable G4USE_G3TOG4 to G4LIB_BUILD_G3TOG4</li>
+      </ul></li>
+    </ul></li>
+  <li> Chapter 3, Tips for installing on Windows
+    <ul>
+    <li>Windows with the Cygwin toolset and MS Visual C++
+      <ul>
+      <li>change Cygwin links</li>
+      <li>add sentence on package selection</li>
+      <li>remove mention of Visual Studio .NET 7.1</li>
+      <li>update Cygwin installation instructions</li>
+      </ul></li>
+    </ul></li>
+  </ul></li>
+
+<li><b>User's Guide: For Application Developers</b>
+  <ul>
+  <li>Chapter 2, Getting Started
+    <ul>
+    <li>Section 2.1 How to Define the main() Program
+      <ul>
+      <li>Subsection 2.1.4 G4UIManager and UI Command Submission: 
+          replace N02VisManager with G4VisExecutive</li>
+      </ul></li>
+    <li>Section 2.3 How to Specify Materials in the Detector
+      <ul>
+      <li>add subsection 2.3.5: Define a Material from the Geant4 Material 
+          Database</li>
+      <li>move subsection on Print Material Information to 2.3.6</li>
+      </ul></li>
+    <li>Section 2.9 How to Execute a Program
+      <ul>
+      <li>Subsection 2.9.4 Interactive Mode Driven by Command Lines:
+          in source code listing 2.9.4 replace new MyVisManager with 
+          new G4VisExecutive</li>
+      <li>Subsection 2.9.5 General Case: in source listing 2.9.5 replace new
+          N03VisManager by new G4VisExecutive</li>
+      </ul></li>
+    <li>Section 2.10 How to visualize the Detector and Events
+      <ul>
+      <li>Subsection 2.10.2 Visualization Drivers: change G4VIS_BUILE to
+          G4VIS_BUILD</li>
+      <li>Subsection 2.10.3 How to Incorporate Visualization Drivers into an
+          Executable: update to include G4VisExecutive</li>
+      <li>Subsection 2.10.4 Writing the main() Method to Include Visualization:
+        <ul>
+        <li>update source listing 2.101 to include G4VisExecutive</li>
+        <li>expand last paragraph
+        </ul></li>
+      <li>Subsection 2.10.8 Visualization of the Detector Geometry Tree:
+          delete RegisterGraphicsSystem lines</li>
+      </ul></li>
+    </ul></li>
+
+  <li>Chapter 4, Detector
+    <ul>
+    <li> Section 4.1 Geometry
+      <ul>
+      <li>Subsection 4.1.2 CSG Solids
+        <ul>
+        <li>add new constructor for general twisted trapezoid</li>
+        <li>add G4TwistedTrd</li>
+        <li>subsection 4.1.2.2: Solids made by boolean operations - correction 
+            of first and second volume in discussion
+        </ul></li>
+      <li>Subsection 4.1.5 Touchables: Uniquely Identifying a Volume: 
+          clarification of first paragraph, and addition of arguments to 
+          method names</li>
+      <li>New subsection 4.1.12 Dynamic Geometry Setups</li>
+      <li>Subsection 4.1.13 move subsection on Importing XML Models Using
+          GDML to here</li> 
+      </ul></li>
+    <li> Section 4.2 Material
+      <ul>
+      <li>Subsection 4.2.2 Introduction to the Classes: add paragraph on 
+          internal material database</li>
+      <li>Subsection 4.2.3 All the ways to build a material: add source 
+          listing showing how to use internal database</li> 
+      </ul></li>
+    <li> Section 4.3 Electromagnetic Field
+      <ul>
+      <li>Subsection 4.3.2 Practical Aspects
+        <ul>
+        <li>"Creating a Non-Magnetic Field" replaced by 
+            "Creating an Electric or Electromagnetic Field</li>
+        <li>update source listing 4.3.1</li>
+        <li>add paragraph on alternate steppers</li>
+        <li>update source listing 4.3.2</li>
+        </ul></li>
+      </ul></li>
+    </ul></li>
+
+  <li>Chapter 5, Tracking and Physics
+    <ul>
+    <li> Section 5.2 Physics Processes
+      <ul>
+      <li> Subsection 5.2.1 EM Interactions: 
+        <ul>
+        <li>add list of muon processes</li>
+        <li>add paragraph on model classes</li>
+        <li>add positron annihilation going to muons and to hadrons</li>
+        <li>include physics list code showing model registration</li>
+        </ul></li>
+      </ul></li>
+    </ul></li>
+
+  <li> Chapter 8, Visualization
+    <ul>
+    <li>Section 8.1 Introduction: replace MyVisManager with G4VisExecutive</li>
+    <li>Section 8.5 Making a Visualization Executable
+      <ul>
+      <li>Subsection 8.5.2 How to Realize Visualization Drivers in an 
+          Executable: replace recipe with paragraph including G4VisExecutive,
+          remove reference to ExN03VisManager</li>
+      <li>Subsection 8.5.3 How to Write the main() Function
+        <ul>
+        <li>rewrite first paragraph to refer to G4VisExecutive</li>
+        <li>replace MyVisManager with G4VisExecutive in source listings 
+            8.5.2, 8.5.3, 8.5.4 and text</li>
+        <li>add verbosity codes</li>
+        </ul></li>
+      </ul></li>
+    <li>Section 8.6 Visualization Drivers: change About_DAWN link</li>
+    <li>Section 8.7 Interactive Visualization
+      <ul>
+      <li>Subsection 8.7.10 Visualization of Detector Geometry Tree
+        <ul>
+        <li>update with G4VisExecutive</li>
+        <li>remove reference to ExN03VisManager</li>
+        <li>remove "Additional Note" and "Action"</li>
+        <li>remove verbosity codes, replace with new paragraph</li>
+        </ul></li>
+      </ul></li>
+    <li>Section 8.8 Non-interactive Visualization
+      <ul>
+      <li>Subsection 8.8.1 Class G4VVisManager: replace MyVisManager with
+          G4VisExecutive</li>
+      <li>Subsection 8.8.6 Visualization of polylines and tracking steps:
+          change runManager->set_userAction to runManager->SetUserAction</li>
+      <li>add subsection 8.8.7 Visualization User Action</li>
+      </ul></li>
+    </ul>
+
+  <li> Chapter 9, Examples
+    <ul>
+    <li>Section 9.1 Novice Examples
+      <ul>
+      <li>Subsection 9.1.3 Example N02: update classes, remove 
+          ExN02VisManager and links</li>
+      <li>Subsection 9.1.4 Example N03: remove ExN03VisManager and links</li>
+      <li>Subsection 9.1.5 Example N04: update classes</li>
+      </ul></li>
+    <li>Section 9.2 Extended Examples
+      <ul>
+      <li>Subsection 9.2.1 Extended examples
+        <ul>
+        <li>add TestEm11</li>
+        <li>add expgs (General Particle Source Example)</li>
+        <li>add sentence to ExDiane and ParGeant4</li>
+        <li>change link for ParGeant4</li>
+        <li>add radioactive decay example</li>
+        <li>add run and event example</li>
+        </ul> 
+      </ul></li>
+    <li>Section 9.3 Advanced Examples
+      <ul>
+      <li>Subsection 9.3.1 Advanced Examples
+        <ul>
+        <li>change links for hadron therapy, medical linac, radioprotection,
+            xray fluorescence, cosmic ray charging</li>
+        <li>add links for purging magnet, composite calorimeter, lAr 
+            calorimeter. RICH and Tiara</li>
+        </ul></li>
+      </ul></li>
+    </ul></li>
+
+  <li> Chapter 10, Appendix
+    <ul>
+    <li>Section 10.4 C++ Standard Template Library: add reference book 
+        "Effective STL"</li>
+    <li>Section 10.5 Makefiles and Environment Variables
+      <ul>
+      <li>Subsection 10.5.2 Environment Variables
+        <ul>
+        <li>change G4USE_G3TOG4 to G4LIB_USE_G3TOG4</li>
+        <li>add zlib module (with g3tog4)</li>
+        </ul></li>
+      </ul></li>
+    <li>Section 10.6 Build for MicroSoft Visual C++: change Cygwin link</li>
+    <li>Section 10.7 Development and Debug Tools: update links</li>
+    </ul></li>
+  </ul></li>
+
+<li><b>Physics Reference Manual</b>
+  <ul>
+  <li> Chapter 7, Common to All Charged Particles 
+    <ul>
+    <li> Section 7.2 Energy loss fluctuations: updated</li>
+    <li> Section 7.5 Multiple scattering: more z sampling discussion and 
+         typo corrections</li> 
+    </ul></li>
+  <li> Chapter 11, Low Energy Extensions
+    <ul>
+    <li> Section 11 Penelope physics
+      <ul>
+      <li>Subsection 5 Photoelectric effect: expanded discussion</li>
+      </ul></li>
+    </ul></li>
+  <li> Chapter 24, Bertini Cascade Model: corrected pion absorption channels,
+       re-write for English</li>
+  </ul></li>
+
+<li><b>User's Guide: For Toolkit Developers</b>
+  <ul>
+  <li>Changed from article format to book format, re-organized sections
+      into Introduction, Design and Function of Geant4 Categories, Extending
+      Toolkit Functionality and Appendix</li>
+  <li>Part 1, Introduction - move User Requirements Document discussion
+      here (from old chapter 2)</li>
+  <li>Part 2, Design and Function of Geant4 Categories
+    <ul>
+    <li> organize each chapter to have at least Design Philosophy and
+         Class Design sections</li>
+    <li> add text from general Geant4 paper to Design Philosophy chapters</li>
+    </ul></li>
+  </ul></li>
+
+</ul>
+ 
+<BR>
+<HR>
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 7.0 (December 2004) </H2>
+</FONT>
+<UL>
+
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+  <UL>
+  <LI> Chapter 1, Installation introduction
+    <UL>
+    <LI> Section 1.1 Supported computers and operating systems - updated
+    <LI> Section 1.3 Visualization software - update links
+    <LI> Section 1.4 Software for Analysis and Histogramming - update link
+    </UL>
+  <LI> Chapter 2, Installation procedures
+    <UL>
+    <LI> Section 2.2 Using the configure script - revised
+    </UL>
+  <LI> Chapter 3, Tips for installing on Windows - update
+  </UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 4, Detector
+    <UL>
+    <LI> Section 4.1 Geometry
+      <UL>
+      <LI> Subsection 4.1.10 Converting Geometries from Geant 3.21 : 
+           conversion of Geant 3.21 magnetic field not supported
+      <LI> Subsection 4.1.2 Solids: add discussion of GetCubicVolume method
+        <UL>
+        <LI> subsection 4.1.2.1: added G4TwistedBox and G4TwistedTrap
+        </UL>
+      <LI> Subsection 4.1.3 Logical Volumes : discussion of GetMass method 
+      </UL>
+    <LI> Section 4.3 Electromagnetic Field
+      <UL>
+      <LI> Subsection 4.3.2 Practical Aspects : update discussion of 
+           creating field for part of volume hierarchy - add code snippet
+      </UL>
+    </UL>
+  <LI> Chapter 5, Tracking and Physics
+    <UL>
+    <LI> Section 5.2 Physics Processes
+      <UL>
+      <LI> Overall grammar, spelling upgrade
+      <LI> Update G4VProcess discussion with PreparePhysicsTable method
+      <LI> Subsection 5.2.6 Parameterization : add subsections 5.2.6.9,
+           5.2.6.10 on Gflash 
+      </UL>
+    <LI> New Section 5.6 Physics Table
+    </UL>
+  <LI> Chapter 6, User Actions
+    <UL>
+    <LI> Added Section 6.3 User Information Classes
+    </UL>
+  <LI> Chapter 8, Visualization
+    <UL>
+    <LI> Section 8.7 Interactive Visualization
+      <UL>
+      <LI> Subsection 8.7.11: added three new tutorial macros: vis9, 10, 11
+      </UL> 
+    </UL>
+  <LI> Chapter 9, Examples
+    <UL>
+    <LI> Added Section 9.3 Extended Examples
+    </UL>
+  <LI> Chapter 10, Appendix
+    <UL>
+    <LI> Section 10.2 Histogramming
+      <UL>
+      <LI> Subsection 10.2.4 : mention extended electromagnetic examples
+      </UL>
+    </UL>
+  </UL>
+
+<LI><B>Physics Reference Manual</B>
+  <UL>
+  <LI> New Chapter 5: Particle Transport (was section 12.1)
+  <LI> Chapter 7, Common to All Charged Particles 
+    <UL>
+    <LI> New Section 7.2 Energy loss fluctuations (was section 12.3)    
+    <LI> New Section 7.3 Correcting Cross Sections for Energy Variations (was 
+         subsection 12.1.3 (Integral approach)
+    <LI> New Section 7.4 Conversion from Range to Kinetic Energy
+        (was section 12.2)
+    <LI> Section 7.5 Multiple scattering - updated 
+    <LI> Section 7.9 PAI model - updated 
+    </UL>
+  <LI> Chapter 12, Miscellaneous - removed (see notes for Chapters 5 and 7)
+  <LI> New Chapter 13: Shower Parameterizations
+  <LI> Chapter 20, Parameterization-Driven Models
+    <UL>
+    <LI> Section 20.3 High energy model -  new, expanded section
+    </UL> 
+  </UL>
+
+<LI><B>User's Guide: For Toolkit Developers</B>
+  <UL>
+  <LI>Chapter 4, Guide to Extending Geant4 Functionality
+    <UL> 
+    <LI> Section 1 Geometry
+      <UL>
+      <LI> discussion of creating a derived class from G4VSolid : add
+           discussion of GetCubicVolume() method and add GetPolyhedron
+           method
+      </UL>
+    <LI> Section 2 EM Fields : correct indeces for storing B and E field
+         components
+    </UL>
+  </UL>
+
+</UL>
+ 
+<BR>
+<HR>
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 6.2 (June 2004) </H2>
+</FONT>
+<UL>
+
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+  <UL>
+  <LI> Chapter 1, Installation introduction
+    <UL>
+    <LI> Updated supported platforms
+    </UL>
+  <LI> Chapter 3, Installation on a PC Machine
+    <UL>
+    <LI> Updated, subsection titles changed
+    </UL>
+  </UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 4, Detector
+    <UL>
+    <LI> Section 4.1 Geometry
+      <UL>
+      <LI> Subsection 4.1.2 Solids
+        <UL>
+        <LI> added G4TwistedTubs discussion
+        </UL>
+      <LI> Subsection 4.1.4 Physical Volumes
+        <UL>
+        <LI> Subsubsection 4.1.4.2 Repeated volumes 
+                  - update parameterized volumes 
+        </UL>
+      <LI> Subsection 4.1.7 Reflecting Hierarchies of Volumes - add discussion
+            of Divide() method  
+      </UL>
+    </UL>
+  <LI> Chapter 5, Tracking and Physics
+    <UL>
+    <LI> Subsection 5.2.5 Optical Photons
+      <UL>
+      <LI> New Subsubsection 5.2.5.3 inserted:  Generation of Photons in 
+              Optical Processes - Wavelength Shifting
+      <LI> Subsubsection 5.2.5.4: Tracking of Photons - sections on Rayleigh
+              Scattering and Boundary Processes updated
+      </UL>
+    </UL>
+  <LI> Chapter 8, Visualization
+    <UL> 
+    <LI> Subsection 8.7 Interactive Visualization - bug fix
+    </UL>
+  <LI> Chapter 9, Examples
+    <UL>
+    <LI> Section 9.1 Novice Examples
+      <UL>
+      <LI> removed examplesReadMe
+      <LI> updated links
+      </UL>
+    <LI> Section 9.2 Advanced Examples - expanded discussion of medical example
+    </UL>
+  <LI> Chapter 10, Appendix
+    <UL>
+    <LI> Section 10.1 Compilation Tips
+      <UL>
+      <LI> updated 
+      <LI> added subsection 10.1.6 for MacOS
+      </UL>
+    <LI> Section 10.2 Histogramming
+      <UL>
+      <LI> Subsection 10.2.2 replace Lizard subsection with PI subsection
+      </UL>
+    <LI> Section 10.5 Makefiles and Environment Variables
+      <UL>
+      <LI> Subsection 10.5.2 Environment Variables - updated
+      </Ul>
+    <LI> Section 10.6 Build for MS Visual C++ -update for Visual Studio
+    </UL>
+  </UL>
+
+<LI><B>Physics Reference Manual</B>
+  <UL>
+  <LI> Chapter 5, Gamma Incident
+    <UL>
+    <LI> Section 5.2 Compton Scattering
+      <UL>
+      <LI> Add total cross section references
+      </UL>
+    </UL>
+  <LI> Chapter 6, All Charged Particles 
+    <UL>
+    <LI> Section 6.2 Multiple Scattering
+      <UL>
+      <LI> Expanded discussion of true path length to geometrical path length
+      <LI> Correction term added to Highland formula
+      </UL>
+    </UL>
+  <LI> Chapter 7, Electron Incident
+    <UL>
+    <LI> Section 7.2 Bremsstrahlung
+      <UL>
+      <LI> Update cross section and energy loss parameterizations
+      </UL>
+    </UL>
+  <LI> Chapter 15, Total Reaction Cross Section in Nucleus-nucleus Reactions
+    <UL>
+    <LI> Added section on Tripathi formula for light systems
+    </UL> 
+  <LI> New chapter 17, Hadron Elastic Scattering at Medium and High Energy 
+  <LI> New chapter 25, Abrasion-ablation Model 
+  <LI> New chapter 26, Electromagnetic Dissociation Model
+  </UL>
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 6.1 (March 2004) </H2>
+</FONT>
+<UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 4, Detector
+    <UL>
+    <LI> Section 4.1 Geometry
+      <UL>
+      <LI> Subsection 4.1.2.2 Solids made by Boolean operations: updated
+      <LI> Subsection 4.1.8 The Geometry Navigator: updated
+      </UL>
+    </UL>
+  <LI> Chapter 5, Tracking and Physics
+    <UL>
+    <LI> Section 5.3 Particles
+      <UL>
+      <LI> Subsection 5.3.2 Definition of Particles: update baryon and meson 
+            masses and widths
+      </UL>
+    </UL>
+  </UL>
+
+</UL>
+
+<BR>
+<HR>
+
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 6.0 (December 2003) </H2>
+</FONT>
+<UL>
+
+<LI><B>FAQs</B>
+  <UL>
+  <LI>Updated
+  </UL>
+
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+  <UL>
+  <LI>Section 1, Installation introduction: remove OPACS link, add XP to 
+      Windows
+  <LI>Section 3, Tips for Installing on Windows: add link for creating project
+      under Visual Studio
+  </UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 2, Getting Started
+    <UL>
+    <LI> Subsection 2.2.3 Choose a Solid: change hightOfTheTube to 25 cm.
+    <LI> Section 2.8 Setting Up an Interactive Session: remove OPACS
+    </UL>
+  <LI>Chapter 3, Fundamentals
+    <UL>
+    <LI> Section 3.7 Event Biasing Techniques:
+      <UL>
+      <LI> updated code sample in subsection 3.7.1.2: Changing the Sampling
+           and added weight window discussion
+      <LI> added new subsection 3.7.1.6: The Weight Window Technique
+      </UL>
+    </UL>
+  <LI>Chapter 4, Detector
+    <UL>
+    <LI> Section 4.1 Geometry
+      <UL>
+      <LI> Subsection 4.1.2 Solids: remove paragraph on Other BREP Solids
+      <LI> Subsection 4.1.4 Phyiscal Volumes: add discussion of volume division
+      <LI> Subsection 4.1.10 Importing Solid Models from CAD: removed
+      </UL>
+    <LI> Section 4.3 Electromagnetic Field
+      <UL>
+      <LI> Subsection 4.3.2 Practical Aspects: add discussion on creating
+           field for part of detector, expanded discussion of stepper 
+           parameters
+      </UL>
+    <LI> Section 4.6 Persistency
+      <UL>
+      <LI> Subsections 4.6.2, 4.6.3, 4.6.4 deleted (obsolete)
+      </UL>
+    </UL>
+  <LI>Chapter 5, Tracking and Physics
+    <UL>
+    <LI> Section 5.2 Physics Processes
+      <UL>
+      <LI> Subsection 5.2.1.2: add options for Low Energy angular dist.
+      </UL>
+    </UL>
+  <LI> Chapter 8, Visualization
+    <UL>
+    <LI> Section 8.5 Making a Visualization Executable: move Table 8.1 to 
+         section 8.6
+    <LI> Section 8.6 Visualization Drivers: 
+       <UL>
+       <LI> Subsection 8.6.5: added link
+       <LI> Subsection 8.6.8: added Table 8.1
+       </UL>
+    <LI> Section 8.7 Interactive Visualization: remove OPACS, update tutorial 
+         macros
+    <LI> Section 8.9 Built-in Visualization Commands: change built-in command 
+         link to point to Section 7.1
+    <LI> Expanded Subsection 8.10.2: Visualiztion of a Detector Geometry Tree
+    </UL>
+  <LI>Chapter 9, Examples
+    <UL>
+    <LI> Section 9.1 Novice Examples
+      <UL>
+      <LI> replace code in documentation area with 
+           links to checked-out code at 
+           http://pcitapiww.cern.ch/geant4/source/source/geant4
+      <LI> add subsection 9.1.8: brief description of example N07
+      </UL>
+    <LI> Section 9.2 Advanced Examples: update
+    </UL>
+  <LI>Chapter 10, Appendix
+    <UL>
+    <LI> Section 10.1 Tips for Compilation : revise template repository
+         discussion
+    <LI> Section 10.5 Makefiles: remove OPACS, STEP references, add alternate 
+         path for hadronic physics lists 
+    <LI> Section 10.7 Development and Debugging Tools: update links and 
+         references
+    </UL>
+  </UL>
+
+<LI><B>User's Guide: For Toolkit Developers</B>
+  <UL>
+  <LI>Chapter 3, Object-Oriented Analysis and Design
+    <UL>
+    <LI>Section 3.5, Geometry: update navigator, overall diagrams, add regions 
+        diagram
+    <LI>Section 3.6  Electromagnetic Field: update field diagram
+    </UL>
+  <LI>Chapter 4, Guide to Extending Geant4 Functionality
+    <UL>
+    <LI>Section 4.1: Geometry, minor re-wording
+    </UL>
+  </UL>
+
+<LI><B>Physics Reference Manual</B>
+  <UL>
+  <LI>Chapter 6 Common to All Charged Particles
+    <UL>
+    <LI> Insert new section 6.1 on energy loss
+    <LI> Section 6.1 Multiple Scattering: update equations 6.12 and 6.15
+         and discussion of model parameters
+    </UL>
+  <LI>Chapter 7 Electron Incident
+    <UL>
+    <LI> Section 7.1 Electron ionization: revised
+    <LI> Section 7.2 Electron bremsstrahlung: revised
+    </UL>
+  <LI>Chapter 8 Muon Incident
+    <UL>
+    <LI> Section 8.1 Muon ionization: revised
+    </UL>
+  <LI>Chapter 9 Charged Hadron Incident
+    <UL>
+    <LI> Section 9.1 Hadron ionization: revised
+    </UL>
+  <LI>Chapter 10 Low Energy Extensions
+    <UL>
+    <LI>Section 10.7 Bremsstrahlung
+      <UL>
+      <LI> Added subsection on angular distributions and 4 figures
+      </UL>
+    <LI>Section 10.11.7 Penelope Physics: Ionization added
+    <LI>Section 10.11.8 Penelope Physics: Positron annihilation added
+    </UL>
+  <LI>Chapter 12 Miscellaneous
+    <UL>
+    <LI> Subsection 12.1.3: Integral transport method added 
+    <LI> Section 12.3 Computing Energy Loss: re-written
+    </UL>
+  <LI>New Chapter 15 Reaction Cross Sections for Nucleus-nucleus reactions
+  <LI>Chapter 22 Binary Cascade: add subsection on light-ion reactions
+  <LI>Chapter 29 Radioactive Decay: re-worded
+  </UL>
+</UL>
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 5.2  (June 2003) </H2>
+</FONT>
+<UL>
+
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+  <UL>
+  <LI>Section 1, Installation introduction: compiler info, links updated
+  <LI>Section 2, Installation procedures: minor rewording of section 2.1
+  <LI>Section 3, Tips for Installing on Windows: minor update 
+  </UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 3, Fundamentals
+    <UL>
+    <LI> Section 3.7 Event Biasing Techniques:
+      <UL>
+      <LI> added new subsection 3.7.1.6: The Weight Roulette Technique
+      </UL>
+    </UL>
+  <LI>Chapter 4, Detector
+    <UL>
+    <LI> Section 4.1 Geometry:
+      <UL>
+      <LI> subsection 4.1.10 Importing Solid Models from CAD Systems: added note on support and installation
+      <LI> subsection 4.1.11 Converting Geometries from Geant3.21: updated
+      <LI> subsection 4.1.12 Detecting Overlapping Volumes: added new built-in test commands
+      </UL>
+    <LI> Section 4.4 Hits:
+      <UL>
+      <LI> subsection 4.4.1 Hit: added paragraph on G4Allocator
+      </UL>
+    </UL>
+  <LI>Chapter 9, Examples
+    <UL>
+    <LI> Section 9.2 Advanced Examples: added reference to medical example using DICOM
+    </UL>
+  <LI>Chapter 10, Appendix
+    <UL>
+    <LI> Section 5 Makefiles and Environment Variables: 
+      <UL>
+      <LI> added environment variable G4LIB_BUILD_G3TOG4 and description
+      <LI> added STEP modules environment variables G4LIB_BUILD_STEP and G4USE_STEP
+      </UL>
+    </UL>
+  </UL>
+
+<LI><B>Physics Reference Manual</B>
+  <UL> 
+  <LI> New Chapter 2, Monte Carlo Methods (moved from Miscellaneous section of Electromagnetic processes
+  <LI> New Chapter 3, Transportation
+  <LI> Chapter 10, Low Energy Extensions
+    <UL>
+    <LI> New section 11: Penelope physics processes
+    </UL>
+  </UL>
+
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 5.1  (April 2003) </H2>
+</FONT>
+<UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+  <UL>
+  <LI>Chapter 5, Electron incident
+    <UL>
+    <LI> new section on e+e- -> mu+mu-
+    </UL>
+  <LI>Chapter 18, Chiral Invariant Phase Space Decay
+    <UL>
+    <LI>First four sections re-written
+    </UL>
+  <LI>Chapter 22, Evaporation Model
+    <UL>
+    <LI>Introduction added
+    <LI>Model description added
+    <LI>References updated
+    </UL>
+  </UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 2, Getting Started
+    <UL>
+    <LI> Section 2.4, How to specify particles: subsection 2.4.2.1 updated for
+         cuts per region, subsection 2.4.2.2 removed
+    </UL>
+  <LI>Chapter 3, Fundamentals
+    <UL>
+    <LI> Section 3.4 Run: subsection 3.4.4 Run manager corrected and updated
+    </UL>
+  <LI>Chapter 4, Detector
+    <UL>
+    <LI> Section 4.1 Geometry: subsection 4.1.3.1 added (cuts per region)
+    </UL>
+  <LI>Chapter 5, Tracking and Physics
+    <UL>
+    <LI> Section 5.2 Physics Processes: correction to paragraph on surfaces 
+         in subsection 5.2.5.3 (Tracking of Optical Photons)
+    <LI> Section 5.3 Particles: subsection 5.3.2 Definition of a Particle, 
+                                                updated
+    <LI> Section 5.5 Cuts per Region added
+    </UL>
+  <LI>Chapter 6, User Actions
+    <UL>
+    <LI> Section 6.1 Mandatory User Actions: updated class listing
+    <LI> Section 6.2 Optional User Actions: expanded initial paragraph
+    </UL>
+  <LI>Chapter 7, Communication and Control
+    <UL>
+    <LI> Section 7.1 Built-in commands updated 
+    </UL>
+  </UL>
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 5.0  interim update (January 2003) </H2>
+</FONT>
+<UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+  <UL>
+  <LI>Chapter 6, Muon Incident 
+    <UL>
+    <LI>Section 6.4, Pair production: re-written
+    </UL>
+  <LI>Chapter 8, Low Energy Extensions
+    <UL>
+    <LI>Section 8.1 Overview: minor re-wording
+    <LI>Section 8.2 Compton Scattering: minor re-wording
+    <LI>Section 8.3 Compton Scattering by Linearly Polarized Gamma Rays: 
+      equation correction (polarization vector)
+    <LI>Section 8.4 Rayleigh scattering: corrected theta sampling (step 1)
+    </UL>
+  <LI>Chapter 20, New, Binary Cascade replaces Hadron Kinetic Model 
+  </UL>
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 5.0  (December 2002) </H2>
+</FONT>
+<UL>
+<P>
+<LI><B>Introduction to Geant4</B>
+  <UL>
+  <LI>FAQ, morefaq updated.
+  </UL>
+
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+  <UL>
+  <LI>All three sections updated
+  </UL>
+
+<LI><B>User's Guide: For Application Developers</B>
+  <UL>
+  <LI>Chapter 3, Toolkit Fundamentals
+    <UL>
+    <LI> Section 3.2, Global Usage Classes: update links
+    <LI> Section 3.4, Run: updated state information
+    <LI> Section 3.7, Event Biasing: updated and expanded
+    </UL>
+  <LI>Chapter 4, Detector Definition and Response
+    <UL>
+    <LI> Section 4.1, Geometry: updated
+    <LI> Section 4.3, Electromagnetic Field: expanded, figures added
+    </UL>
+  <LI>Chapter 5, Tracking and Physics
+    <UL>
+    <LI>Section 5.2, Physics Processes
+      <UL>
+      <LI>Sub-section 5.2.5, Optical Photon Processes: updated
+      </UL>
+    <LI>Section 5.3, Particles: particle tables updated
+    </UL>
+  <LI>Chapter 7, Communication and Control
+    <UL>
+    <LI> Section 7.2, User Interface: updated state information
+    </UL>
+  <LI>Chapter 8, Visualization
+    <UL>
+    <LI> Section 8.3, Visualization Attributes: add new section on 
+         providing pickable information
+    </UL>
+  <LI>Appendix 
+    <UL>
+    <LI>Section 10.1: Compilation Tips, removed HP, DEC sections
+    <LI>Section 10.3: CLHEP, updated link
+    <LI>Section 10.5: Makefiles, updated links
+    <LI>Section 10.6: Buildfiles, updated links
+    </UL>
+  </UL>
+
+<LI><B>User's Guide: For Toolkit Developers</B>
+  <UL>
+  <LI>Chapter 3, Object Oriented Analysis and Design
+    <UL>
+    <LI>Section 3.2: Tracking, updated and partially re-written
+    <LI>Section 3.9: Global Usage, updated
+    </UL>
+  <LI>Chapter 4, Guide to Extending Geant4 Functionality
+    <UL>
+    <LI>Section 4.1: Geometry, updated
+    </UL>
+  </UL>
+
+<LI><B>Physics Reference Manual</B>
+  <UL>
+  <LI>Chapter 3, Gamma Incident
+    <UL>
+    <LI>Section 3.1, Photoelectric Effect: added introduction
+    <LI>Section 3.4, Gamma Conversion into a (mu+,mu-) Pair: re-written 
+    </UL>
+  <LI>Chapter 4, Common to All Charged Particles
+    <UL>
+    <LI>Section 4.1, Multiple Scattering: re-written
+    <LI>Section 4.2, Transition Radiation: re-written
+    </UL>
+  <LI>Chapter 5, Electron Incident 
+    <UL>
+    <LI>Section 5.3, e+e- Annihilation: re-written
+    <LI>Section 5.4, Synchrotron Radiation: re-written
+    </UL>
+  <LI>Chapter 6, Muon Incident 
+    <UL>
+    <LI>Section 6.1, Ionization: re-written
+    <LI>Section 6.2, Bremsstrahlung: re-written
+    <LI>Section 6.3, Muon Photonuclear Interaction: re-written
+    </UL>
+  <LI>Chapter 7, Charged Hadron Incident 
+    <UL>
+    <LI>Section 7.1, Ionization: re-written
+    </UL>
+  <LI>Chapter 10, Miscellaneous
+    <UL>
+    <LI>Section 10.5, Energy Loss Fluctuations: updated
+    </UL>
+  <LI>Chapter 12, Cross Sections in Photonuclear and Electronuclear Reactions 
+    <UL>
+    <LI>Section 12.2, Parameterization of the Electronuclear Cross Sections : 
+        expanded and re-written
+    </UL>
+  <LI>Chapter 15, Parameterization Driven Models
+    <UL>
+    <LI>All sections re-written
+    </UL>
+  <LI>Chapter 16, Leading Particle Bias
+    <UL>
+    <LI>Updated
+    </UL>
+  <LI>Chapter 18, Chiral Invariant Phase Space Decay
+    <UL>
+    <LI>Updated
+    </UL>
+  <LI>Chapter 19, Bertini IntraNuclear Cascade Model
+    <UL>
+    <LI>NEW CHAPTER
+    </UL>
+  <LI>Chapter 21, Precompound Model
+    <UL>
+    <LI>Section 21.2, Simulation of pre-compound reaction: equation label 
+        change
+    </UL>
+  <LI>Chapter 22, Evaporation Model
+    <UL>
+    <LI>Section 22.2, Simulation of fragment evaporation: updated
+    </UL>
+  <LI>Chapter 24, Fermi Breakup Model
+    <UL>
+    <LI> Section 24.1, Fermi breakup simulation for light nuclei: remove 
+         subsection 24.1.1 (nuclear masses)
+    </UL>
+  <LI>Chapter 25, Multifragmentation Model
+    <UL>
+    <LI> minor updates
+    </UL>
+  <LI>Chapter 26, Low Energy Neutron Interactions
+    <UL>
+    <LI> Section 26.2, Physics and Verification: sections 26.2.2, 26.2.3, 
+         26.2.4 updated 
+    </UL>
+  </UL>
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 4.1  (June 2002) </H2>
+</FONT>
+<UL>
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+    <UL>
+    <LI>Section 1, Introduction: updated supported platforms
+    <LI>Section 2, PCMachines: updated
+    <LI>Section 3, Unix Machines: updated
+    </UL>
+<P>
+<LI><B>User's Guide: For Application Developers</B>
+    <UL>
+    <LI>Chapter 2, Getting Started
+      <UL>
+      <LI>Section 2.8, update user interface description
+      </UL>
+    <LI>Chapter 3, Toolkit Fundamentals
+      <UL>
+      <LI> add section 3.7 on event biasing
+      </UL>
+    <LI>Chapter 4, Detector Definition and Response
+      <UL>
+      <LI> update section 4.1: Geometry
+      </UL>
+    <LI>Chapter 5, Tracking and Physics
+      <UL>
+      <LI>Update section 5.2.1.2: Low Energy EM Physics
+      <LI>Update particle tables in section 5.3: Particles
+      </UL>
+    <LI>Appendix 
+      <UL>
+      <LI>Section 10.2: Histogramming - updated
+      <LI>Section 10.3: CLHEP - updated
+      </UL>
+    </UL>
+<P>
+<LI><B>User's Guide: For Toolkit Developers</B>
+    <UL>
+    <LI>Chapter 3, Object-oriented Analysis and Design of Geant4 Classes:
+        updated and re-organized
+        <UL>
+        <LI>Section 3.3, Physics Processes: low energy class diagram removed -
+            will not print in .ps
+        <LI>Section 3.5, Geometry: new overall geometry UML diagram
+        <LI>Section 3.6, Electromagnetic fields: new UML diagram
+        <LI>Section 3.9, Global Usage: additional Booch diagrams
+        </UL>
+    <LI>Chapter 4, Guide to Extending Geant4 Functionality
+        <UL>
+        <LI>Section 4.4, Extending hadronic physics: hadronic class diagrams 
+            removed - will not print in .ps
+        </UL>
+
+    <LI>Chapter 5, Appendix: all class diagrams updated
+    </UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+    <UL>
+    <LI>Section II
+       <UL>
+       <LI>Updated
+       </UL>
+    <LI>Section III
+       <UL>
+       <LI>Chapter 3: Gamma Incident
+         <UL>
+         <LI>Section 3.1 Photo-electric effect: re-written
+         <LI>Section 3.2 Compton scattering: re-written
+         <LI>Section 3.3 New section on gamma conversion to e+e- pair
+         <LI>Section 3.4 New section on gamma conversion to mu+mu- pair
+         </UL>
+       <LI>Chapter 4: Common to All Charged Particles
+         <UL>
+         <LI>Section 4.1 Multiple scattering: re-written
+         <LI>Section 4.2 New transition radiation section
+         <LI>Section 4.5 Photoabsorption-ionization model: re-written
+         <LI>Section 4.6 Photoabsorption cross section at low energies: 
+             re-written
+         </UL>
+       <LI>Chapter 5: Electron incident
+         <UL>
+         <LI>Section 5.1 Electron ionization: re-written
+         <LI>Section 5.2 Electron bremsstrahlung: re-written
+         <LI>Section 5.3 Synchrotron radiation: updated
+         <LI>Section 5.4 e+e- annihilation: updated
+         </UL>
+       <LI>Chapter 8: Low Energy EM
+         <UL>
+         <LI>Section 8.3 new section on Compton scattering by linearly 
+             polarized gamma rays
+         <LI>All other sections updated
+         </UL>
+       </UL>
+    <LI>Section IV
+       <UL>
+       <LI>Chapter 11: Lepton-Hadron interactions: re-written
+       <LI>Chapter 12: Cross Sections in Photonuclear and Electronuclear 
+           Reactions
+         <UL>
+         <LI>Section 12.1 Approximation of PhotoNuclear cross sections: 
+             re-written
+         <LI>Section 12.3 Parameterization of ElectroNuclear cross sections: 
+             re-written
+         </UL>
+       <LI>Chapter 13: Coherent elastic scattering - new material
+       <LI>Chapter 16: Leading Particle Bias - new chapter on MARS code
+       <LI>Chapter 18: Chiral Invariant Phase Space Decay - updates
+       </UL>
+    </UL>
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 4.0  (December 2001) </H2>
+</FONT>
+<UL>
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+    <UL>
+    <LI>Updated sections 1,2 and 3 
+    </UL>
+<P>
+<LI><B>User's Guide: For Application Developers</B>
+    <UL>
+    <LI>Chapter 1 re-written
+    <LI>Chapter 2 updated
+    <LI>Chapters 3, 4 re-organized into chapters 3 through 9
+    <LI>Sections of chapters 3 through 9 re-written
+    <LI>Appendix (formerly chapter 5) becomes Chapter 10
+    </UL>
+<P>
+<LI><B>User's Guide: For Toolkit Developers</B>
+    <UL>
+    <LI>Chapter 3, Object-oriented Analysis and Design of Geant4 Classes:
+        updated and re-organized
+        <UL>
+        <LI>Section 3.5, Geometry: most figures moved to Appendix
+        </UL>
+    <LI>Chapter 4, Guide to Extending Geant4 Functionality: some sections
+        re-written
+
+    <LI>Chapter 5, Appendix: created to hold geometry class diagrams
+    </UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+    <UL>
+    <LI>Section I
+       <UL>
+       <LI>Occurrence and SetCuts sections moved to new Miscellaneous chapter
+           in Section II.
+       <LI>New introduction added (manual scope and definition of terms)
+       <LI>Renamed section "Introduction"
+       </UL>
+    <LI>Section II
+       <UL>
+       <LI>Updated
+       </UL>
+    <LI>Section III
+       <UL>
+       <LI>Chapters re-ordered
+       <LI>LE gamma conversion added
+       <LI>Added chapter 10. Miscellaneous
+       <LI>updates to most LE chapters
+       </UL>
+    <LI>Section IV
+       <UL>
+       <LI>Added chapter 12 - Cross Sections in Phot...
+       <LI>Added chapter 13 - Elastic (empty)
+       <LI>Added chapter 17 - Chiral Inv. Phase Space model
+       <LI>Remove Theory-Driven Models chapter (was empty)
+       <LI>Updates, correction to many other chapters
+       </UL>
+    </UL>
+</UL>
+
+<BR>
+<HR>
+
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 3.1  (16 April 2001) </H2>
+</FONT>
+<UL>
+<LI><B>User's Guide: For Application Developers</B>
+    <UL>
+    <LI>Updated sections: 3-6, 3-18
+    <LI>Updated sections: 4-2
+    <LI>Updated sections: 5-10
+    </UL>
+<P>
+<LI><B>Software Reference Manual</B>
+    <UL>
+    <LI>Adapted to Geant4 3.1.
+    </UL>
+
+</UL>
+  
+<!-- ============================================== Section --> 
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 3.0 (December 2000) </H2>
+</FONT>
+<UL>
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+    <UL>
+    <LI>Update sections: 1, 2, 3 
+    </UL>
+<P>
+<LI><B>User's Guide: For Application Developers</B>
+    <UL>
+    <LI>Updated sections: 2-10
+    <LI>Updated sections: 3-6, 3-9, 3-10, 3-16, 3-20
+    <LI>Updated sections: 5-2, 5-3, 5-5, 5-6, 5-7  
+    <LI>Updated sections: 4-10
+    </UL>
+<P>
+<LI><B>User's Guide: For Toolkit Developers</B></B>
+    <UL>
+    <LI>Updated sections: Object-oriented anlaysis and design of Geant4 classes
+        <UL>
+        <LI>Physics Processes
+        </UL>
+    </UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+    <UL>
+    <LI>Updated sections: Electromagnetic Interaction - Low Energy Extension
+        <UL>
+        <LI>Hadron and ion ionization
+        </UL>
+    </UL>
+<P>
+<LI><B>Software Reference Manual</B>
+    <UL>
+    <LI>More class descriptions added.
+    </UL>
+</UL>
+  
+<!-- ============================================== Section --> 
+<BR><HR>
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 2.0 (July 2000) </H2>
+</FONT>
+<UL>
+<LI><B>Overview (Top Page)</B>
+    <UL>
+    <LI>Search engine installed.
+    </UL>
+<P>
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+    <UL>
+    <LI>Update sections: 1, 2, 3 
+    </UL>
+<P>
+<LI><B>User's Guide: For Application Developers</B>
+    <UL>
+    <LI>Updated sections: 2-2, 2-7, 2-10
+    <LI>Updated sections: 3-9, 3-10, 3-16(Previous/Next navigation
+        problem fixed), 3-17, 3-20(Many obosolte descriptions corrected)
+    <LI>Updated sections: 5-2, 5-7
+    </UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+    <UL>
+    <LI>Updated sections: Electromagnetic Interaction - Low Energy Extension
+        <UL>
+        <LI>Bremsstrahlung
+        <LI>Compton
+        <LI>Hadrons ionization
+        <LI>Ionisation
+        <LI>Ions
+        <LI>Overview
+        <LI>Photoelectric
+        <LI>Rayleigh
+        <LI>Relaxation
+        </UL>
+    <LI>Updated sections: Electromagnetic Interaction - Muon
+        <UL>
+        <LI>Bremsstrahlung
+        <LI>Photonuclear interaction
+        <LI>e+e- pair production
+        </UL>
+    </UL>
+<P>
+</UL>
+
+<!-- ============================================== Section --> 
+<BR><HR>
+<FONT COLOR="#238E23">
+<H2>Version: Geant4 1.0 (December 1999) </H2>
+</FONT>
+<UL>
+<LI><B>Introduction to Geant4</B>
+    <UL>
+    <LI>Updated.
+    </UL>
+<P>
+<LI><B>Installation Guide: For setting up Geant4 in your computing environment</B>
+    <UL>
+    <LI>Update sections: 1, 2, 3 
+    </UL>
+<P>
+<LI><B>User's Guide: For Application Developers</B>
+    <UL>
+    <LI>Updated sections: 2-1, 2-9, 2-10
+    <LI>Updated sections: 3-3, 3-4, 3-11, 3-12, 3-16, 3-17, 
+    <LI>Updated sections: Appendix-2, Appendix-6, Appendix-7 
+    </UL>
+<P>
+<LI><B>User's Guide: For Toolkit Developers</B>
+    <UL>
+    <LI>No modification.
+    </UL>
+<P>
+<LI><B>Physics Reference Manual</B>
+    <UL>
+    <LI>Updated sections: Electromagnetic Interaction - Low Energy Extension
+    </UL>
+<P>
+<LI><B>Software Reference Manual</B>
+    <UL>
+    <LI>Completely updated.
+    </UL>
+</UL>
+
+<!-- ============================================== Section --> 
+<BR><BR>
+<HR>
+<A HREF="../../Authors/html/subjectsToAuthors.html">
+<I>About the authors</I></A>
+
+</BODY>
+</HTML>
+
+
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/FAQ/html/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/FAQ/html/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/FAQ/html/index.html	(revision 901)
@@ -0,0 +1,30 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Frequentry Asked Questions</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Frequentry Asked Questions"><link rel="next" href="ch01.html" title="Chapter FAQ.  Frequentry Asked Questions"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
+  Frequentry Asked Questions
+  </th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div text-align="center"><h1 class="title"><a name="geant4_FAQ"></a>
+  Frequentry Asked Questions
+  </h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname">Geant4 Collaboration</span></h3></div></div></div><div text-align="center"><p class="releaseinfo">Version: geant4 9.1</p></div><div><p class="pubdate">14 December, 2007</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">FAQ. 
+Frequentry Asked Questions
+</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#qanda.Installation">FAQ.1. 
+Installation
+</a></span></dt><dt><span class="section"><a href="ch01s02.html">FAQ.2. 
+Run Time Problems
+</a></span></dt><dt><span class="section"><a href="ch01s03.html">FAQ.3. 
+Geometry
+</a></span></dt><dt><span class="section"><a href="ch01s04.html">FAQ.4. 
+Tracks and steps
+</a></span></dt><dt><span class="section"><a href="ch01s05.html">FAQ.5. 
+Physics and cuts
+</a></span></dt><dt><span class="section"><a href="ch01s06.html">FAQ.6. 
+Visualization
+</a></span></dt><dt><span class="section"><a href="ch01s07.html">FAQ.7. 
+User Support Policy
+</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter FAQ. 
+Frequentry Asked Questions
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_.html	(revision 901)
@@ -0,0 +1,35 @@
+<html><head><title>Commands in /</title></head>
+<body bgcolor="#ffffff"><h2>/</h2><p>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_control_.html">/control/</a>
+<p><dd>UI control commands.
+<p><br><p><dt><a href="_units_.html">/units/</a>
+<p><dd>Available units.
+<p><br><p><dt><a href="_geometry_.html">/geometry/</a>
+<p><dd>Geometry control commands.
+<p><br><p><dt><a href="_tracking_.html">/tracking/</a>
+<p><dd>TrackingManager and SteppingManager control commands.
+<p><br><p><dt><a href="_event_.html">/event/</a>
+<p><dd>EventManager control commands.
+<p><br><p><dt><a href="_run_.html">/run/</a>
+<p><dd>Run control commands.
+<p><br><p><dt><a href="_random_.html">/random/</a>
+<p><dd>Random number status control commands.
+<p><br><p><dt><a href="_particle_.html">/particle/</a>
+<p><dd>Particle control commands.
+<p><br><p><dt><a href="_process_.html">/process/</a>
+<p><dd>Process Table control commands.
+<p><br><p><dt><a href="_vis_.html">/vis/</a>
+<p><dd>Visualization commands.
+<p><br><p><dt><a href="_hits_.html">/hits/</a>
+<p><dd>Sensitive detectors and Hits
+<p><br><p><dt><a href="_gun_.html">/gun/</a>
+<p><dd>Particle Gun control commands.
+<p><br><p><dt><a href="_score_.html">/score/</a>
+<p><dd>Interactive scoring commands.
+<p><br><p><dt><a href="_material_.html">/material/</a>
+<p><dd>Commands for materials
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_control_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_control_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_control_.html	(revision 901)
@@ -0,0 +1,155 @@
+<html><head><title>Commands in /control/</title></head>
+<body bgcolor="#ffffff"><h2>/control/</h2><p>
+UI control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>execute [<i>fileName</i>]</b>
+<p><dd>
+Execute a macro file.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>loop [<i>macroFile</i>] [<i>counterName</i>] [<i>initialValue</i>] [<i>finalValue</i>] [<i>stepSize</i>]</b>
+<p><dd>
+Execute a macro file more than once.<br>
+Loop counter can be used as an aliased variable.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>macroFile
+<td>type s
+<td><td><tr><td>counterName
+<td>type s
+<td><td><tr><td>initialValue
+<td>type d
+<td><td><tr><td>finalValue
+<td>type d
+<td><td><tr><td>stepSize
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>foreach [<i>macroFile</i>] [<i>counterName</i>] [<i>valueList</i>]</b>
+<p><dd>
+Execute a macro file more than once.<br>
+Loop counter can be used as an aliased variable.<br>
+Values must be separated by a space.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>macroFile
+<td>type s
+<td><td><tr><td>counterName
+<td>type s
+<td><td><tr><td>valueList
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>suppressAbortion [<i>level</i>]</b>
+<p><dd>
+Suppress the program abortion caused by G4Exception.<br>
+Suppression level = 0 : no suppression<br>
+                  = 1 : suppress during EventProc state<br>
+                  = 2 : full suppression, i.e. no abortion by G4Exception<br>
+When abortion is suppressed, you will get error messages issued by G4Exception,<br>
+and there is NO guarantee for the correct result after the G4Exception error message.<br>
+<p><dd>Range : level &gt;= 0 &amp;&amp; level &lt;= 2
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>level
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>verbose [<i>switch</i>]</b>
+<p><dd>
+Applied command will also be shown on screen.<br>
+This command is useful with MACRO file.<br>
+  0 : silent<br>
+  1 : only the valid commands are shown.<br>
+  2 : comment lines are also shown (default).<br>
+<p><dd>Range : switch &gt;= 0 &amp;&amp; switch &lt;=2
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>switch
+<td>type i
+<td>Omittable : default value = 2
+<td></table>
+<p><br><p><dt><b>saveHistory [<i>fileName</i>]</b>
+<p><dd>
+Store command history to a file.<br>
+Defaul file name is G4history.macro.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td>Omittable : default value = G4History.macro
+<td></table>
+<p><br><p><dt><b>stopSavingHistory</b>
+<p><dd>
+Stop saving history file.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>alias [<i>aliasName</i>] [<i>aliasValue</i>]</b>
+<p><dd>
+Set an alias.<br>
+String can be aliased by this command.<br>
+The string may contain one or more spaces,<br>
+the string must be enclosed by double quotes (").<br>
+To use an alias, enclose the alias name with<br>
+parenthis "{" and "}".<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>aliasName
+<td>type s
+<td><td><tr><td>aliasValue
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>unalias [<i>aliasName</i>]</b>
+<p><dd>
+Remove an alias.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>aliasName
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>listAlias</b>
+<p><dd>
+List aliases.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>shell [<i></i>]</b>
+<p><dd>
+Execute a (Unix) SHELL command.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>manual [<i>dirPath</i>]</b>
+<p><dd>
+Display all of sub-directories and commands.<br>
+Directory path should be given by FULL-PATH.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dirPath
+<td>type s
+<td>Omittable : default value = /
+<td></table>
+<p><br><p><dt><b>createHTML [<i>dirPath</i>]</b>
+<p><dd>
+Generate HTML files for all of sub-directories and commands.<br>
+Directory path should be given by FULL-PATH.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>dirPath
+<td>type s
+<td>Omittable : default value = /
+<td></table>
+<p><br><p><dt><b>maximumStoredHistory [<i>max</i>]</b>
+<p><dd>
+Set maximum number of stored UI commands.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>max
+<td>type i
+<td>Omittable : default value = 20
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_event_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_event_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_event_.html	(revision 901)
@@ -0,0 +1,26 @@
+<html><head><title>Commands in /event/</title></head>
+<body bgcolor="#ffffff"><h2>/event/</h2><p>
+EventManager control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_event_stack_.html">/event/stack/</a>
+<p><dd>Stack control commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>abort</b>
+<p><dd>
+Abort current event.<br>
+<p><dd>Available Geant4 state(s) : EventProc 
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set Verbose level of event management category.<br>
+ 0 : Silent<br>
+ 1 : Stacking information<br>
+ 2 : More...<br>
+<p><dd>Range : level&gt;=0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>level
+<td>type i
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_geometry_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_geometry_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_geometry_.html	(revision 901)
@@ -0,0 +1,12 @@
+<html><head><title>Commands in /geometry/</title></head>
+<body bgcolor="#ffffff"><h2>/geometry/</h2><p>
+Geometry control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_geometry_navigator_.html">/geometry/navigator/</a>
+<p><dd>Geometry navigator control setup.
+<p><br><p><dt><a href="_geometry_test_.html">/geometry/test/</a>
+<p><dd>Geometry verification control setup.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_gun_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_gun_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_gun_.html	(revision 901)
@@ -0,0 +1,134 @@
+<html><head><title>Commands in /gun/</title></head>
+<body bgcolor="#ffffff"><h2>/gun/</h2><p>
+Particle Gun control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>List</b>
+<p><dd>
+List available particles.<br>
+ Invoke G4ParticleTable.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>particle [<i>particleName</i>]</b>
+<p><dd>
+Set particle to be generated.<br>
+ (geantino is default)<br>
+ (ion can be specified for shooting ions)<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>particleName
+<td>type s
+<td>Omittable : default value = geantino
+<td>Parameter candidates : B+ B- B0 Bs0 D+ D- D0 Ds+ Ds- GenericIon He3 J/psi N(1440)+ N(1440)0 N(1520)+ N(1520)0 N(1535)+ N(1535)0 N(1650)+ N(1650)0 N(1675)+ N(1675)0 N(1680)+ N(1680)0 N(1700)+ N(1700)0 N(1710)+ N(1710)0 N(1720)+ N(1720)0 N(1900)+ N(1900)0 N(1990)+ N(1990)0 N(2090)+ N(2090)0 N(2190)+ N(2190)0 N(2220)+ N(2220)0 N(2250)+ N(2250)0 a0(1450)+ a0(1450)- a0(1450)0 a0(980)+ a0(980)- a0(980)0 a1(1260)+ a1(1260)- a1(1260)0 a2(1320)+ a2(1320)- a2(1320)0 alpha anti_B0 anti_Bs0 anti_D0 anti_N(1440)+ anti_N(1440)0 anti_N(1520)+ anti_N(1520)0 anti_N(1535)+ anti_N(1535)0 anti_N(1650)+ anti_N(1650)0 anti_N(1675)+ anti_N(1675)0 anti_N(1680)+ anti_N(1680)0 anti_N(1700)+ anti_N(1700)0 anti_N(1710)+ anti_N(1710)0 anti_N(1720)+ anti_N(1720)0 anti_N(1900)+ anti_N(1900)0 anti_N(1990)+ anti_N(1990)0 anti_N(2090)+ anti_N(2090)0 anti_N(2190)+ anti_N(2190)0 anti_N(2220)+ anti_N(2220)0 anti_N(2250)+ anti_N(2250)0 anti_b_quark anti_c_quark anti_d_quark anti_dd1_diquark anti_delta(1600)+ anti_delta(1600)++ anti_delta(1600)- anti_delta(1600)0 anti_delta(1620)+ anti_delta(1620)++ anti_delta(1620)- anti_delta(1620)0 anti_delta(1700)+ anti_delta(1700)++ anti_delta(1700)- anti_delta(1700)0 anti_delta(1900)+ anti_delta(1900)++ anti_delta(1900)- anti_delta(1900)0 anti_delta(1905)+ anti_delta(1905)++ anti_delta(1905)- anti_delta(1905)0 anti_delta(1910)+ anti_delta(1910)++ anti_delta(1910)- anti_delta(1910)0 anti_delta(1920)+ anti_delta(1920)++ anti_delta(1920)- anti_delta(1920)0 anti_delta(1930)+ anti_delta(1930)++ anti_delta(1930)- anti_delta(1930)0 anti_delta(1950)+ anti_delta(1950)++ anti_delta(1950)- anti_delta(1950)0 anti_delta+ anti_delta++ anti_delta- anti_delta0 anti_k(1460)0 anti_k0_star(1430)0 anti_k1(1270)0 anti_k1(1400)0 anti_k2(1770)0 anti_k2_star(1430)0 anti_k2_star(1980)0 anti_k3_star(1780)0 anti_k_star(1410)0 anti_k_star(1680)0 anti_k_star0 anti_kaon0 anti_lambda anti_lambda(1405) anti_lambda(1520) anti_lambda(1600) anti_lambda(1670) anti_lambda(1690) anti_lambda(1800) anti_lambda(1810) anti_lambda(1820) anti_lambda(1830) anti_lambda(1890) anti_lambda(2100) anti_lambda(2110) anti_lambda_c+ anti_neutron anti_nu_e anti_nu_mu anti_nu_tau anti_omega- anti_omega_c0 anti_proton anti_s_quark anti_sd0_diquark anti_sd1_diquark anti_sigma(1385)+ anti_sigma(1385)- anti_sigma(1385)0 anti_sigma(1660)+ anti_sigma(1660)- anti_sigma(1660)0 anti_sigma(1670)+ anti_sigma(1670)- anti_sigma(1670)0 anti_sigma(1750)+ anti_sigma(1750)- anti_sigma(1750)0 anti_sigma(1775)+ anti_sigma(1775)- anti_sigma(1775)0 anti_sigma(1915)+ anti_sigma(1915)- anti_sigma(1915)0 anti_sigma(1940)+ anti_sigma(1940)- anti_sigma(1940)0 anti_sigma(2030)+ anti_sigma(2030)- anti_sigma(2030)0 anti_sigma+ anti_sigma- anti_sigma0 anti_sigma_c+ anti_sigma_c++ anti_sigma_c0 anti_ss1_diquark anti_su0_diquark anti_su1_diquark anti_t_quark anti_u_quark anti_ud0_diquark anti_ud1_diquark anti_uu1_diquark anti_xi(1530)- anti_xi(1530)0 anti_xi(1690)- anti_xi(1690)0 anti_xi(1820)- anti_xi(1820)0 anti_xi(1950)- anti_xi(1950)0 anti_xi(2030)- anti_xi(2030)0 anti_xi- anti_xi0 anti_xi_c+ anti_xi_c0 b1(1235)+ b1(1235)- b1(1235)0 b_quark c_quark chargedgeantino d_quark dd1_diquark delta(1600)+ delta(1600)++ delta(1600)- delta(1600)0 delta(1620)+ delta(1620)++ delta(1620)- delta(1620)0 delta(1700)+ delta(1700)++ delta(1700)- delta(1700)0 delta(1900)+ delta(1900)++ delta(1900)- delta(1900)0 delta(1905)+ delta(1905)++ delta(1905)- delta(1905)0 delta(1910)+ delta(1910)++ delta(1910)- delta(1910)0 delta(1920)+ delta(1920)++ delta(1920)- delta(1920)0 delta(1930)+ delta(1930)++ delta(1930)- delta(1930)0 delta(1950)+ delta(1950)++ delta(1950)- delta(1950)0 delta+ delta++ delta- delta0 deuteron e+ e- eta eta(1295) eta(1440) eta2(1645) eta2(1870) eta_prime f0(1370) f0(400-1200) f0(980) f1(1285) f1(1420) f2(1270) f2(1810) f2(2010) f2_prime(1525) gamma geantino gluon h1(1170) h1(1380) k(1460)+ k(1460)- k(1460)0 k0_star(1430)+ k0_star(1430)- k0_star(1430)0 k1(1270)+ k1(1270)- k1(1270)0 k1(1400)+ k1(1400)- k1(1400)0 k2(1770)+ k2(1770)- k2(1770)0 k2_star(1430)+ k2_star(1430)- k2_star(1430)0 k2_star(1980)+ k2_star(1980)- k2_star(1980)0 k3_star(1780)+ k3_star(1780)- k3_star(1780)0 k_star(1410)+ k_star(1410)- k_star(1410)0 k_star(1680)+ k_star(1680)- k_star(1680)0 k_star+ k_star- k_star0 kaon+ kaon- kaon0 kaon0L kaon0S lambda lambda(1405) lambda(1520) lambda(1600) lambda(1670) lambda(1690) lambda(1800) lambda(1810) lambda(1820) lambda(1830) lambda(1890) lambda(2100) lambda(2110) lambda_c+ mu+ mu- neutron nu_e nu_mu nu_tau omega omega(1420) omega(1600) omega- omega3(1670) omega_c0 phi phi(1680) phi3(1850) pi(1300)+ pi(1300)- pi(1300)0 pi+ pi- pi0 pi2(1670)+ pi2(1670)- pi2(1670)0 proton rho(1450)+ rho(1450)- rho(1450)0 rho(1700)+ rho(1700)- rho(1700)0 rho+ rho- rho0 rho3(1690)+ rho3(1690)- rho3(1690)0 s_quark sd0_diquark sd1_diquark sigma(1385)+ sigma(1385)- sigma(1385)0 sigma(1660)+ sigma(1660)- sigma(1660)0 sigma(1670)+ sigma(1670)- sigma(1670)0 sigma(1750)+ sigma(1750)- sigma(1750)0 sigma(1775)+ sigma(1775)- sigma(1775)0 sigma(1915)+ sigma(1915)- sigma(1915)0 sigma(1940)+ sigma(1940)- sigma(1940)0 sigma(2030)+ sigma(2030)- sigma(2030)0 sigma+ sigma- sigma0 sigma_c+ sigma_c++ sigma_c0 ss1_diquark su0_diquark su1_diquark t_quark tau+ tau- triton u_quark ud0_diquark ud1_diquark uu1_diquark xi(1530)- xi(1530)0 xi(1690)- xi(1690)0 xi(1820)- xi(1820)0 xi(1950)- xi(1950)0 xi(2030)- xi(2030)0 xi- xi0 xi_c+ xi_c0 ion 
+</table>
+<p><br><p><dt><b>direction [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>]</b>
+<p><dd>
+Set momentum direction.<br>
+Direction needs not to be a unit vector.<br>
+<p><dd>Range : Px != 0 || Py != 0 || Pz != 0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Px
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Py
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Pz
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>energy [<i>Energy</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set kinetic energy.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Energy
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = GeV
+<td>Parameter candidates : eV keV MeV GeV TeV PeV J electronvolt kiloelectronvolt megaelectronvolt gigaelectronvolt teraelectronvolt petaelectronvolt joule
+</table>
+<p><br><p><dt><b>position [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set starting position of the particle.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>X
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Y
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Z
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = cm
+<td>Parameter candidates : pc km m cm mm mum nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>time [<i>t0</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set initial time of the particle.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>t0
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = ns
+<td>Parameter candidates : s ms mus ns ps second millisecond microsecond nanosecond picosecond
+</table>
+<p><br><p><dt><b>polarization [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>]</b>
+<p><dd>
+Set polarization.<br>
+<p><dd>Range : Px&gt;=-1.&amp;&amp;Px&lt;=1.&amp;&amp;Py&gt;=-1.&amp;&amp;Py&lt;=1.&amp;&amp;Pz&gt;=-1.&amp;&amp;Pz&lt;=1.
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Px
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Py
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Pz
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>number [<i>N</i>]</b>
+<p><dd>
+Set number of particles to be generated.<br>
+<p><dd>Range : N&gt;0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>N
+<td>type i
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>ion [<i>Z</i>] [<i>A</i>] [<i>Q</i>] [<i>E</i>]</b>
+<p><dd>
+Set properties of ion to be generated.<br>
+[usage] /gun/ion Z A Q<br>
+        Z:(int) AtomicNumber<br>
+        A:(int) AtomicMass<br>
+        Q:(int) Charge of Ion (in unit of e)<br>
+        E:(double) Excitation energy (in keV)<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Z
+<td>type i
+<td><td><tr><td>A
+<td>type i
+<td><td><tr><td>Q
+<td>type i
+<td>Omittable : default value = 0
+<td><tr><td>E
+<td>type d
+<td>Omittable : default value = 0.0
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_hits_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_hits_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_hits_.html	(revision 901)
@@ -0,0 +1,38 @@
+<html><head><title>Commands in /hits/</title></head>
+<body bgcolor="#ffffff"><h2>/hits/</h2><p>
+Sensitive detectors and Hits<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list</b>
+<p><dd>
+List sensitive detector tree.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>activate [<i>detector</i>]</b>
+<p><dd>
+Activate sensitive detector(s).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>detector
+<td>type s
+<td>Omittable : default value = /
+<td></table>
+<p><br><p><dt><b>inactivate [<i>detector</i>]</b>
+<p><dd>
+Inactivate sensitive detector(s).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>detector
+<td>type s
+<td>Omittable : default value = /
+<td></table>
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set the Verbose level.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>level
+<td>type i
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_particle_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_particle_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_particle_.html	(revision 901)
@@ -0,0 +1,39 @@
+<html><head><title>Commands in /particle/</title></head>
+<body bgcolor="#ffffff"><h2>/particle/</h2><p>
+Particle control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_particle_property_.html">/particle/property/</a>
+<p><dd>Paricle Table control commands.
+<p><br><p><dt><a href="_particle_process_.html">/particle/process/</a>
+<p><dd>Process Manager control commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>select [<i>particle name</i>]</b>
+<p><dd>
+Select particle <br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>particle name
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>list [<i>particle type</i>]</b>
+<p><dd>
+List name of particles.<br>
+ all(default)/lepton/baryon/meson/nucleus/quarks<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>particle type
+<td>type s
+<td>Omittable : default value = all
+<td>Parameter candidates : all lepton baryon meson nucleus quarks
+</table>
+<p><br><p><dt><b>find [<i>encoding</i>]</b>
+<p><dd>
+Find particle by encoding<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>encoding
+<td>type i
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_process_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_process_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_process_.html	(revision 901)
@@ -0,0 +1,106 @@
+<html><head><title>Commands in /process/</title></head>
+<body bgcolor="#ffffff"><h2>/process/</h2><p>
+Process Table control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_process_eLoss_.html">/process/eLoss/</a>
+<p><dd>Commands for G4VEnergyLoss.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list [<i>type</i>]</b>
+<p><dd>
+List up process names<br>
+  list [type] <br>
+    type: process type [all:for all proceeses]<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>type
+<td>type s
+<td>Omittable : default value = all
+<td>Parameter candidates : all NotDefined Transportation Electromagnetic Optical Hadronic Photolepton_hadron Decay General Parameterisation UserDefined
+</table>
+<p><br><p><dt><b>verbose [<i>verbose</i>]</b>
+<p><dd>
+Set Verbose Level for Process Table<br>
+  verbose [level]<br>
+   level: verbose level<br>
+<p><dd>Range : verbose &gt;=0
+<p><dd>Available Geant4 state(s) : PreInit 
+Init 
+Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>verbose
+<td>type i
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>setVerbose [<i>verbose</i>] [<i>type</i>]</b>
+<p><dd>
+Set verbose level for processes<br>
+  setVerbose level [type or name] <br>
+    level: verbose level <br>
+    name : process name <br>
+    type : process type <br>
+       [all] for all proceeses <br>
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>verbose
+<td>type i
+<td><td><tr><td>type
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>dump [<i>procName</i>] [<i>particle</i>]</b>
+<p><dd>
+Dump process information<br>
+ dump name [particle]<br>
+   name:     process name or type name<br>
+   particle: particle name [all: for all particles]<br>
+<p><dd>Available Geant4 state(s) : Init 
+Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>procName
+<td>type s
+<td><td><tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>activate [<i>procName</i>] [<i>particle</i>]</b>
+<p><dd>
+Activate processes  <br>
+ Activate  name [particle]<br>
+   name:     process name or type name<br>
+   particle: particle name [all: for all particles]<br>
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>procName
+<td>type s
+<td><td><tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>inactivate [<i>procName</i>] [<i>particle</i>]</b>
+<p><dd>
+Inactivate process  <br>
+Inactivate processes  <br>
+ Inactivate  name [particle]<br>
+   name:     process name or type name<br>
+   particle: particle name [all: for all particles]<br>
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>procName
+<td>type s
+<td><td><tr><td>particle
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_random_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_random_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_random_.html	(revision 901)
@@ -0,0 +1,54 @@
+<html><head><title>Commands in /random/</title></head>
+<body bgcolor="#ffffff"><h2>/random/</h2><p>
+Random number status control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>setDirectoryName [<i>fileName</i>]</b>
+<p><dd>
+Define the directory name of the rndm status files.<br>
+Directory must be creates before storing the files.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td>Omittable : default value = ./
+<td></table>
+<p><br><p><dt><b>setSavingFlag [<i>flag</i>]</b>
+<p><dd>
+The randomNumberStatus will be saved at :<br>
+begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) <br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>saveThisRun</b>
+<p><dd>
+copy currentRun.rndm to runXXX.rndm<br>
+<p><dd>Available Geant4 state(s) : Idle 
+GeomClosed 
+EventProc 
+<p><br><p><dt><b>saveThisEvent</b>
+<p><dd>
+copy currentEvent.rndm to runXXXevtYYY.rndm<br>
+<p><dd>Available Geant4 state(s) : EventProc 
+<p><br><p><dt><b>resetEngineFrom [<i>fileName</i>]</b>
+<p><dd>
+Reset the status of the rndm engine from a file.<br>
+See CLHEP manual for detail.<br>
+The engine status must be stored beforehand.<br>
+Directory of the status file should be set by /random/setDirectoryName.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td>Omittable : default value = currentRun.rndm
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_run_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_run_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_run_.html	(revision 901)
@@ -0,0 +1,232 @@
+<html><head><title>Commands in /run/</title></head>
+<body bgcolor="#ffffff"><h2>/run/</h2><p>
+Run control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_run_particle_.html">/run/particle/</a>
+<p><dd>Commands for G4VUserPhysicsList.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>initialize</b>
+<p><dd>
+Initialize G4 kernel.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><br><p><dt><b>beamOn [<i>numberOfEvent</i>] [<i>macroFile</i>] [<i>nSelect</i>]</b>
+<p><dd>
+Start a Run.<br>
+If G4 kernel is not initialized, it will be initialized.<br>
+Default number of events to be processed is 1.<br>
+The second and third arguments can be used for<br>
+executing a macro file at the end of each event.<br>
+If the second argument, i.e. name of the macro<br>
+file, is given but the third argument is not,<br>
+the macro file will be executed for all of the<br>
+event.<br>
+If the third argument (nSelect) is given, the<br>
+macro file will be executed only for the first<br>
+nSelect events.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>numberOfEvent
+<td>type i
+<td>Omittable : default value = 1
+<td>Parameter range : numberOfEvent &gt;= 0
+<tr><td>macroFile
+<td>type s
+<td>Omittable : default value = ***NULL***
+<td><tr><td>nSelect
+<td>type i
+<td>Omittable : default value = -1
+<td>Parameter range : nSelect&gt;=-1
+</table>
+<p><br><p><dt><b>verbose [<i>level</i>]</b>
+<p><dd>
+Set the Verbose level of G4RunManager.<br>
+ 0 : Silent (default)<br>
+ 1 : Display main topics<br>
+ 2 : Display main topics and run summary<br>
+<p><dd>Range : level &gt;=0 &amp;&amp; level &lt;=2
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>level
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>dumpRegion [<i>regionName</i>]</b>
+<p><dd>
+Dump region information.<br>
+In case name of a region is not given, all regions will be displayed.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>regionName
+<td>type s
+<td>Omittable : default value = **ALL**
+<td></table>
+<p><br><p><dt><b>dumpCouples</b>
+<p><dd>
+Dump material-cuts-couple information.<br>
+Note that material-cuts-couple information is updated<br>
+after BeamOn has started.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>optimizeGeometry [<i>optimizeFlag</i>]</b>
+<p><dd>
+Set the optimization flag for geometry.<br>
+If it is set to TRUE, G4GeometryManager will optimize<br>
+the geometry definitions.<br>
+GEANT4 is initialized with this flag as TRUE.<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>optimizeFlag
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>breakAtBeginOfEvent [<i>flag</i>]</b>
+<p><dd>
+Set a break point at the begining of every event.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>breakAtEndOfEvent [<i>flag</i>]</b>
+<p><dd>
+Set a break point at the end of every event.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>abort [<i>softAbort</i>]</b>
+<p><dd>
+Abort current run processing.<br>
+If softAbort is false (default), currently processing event will be immediately aborted,<br>
+while softAbort is true, abortion occurs after processing the current event.<br>
+<p><dd>Available Geant4 state(s) : GeomClosed 
+EventProc 
+<p><dd>Parameters<table border=1>
+<tr><td>softAbort
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>abortCurrentEvent</b>
+<p><dd>
+Abort currently processing event.<br>
+<p><dd>Available Geant4 state(s) : EventProc 
+<p><br><p><dt><b>geometryModified</b>
+<p><dd>
+Force geometry to be closed again.<br>
+This command must be applied<br>
+ if geometry has been modified after the<br>
+ first initialization (or BeamOn).<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><br><p><dt><b>physicsModified</b>
+<p><dd>
+Force all physics tables recalculated again.<br>
+This command must be applied<br>
+ if physics process has been modified after the<br>
+ first initialization (or BeamOn).<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><br><p><dt><b>cutoffModified</b>
+<p><dd>
+/run/cutoffModified becomes obsolete.<br>
+It is safe to remove invoking this command.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>constructScoringWorlds</b>
+<p><dd>
+Constrct scoring parallel world(s) if defined.<br>
+This command is not mandatory, but automatically called when a run starts.<br>
+But the user may use this to visualize the scoring world(s) before a run to start.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><br><p><dt><b>storeRndmStatToEvent [<i>flag</i>]</b>
+<p><dd>
+Flag to store rndm status to G4Event object.<br>
+ flag = 0 : not store (default)<br>
+ flag = 1 : status before primary particle generation is stored<br>
+ flag = 2 : status before event processing (after primary particle generation) is stored<br>
+ flag = 3 : both are stored<br>
+Note: Some performance overhead may be seen by storing rndm status, in particular<br>
+for the case of simplest geometry and small number of tracks per event.<br>
+<p><dd>Range : flag&gt;=0 &amp;&amp; flag&lt;3
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>randomNumberStatusDirectory [<i>fileName</i>]</b>
+<p><dd>
+Define the directory name of the rndm status files.<br>
+Directory must be creates before storing the files.<br>
+OBSOLETE --- Please use commands in /random/ directory<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td>Omittable : default value = ./
+<td></table>
+<p><br><p><dt><b>storeRandomNumberStatus [<i>flag</i>]</b>
+<p><dd>
+The randomNumberStatus will be saved at :<br>
+begining of run (currentRun.rndm) and begining of event (currentEvent.rndm) <br>
+OBSOLETE --- Please use commands in /random/ directory<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type i
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>restoreRandomNumberStatus [<i>fileName</i>]</b>
+<p><dd>
+Reset the status of the rndm engine from a file.<br>
+See CLHEP manual for detail.<br>
+The engine status must be stored beforehand.<br>
+Directory of the status file should be set by /random/setDirectoryName.<br>
+OBSOLETE --- Please use commands in /random/ directory<br>
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+GeomClosed 
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td>Omittable : default value = currentRun.rndm
+<td></table>
+<p><br><p><dt><b>setCut [<i>cut</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set default cut value <br>
+<p><dd>Range : cut &gt;0.0
+<p><dd>Available Geant4 state(s) : PreInit 
+Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>cut
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = mm
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>setCutForRegion [<i>Region</i>] [<i>cut</i>] [<i>Unit</i>]</b>
+<p><dd>
+Set cut value for a region<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>Region
+<td>type s
+<td><td><tr><td>cut
+<td>type d
+<td><td>Parameter range : cut &gt;0.0
+<tr><td>Unit
+<td>type s
+<td>Omittable : default value = mm
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_.html	(revision 901)
@@ -0,0 +1,113 @@
+<html><head><title>Commands in /score/</title></head>
+<body bgcolor="#ffffff"><h2>/score/</h2><p>
+Interactive scoring commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_score_mesh_.html">/score/mesh/</a>
+<p><dd>    Mesh processing commands.
+<p><br><p><dt><a href="_score_create_.html">/score/create/</a>
+<p><dd>  Mesh creation commands.
+<p><br><p><dt><a href="_score_colorMap_.html">/score/colorMap/</a>
+<p><dd>Color map commands.
+<p><br><p><dt><a href="_score_quantity_.html">/score/quantity/</a>
+<p><dd>Scoring quantity of the mesh.
+<p><br><p><dt><a href="_score_filter_.html">/score/filter/</a>
+<p><dd>  Scoring filter commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list</b>
+<p><dd>
+List scoring worlds.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>dump</b>
+<p><dd>
+Dump results of scorers.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>verbose [<i></i>]</b>
+<p><dd>
+Verbosity.<br>
+  0) errors or warnings,<br>
+  1) information with 0)<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>
+<td>type i
+<td><td></table>
+<p><br><p><dt><b>open [<i>MeshName</i>]</b>
+<p><dd>
+Open scoring mesh.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>MeshName
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>close</b>
+<p><dd>
+Close scoring mesh.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>drawProjection [<i>meshName</i>] [<i>psName</i>] [<i>colorMapName</i>] [<i>proj</i>]</b>
+<p><dd>
+Draw projection(s) of scored quantities.<br>
+Parameter &lt;proj&gt; specified which projection(s) to be drawn.<br>
+  100 : xy-plane, 010 : yz-place, 001 : zx-plane -- default 111<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>meshName
+<td>type s
+<td><td><tr><td>psName
+<td>type s
+<td><td><tr><td>colorMapName
+<td>type s
+<td>Omittable : default value = defaultLinearColorMap
+<td><tr><td>proj
+<td>type i
+<td>Omittable : default value = 111
+<td></table>
+<p><br><p><dt><b>drawColumn [<i>meshName</i>] [<i>psName</i>] [<i>plane</i>] [<i>column</i>] [<i>colorMapName</i>]</b>
+<p><dd>
+Draw a cell column.<br>
+ plane = 0 : xy, 1: yz, 2: zx<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>meshName
+<td>type s
+<td><td><tr><td>psName
+<td>type s
+<td><td><tr><td>plane
+<td>type i
+<td><td>Parameter range : plane&gt;=0 &amp;&amp; plane&lt;=2
+<tr><td>column
+<td>type i
+<td><td><tr><td>colorMapName
+<td>type s
+<td>Omittable : default value = defaultLinearColorMap
+<td></table>
+<p><br><p><dt><b>dumpQuantityToFile [<i>meshName</i>] [<i>psName</i>] [<i>fileName</i>] [<i>option</i>]</b>
+<p><dd>
+Dump one scored quantity to file.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>meshName
+<td>type s
+<td><td><tr><td>psName
+<td>type s
+<td><td><tr><td>fileName
+<td>type s
+<td><td><tr><td>option
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>dumpAllQuantitiesToFile [<i>meshName</i>] [<i>fileName</i>] [<i>option</i>]</b>
+<p><dd>
+Dump all quantities of the mesh to file.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>meshName
+<td>type s
+<td><td><tr><td>fileName
+<td>type s
+<td><td><tr><td>option
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_colorMap_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_colorMap_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_colorMap_.html	(revision 901)
@@ -0,0 +1,34 @@
+<html><head><title>Commands in /score/colorMap/</title></head>
+<body bgcolor="#ffffff"><h2>/score/colorMap/</h2><p>
+Color map commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>listScoreColorMaps</b>
+<p><dd>
+List registered score color maps.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>floatMinMax [<i>colorMapName</i>]</b>
+<p><dd>
+Min/Max of the color map is calculated accorging to the actual scores.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>colorMapName
+<td>type s
+<td>Omittable : default value = defaultLinearColorMap
+<td></table>
+<p><br><p><dt><b>setMinMax [<i>colorMapMame</i>] [<i>minValue</i>] [<i>maxValue</i>]</b>
+<p><dd>
+Define min/max value of the color map.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>colorMapMame
+<td>type s
+<td>Omittable : default value = defaultLinearColorMap
+<td><tr><td>minValue
+<td>type d
+<td><td><tr><td>maxValue
+<td>type d
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_create_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_create_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_create_.html	(revision 901)
@@ -0,0 +1,16 @@
+<html><head><title>Commands in /score/create/</title></head>
+<body bgcolor="#ffffff"><h2>/score/create/</h2><p>
+  Mesh creation commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>boxMesh [<i>MeshName</i>]</b>
+<p><dd>
+Create scoring box mesh.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>MeshName
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_filter_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_filter_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_filter_.html	(revision 901)
@@ -0,0 +1,81 @@
+<html><head><title>Commands in /score/filter/</title></head>
+<body bgcolor="#ffffff"><h2>/score/filter/</h2><p>
+  Scoring filter commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>charged [<i>fname</i>]</b>
+<p><dd>
+Charged particle filter.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>neutral [<i>fname</i>]</b>
+<p><dd>
+Neutral particle filter.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>kineticEnergy [<i>fname</i>] [<i>elow</i>] [<i>ehigh</i>] [<i>unit</i>]</b>
+<p><dd>
+Kinetic energy filter.<br>
+[usage] /score/filter/kineticEnergy fname Elow Ehigh unit<br>
+  fname     :(String) Filter Name <br>
+  Elow      :(Double) Lower edge of kinetic energy<br>
+  Ehigh     :(Double) Higher edge of kinetic energy<br>
+  unit      :(String) unit of given kinetic energy<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fname
+<td>type s
+<td><td><tr><td>elow
+<td>type d
+<td>Omittable : default value = 0.0
+<td><tr><td>ehigh
+<td>type d
+<td><td><tr><td>unit
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>particle [<i>fname</i>] [<i>particlelist</i>]</b>
+<p><dd>
+Particle filter.<br>
+[usage] /score/filter/particle fname p0 .. pn<br>
+  fname     :(String) Filter Name <br>
+  p0 .. pn  :(String) particle names<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fname
+<td>type s
+<td><td><tr><td>particlelist
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>particleWithKineticEnergy [<i>fname</i>] [<i>elow</i>] [<i>ehigh</i>] [<i>unit</i>] [<i>particlelist</i>]</b>
+<p><dd>
+Particle with kinetic energy filter.<br>
+[usage] /score/filter/particleWithKineticEnergy fname Elow Ehigh unit p0 .. pn<br>
+  fname     :(String) Filter Name <br>
+  Elow      :(Double) Lower edge of kinetic energy<br>
+  Ehigh     :(Double) Higher edge of kinetic energy<br>
+  unit      :(String) unit of given kinetic energy<br>
+  p0 .. pn  :(String) particle names<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>fname
+<td>type s
+<td><td><tr><td>elow
+<td>type d
+<td><td><tr><td>ehigh
+<td>type d
+<td>Omittable : default value = 1.79769e+308
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = keV
+<td><tr><td>particlelist
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_mesh_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_mesh_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_mesh_.html	(revision 901)
@@ -0,0 +1,48 @@
+<html><head><title>Commands in /score/mesh/</title></head>
+<body bgcolor="#ffffff"><h2>/score/mesh/</h2><p>
+    Mesh processing commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_score_mesh_translate_.html">/score/mesh/translate/</a>
+<p><dd>Mesh translation commands.
+<p><br><p><dt><a href="_score_mesh_rotate_.html">/score/mesh/rotate/</a>
+<p><dd>Mesh rotation commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>boxSize [<i>Di</i>] [<i>Dj</i>] [<i>Dk</i>] [<i>Unit</i>]</b>
+<p><dd>
+Define size of the scoring mesh.<br>
+<p><dd>Range : Di&gt;0. &amp;&amp; Dj&gt;0. &amp;&amp; Dk&gt;0.
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Di
+<td>type d
+<td><td><tr><td>Dj
+<td>type d
+<td><td><tr><td>Dk
+<td>type d
+<td><td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = mm
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>nBin [<i>Ni</i>] [<i>Nj</i>] [<i>Nk</i>]</b>
+<p><dd>
+Define segments of the scoring mesh.<br>
+[usage] /score/mesh/nBin<br>
+  Ni  :(int) Number of bins i <br>
+  Nj  :(int) Number of bins j <br>
+  Nk  :(int) Number of bins k <br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Ni
+<td>type i
+<td><td>Parameter range : Ni&gt;0
+<tr><td>Nj
+<td>type i
+<td><td>Parameter range : Nj&gt;0
+<tr><td>Nk
+<td>type i
+<td><td>Parameter range : Nk&gt;0
+</table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_quantity_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_quantity_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_score_quantity_.html	(revision 901)
@@ -0,0 +1,227 @@
+<html><head><title>Commands in /score/quantity/</title></head>
+<body bgcolor="#ffffff"><h2>/score/quantity/</h2><p>
+Scoring quantity of the mesh.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>touch [<i>qname</i>]</b>
+<p><dd>
+Assign previously defined quantity to the current quantity.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>energyDeposit [<i>qname</i>]</b>
+<p><dd>
+Energy deposit scorer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>cellCharge [<i>qname</i>]</b>
+<p><dd>
+Cell charge scorer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>cellFlux [<i>qname</i>]</b>
+<p><dd>
+Cell flux scorer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>passageCellFlux [<i>qname</i>]</b>
+<p><dd>
+Passage cell flux scorer<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>doseDeposit [<i>qname</i>]</b>
+<p><dd>
+Dose deposit scorer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>nOfStep [<i>qname</i>]</b>
+<p><dd>
+Number of step scorer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>nOfSecondary [<i>qname</i>]</b>
+<p><dd>
+Number of secondary scorer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>trackLength [<i>qname</i>] [<i>wflag</i>] [<i>kflag</i>] [<i>vflag</i>]</b>
+<p><dd>
+Track length scorer.<br>
+[usage] /score/quantiy/trackLength qname wflag kflag vflag <br>
+  qname  :(String) scorer name<br>
+  wflag  :(Bool) weighted<br>
+  kflag  :(Bool) multiply kinetic energy<br>
+  vflag  :(Bool) divide by velocity<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = false
+<td><tr><td>kflag
+<td>type b
+<td>Omittable : default value = false
+<td><tr><td>vflag
+<td>type b
+<td>Omittable : default value = false
+<td></table>
+<p><br><p><dt><b>passageCellCurrent [<i>qname</i>] [<i>wflag</i>]</b>
+<p><dd>
+Passage cell current scorer.<br>
+[usage] /score/quantiy/passageCellCurrent qname wflag<br>
+  qname  :(String) scorer name<br>
+  wflag  :(Bool) weighted<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = true
+<td></table>
+<p><br><p><dt><b>passageTrackLength [<i>qname</i>] [<i>wflag</i>]</b>
+<p><dd>
+Passage track length scorer.<br>
+[usage] /score/quantiy/passageTrackLength qname wflag<br>
+  qname  :(String) scorer name<br>
+  wflag  :(Bool) weighted<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = true
+<td></table>
+<p><br><p><dt><b>flatSurfaceCurrent [<i>qname</i>] [<i>dflag</i>] [<i>wflag</i>] [<i>aflag</i>]</b>
+<p><dd>
+Flat surface current Scorer.<br>
+[usage] /score/quantiy/flatSurfaceCurrent qname dflag wflag aflag<br>
+  qname  :(String) scorer name<br>
+  dflag  :(Int) direction flag<br>
+         : 0 = Both In and Out<br>
+         : 1 = In only<br>
+         : 2 = Out only<br>
+  wflag  :(Bool) weighted<br>
+  aflag  :(Bool) divide by area<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>dflag
+<td>type i
+<td>Omittable : default value = 0
+<td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = true
+<td><tr><td>aflag
+<td>type b
+<td>Omittable : default value = true
+<td></table>
+<p><br><p><dt><b>flatSurfaceFlux [<i>qname</i>] [<i>dflag</i>]</b>
+<p><dd>
+Flat surface flux scorer.<br>
+[usage] /score/quantiy/flatSurfaceFlux qname dflag<br>
+  qname  :(String) scorer name<br>
+  dflag  :(Int) direction flag<br>
+         : 0 = Both In and Out<br>
+         : 1 = In only<br>
+         : 2 = Out only<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>dflag
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>nOfCollision [<i>qname</i>] [<i>wflag</i>]</b>
+<p><dd>
+Number of collision scorer.<br>
+[usage] /score/quantiy/nOfCollision qname wflag<br>
+  qname  :(String) scorer name<br>
+  wflag  :(Bool) weighted<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = false
+<td></table>
+<p><br><p><dt><b>population [<i>qname</i>] [<i>wflag</i>]</b>
+<p><dd>
+Population scorer.<br>
+[usage] /score/quantiy/population qname wflag<br>
+  qname  :(String) scorer name<br>
+  wflag  :(Bool) weighted<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = false
+<td></table>
+<p><br><p><dt><b>nOfTrack [<i>qname</i>] [<i>dflag</i>] [<i>wflag</i>]</b>
+<p><dd>
+Number of track scorer.<br>
+[usage] /score/quantiy/nOfTrack qname dflag wflag<br>
+  qname  :(String) scorer name<br>
+  dflag  :(Int) direction<br>
+         : 0 = Both In and Out<br>
+         : 1 = In only<br>
+         : 2 = Out only<br>
+  wflag  :(Bool) weighted<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>dflag
+<td>type i
+<td>Omittable : default value = 0
+<td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = false
+<td></table>
+<p><br><p><dt><b>nOfTerminatedTrack [<i>qname</i>] [<i>wflag</i>]</b>
+<p><dd>
+Number of terminated tracks scorer.<br>
+[usage] /score/quantiy/nOfTerminatedTrack qname wflag<br>
+  qname  :(String) scorer name<br>
+  wflag  :(Bool) weighted<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>qname
+<td>type s
+<td><td><tr><td>wflag
+<td>type b
+<td>Omittable : default value = false
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_tracking_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_tracking_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_tracking_.html	(revision 901)
@@ -0,0 +1,51 @@
+<html><head><title>Commands in /tracking/</title></head>
+<body bgcolor="#ffffff"><h2>/tracking/</h2><p>
+TrackingManager and SteppingManager control commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>abort</b>
+<p><dd>
+Abort current G4Track processing.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>resume</b>
+<p><dd>
+Resume current G4Track processing.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>storeTrajectory [<i>Store</i>]</b>
+<p><dd>
+Store trajectories or not.<br>
+ 0 : Don't Store trajectories.<br>
+ !=0 : Store trajectories.<br>
+ 1 : Choose G4Trajectory as default.<br>
+ 2 : Choose G4SmoothTrajectory as default.<br>
+ 3 : Choose G4RichTrajectory as default.<br>
+<p><dd>Range : Store &gt;=0 &amp;&amp; Store &lt;= 3
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Store
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>verbose [<i>verbose_level</i>]</b>
+<p><dd>
+Set Verbose level of tracking category.<br>
+ -1 : Silent.<br>
+ 0 : Silent.<br>
+ 1 : Minium information of each Step.<br>
+ 2 : Addition to Level=1, info of secondary particles.<br>
+ 3 : Addition to Level=1, pre/postStepoint information<br>
+     after all AlongStep/PostStep process executions.<br>
+ 4 : Addition to Level=3, pre/postStepoint information<br>
+     at each AlongStepPostStep process execuation.<br>
+ 5 : Addition to Level=4, proposed Step length information<br>
+     from each AlongStepPostStep process.<br>
+<p><dd>Range : verbose_level &gt;=-1  
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>verbose_level
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_units_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_units_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_units_.html	(revision 901)
@@ -0,0 +1,12 @@
+<html><head><title>Commands in /units/</title></head>
+<body bgcolor="#ffffff"><h2>/units/</h2><p>
+Available units.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list</b>
+<p><dd>
+full list of available units.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_.html	(revision 901)
@@ -0,0 +1,197 @@
+<html><head><title>Commands in /vis/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/</h2><p>
+Visualization commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_ASCIITree_.html">/vis/ASCIITree/</a>
+<p><dd>Commands for ASCIITree control.
+<p><br><p><dt><a href="_vis_heprep_.html">/vis/heprep/</a>
+<p><dd>HepRep commands.
+<p><br><p><dt><a href="_vis_rayTracer_.html">/vis/rayTracer/</a>
+<p><dd>RayTracer commands.
+<p><br><p><dt><a href="_vis_ogl_.html">/vis/ogl/</a>
+<p><dd>G4OpenGLViewer commands.
+<p><br><p><dt><a href="_vis_oglxm_.html">/vis/oglxm/</a>
+<p><dd>G4OpenGLXmViewer commands.
+<p><br><p><dt><a href="_vis_modeling_.html">/vis/modeling/</a>
+<p><dd>Modeling commands.
+<p><br><p><dt><a href="_vis_filtering_.html">/vis/filtering/</a>
+<p><dd>Filtering commands.
+<p><br><p><dt><a href="_vis_geometry_.html">/vis/geometry/</a>
+<p><dd>Operations on vis attributes of Geant4 geometry.
+<p><br><p><dt><a href="_vis_scene_.html">/vis/scene/</a>
+<p><dd>Operations on Geant4 scenes.
+<p><br><p><dt><a href="_vis_sceneHandler_.html">/vis/sceneHandler/</a>
+<p><dd>Operations on Geant4 scene handlers.
+<p><br><p><dt><a href="_vis_viewer_.html">/vis/viewer/</a>
+<p><dd>Operations on Geant4 viewers.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>abortReviewKeptEvents [<i>abort</i>]</b>
+<p><dd>
+Abort review of kept events.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>abort
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>enable [<i>enabled</i>]</b>
+<p><dd>
+Enables/disables visualization system.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>enabled
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+<p><br><p><dt><b>disable</b>
+<p><dd>
+Disables visualization system.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>list [<i>verbosity</i>]</b>
+<p><dd>
+Lists visualization parameters.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>verbosity
+<td>type s
+<td>Omittable : default value = warnings
+<td></table>
+<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
+<p><dd>
+Simple graded message scheme - digit or string (1st character defines):<br>
+  0) quiet,         // Nothing is printed.<br>
+  1) startup,       // Startup and endup messages are printed...<br>
+  2) errors,        // ...and errors...<br>
+  3) warnings,      // ...and warnings...<br>
+  4) confirmations, // ...and confirming messages...<br>
+  5) parameters,    // ...and parameters of scenes and views...<br>
+  6) all            // ...and everything available.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>verbosity
+<td>type s
+<td>Omittable : default value = warnings
+<td></table>
+<p><br><p><dt><b>reviewKeptEvents [<i>macro-file-name</i>]</b>
+<p><dd>
+Review kept events.<br>
+If a macro file is specified, it is executed for each event.<br>
+If a macro file is not specified, each event is drawn to the current
+viewer.  After each event, the session is paused.  The user may issue
+any allowed command.  Then enter "cont[inue]" to continue to the next
+event.
+Useful commands might be:
+  "/vis/viewer/..." to change the view (zoom, set/viewpoint,...).
+  "/vis/oglx/printEPS" to get hard copy.
+  "/vis/open" to get alternative viewer.
+  "/vis/abortReviewKeptEvents", then "cont[inue]", to abort.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>macro-file-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>drawTree [<i>physical-volume-name</i>] [<i>system</i>]</b>
+<p><dd>
+(DTREE) Creates a scene consisting of this physical volume and
+  produces a representation of the geometry hieracrhy.<br>
+The scene becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>physical-volume-name
+<td>type s
+<td>Omittable : default value = world
+<td><tr><td>system
+<td>type s
+<td>Omittable : default value = ATree
+<td></table>
+<p><br><p><dt><b>drawView [<i>theta-degrees</i>] [<i>phi-degrees</i>] [<i>pan-right</i>] [<i>pan-up</i>] [<i>pan-unit</i>] [<i>zoom-factor</i>] [<i>dolly</i>] [<i>dolly-unit</i>]</b>
+<p><dd>
+Draw view from this angle, etc.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>theta-degrees
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>phi-degrees
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>pan-right
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>pan-up
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>pan-unit
+<td>type s
+<td>Omittable : default value = cm
+<td><tr><td>zoom-factor
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>dolly
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>dolly-unit
+<td>type s
+<td>Omittable : default value = cm
+<td></table>
+<p><br><p><dt><b>drawVolume [<i>physical-volume-name</i>]</b>
+<p><dd>
+Creates a scene containing this physical volume and asks the
+current viewer to draw it.  The scene becomes current.<br>
+If physical-volume-name is "world" (the default), the main geometry
+tree (material world) is drawn.  If "worlds", all worlds - material
+world and parallel worlds, if any - are drawn.  Otherwise a search of
+all worlds is made, taking the first matching occurence only.  To see
+a representation of the geometry hierarchy of the worlds, try
+"/vis/drawTree [worlds]" or one of the driver/browser combinations
+that have the required functionality, e.g., HepRepFile/XML with the
+WIRED3/4 browser.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>physical-volume-name
+<td>type s
+<td>Omittable : default value = world
+<td></table>
+<p><br><p><dt><b>open [<i>graphics-system-name</i>] [<i>window-size-hint</i>]</b>
+<p><dd>
+Creates a scene handler ready for drawing.<br>
+The scene handler becomes current (the name is auto-generated).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>graphics-system-name
+<td>type s
+<td><td>Parameter candidates : ATree DAWNFILE HepRepXML HepRepFile RayTracer VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm RayTracerX VRML1 VRML2
+<tr><td>window-size-hint
+<td>type s
+<td>Omittable : default value = 600
+<td></table>
+<p><br><p><dt><b>specify [<i>logical-volume-name</i>] [<i>depth-of-descent</i>] [<i>booleans-flag</i>] [<i>voxels-flag</i>] [<i>readout-flag</i>]</b>
+<p><dd>
+Draws logical volume with Boolean components, voxels and readout geometry.<br>
+Creates a scene consisting of this logical volume and asks the
+  current viewer to draw it to the specified depth of descent
+  showing boolean components (if any), voxels (if any)
+  and readout geometry (if any), under control of the appropriate flag.<br>
+Note: voxels are not constructed until start of run - /run/beamOn.<br>
+The scene becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>logical-volume-name
+<td>type s
+<td><td><tr><td>depth-of-descent
+<td>type i
+<td>Omittable : default value = 1
+<td><tr><td>booleans-flag
+<td>type b
+<td>Omittable : default value = 1
+<td><tr><td>voxels-flag
+<td>type b
+<td>Omittable : default value = 1
+<td><tr><td>readout-flag
+<td>type b
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ASCIITree_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ASCIITree_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ASCIITree_.html	(revision 901)
@@ -0,0 +1,37 @@
+<html><head><title>Commands in /vis/ASCIITree/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/ASCIITree/</h2><p>
+Commands for ASCIITree control.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_ASCIITree_set_.html">/vis/ASCIITree/set/</a>
+<p><dd>Settings for ASCIITree control.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>verbose [<i>verbosity</i>]</b>
+<p><dd>
+  &lt;  10: - does not print daughters of repeated placements, does not repeat replicas.<br>
+  &gt;= 10: prints all physical volumes.<br>
+The level of detail is given by verbosity%10:<br>
+for each volume:<br>
+  &gt;=  0: physical volume name.<br>
+  &gt;=  1: logical volume name (and names of sensitive detector and readout geometry, if any).<br>
+  &gt;=  2: solid name and type.<br>
+  &gt;=  3: volume and density.<br>
+  &gt;=  5: daughter-subtracted volume and mass.<br>
+and in the summary at the end of printing:<br>
+  &gt;=  4: daughter-included mass of top physical volume(s) in scene to depth specified.<br>
+Note: by default, culling is switched off so all volumes are seen.<br>
+Note: the mass calculation takes into account daughters, which can be time consuming.  If you want the mass of a particular subtree to a particular depth:<br>
+  /vis/open ATree<br>
+  /vis/ASCIITree/verbose 14<br>
+  /vis/scene/create<br>
+  /vis/scene/add/volume &lt;subtree-physical-volume&gt; ! &lt;depth&gt;<br>
+  /vis/sceneHandler/attach<br>
+  /vis/viewer/flush<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>verbosity
+<td>type i
+<td>Omittable : default value = 0
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_filtering_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_filtering_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_filtering_.html	(revision 901)
@@ -0,0 +1,12 @@
+<html><head><title>Commands in /vis/filtering/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/filtering/</h2><p>
+Filtering commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_filtering_trajectories_.html">/vis/filtering/trajectories/</a>
+<p><dd>Trajectory filtering commands.
+<p><br><p><dt><a href="_vis_filtering_hits_.html">/vis/filtering/hits/</a>
+<p><dd>Hit filtering commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_geometry_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_geometry_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_geometry_.html	(revision 901)
@@ -0,0 +1,29 @@
+<html><head><title>Commands in /vis/geometry/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/geometry/</h2><p>
+Operations on vis attributes of Geant4 geometry.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_geometry_set_.html">/vis/geometry/set/</a>
+<p><dd>Set vis attributes of Geant4 geometry.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>list [<i>logical-volume-name</i>]</b>
+<p><dd>
+Lists vis attributes of logical volume(s).<br>
+"all" lists all logical volumes.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>logical-volume-name
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+<p><br><p><dt><b>restore [<i>logical-volume-name</i>]</b>
+<p><dd>
+Restores vis attributes of logical volume(s).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>logical-volume-name
+<td>type s
+<td>Omittable : default value = all
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_heprep_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_heprep_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_heprep_.html	(revision 901)
@@ -0,0 +1,41 @@
+<html><head><title>Commands in /vis/heprep/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/heprep/</h2><p>
+HepRep commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>setEventNumberSuffix [<i>suffix</i>]</b>
+<p><dd>
+Write separate event files, appended with given suffix.<br>
+Define the suffix with a pattern such as '-0000'.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>suffix
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>appendGeometry [<i>flag</i>]</b>
+<p><dd>
+Appends copy of geometry to every event.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>addPointAttributes [<i>flag</i>]</b>
+<p><dd>
+Adds point attributes to the points of trajectories.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td><td></table>
+<p><br><p><dt><b>useSolids [<i>flag</i>]</b>
+<p><dd>
+Use HepRep Solids, rather than Geant4 Primitives.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_modeling_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_modeling_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_modeling_.html	(revision 901)
@@ -0,0 +1,10 @@
+<html><head><title>Commands in /vis/modeling/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/modeling/</h2><p>
+Modeling commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_modeling_trajectories_.html">/vis/modeling/trajectories/</a>
+<p><dd>Trajectory model commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ogl_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ogl_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ogl_.html	(revision 901)
@@ -0,0 +1,16 @@
+<html><head><title>Commands in /vis/ogl/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/ogl/</h2><p>
+G4OpenGLViewer commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_ogl_set_.html">/vis/ogl/set/</a>
+<p><dd>G4OpenGLViewer set commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>printEPS</b>
+<p><dd>
+Print Encapsulated PostScript file.<br>
+Generates files with names G4OpenGL_n.eps, where n is a sequence
+number, starting at 0.<br>
+<p><dd>Available at all Geant4 states.
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_oglxm_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_oglxm_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_oglxm_.html	(revision 901)
@@ -0,0 +1,10 @@
+<html><head><title>Commands in /vis/oglxm/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/oglxm/</h2><p>
+G4OpenGLXmViewer commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_oglxm_set_.html">/vis/oglxm/set/</a>
+<p><dd>G4OpenGLXmViewer set commands.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_rayTracer_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_rayTracer_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_rayTracer_.html	(revision 901)
@@ -0,0 +1,168 @@
+<html><head><title>Commands in /vis/rayTracer/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/rayTracer/</h2><p>
+RayTracer commands.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>trace [<i>fileName</i>]</b>
+<p><dd>
+Start the ray tracing.<br>
+Define the name of output JPEG file.<br>
+<p><dd>Available Geant4 state(s) : Idle 
+<p><dd>Parameters<table border=1>
+<tr><td>fileName
+<td>type s
+<td>Omittable : default value = g4RayTracer.jpeg
+<td></table>
+<p><br><p><dt><b>column [<i>nPixel</i>]</b>
+<p><dd>
+Define the number of horizontal pixels.<br>
+<p><dd>Range : nPixel &gt; 0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>nPixel
+<td>type i
+<td><td></table>
+<p><br><p><dt><b>row [<i>nPixel</i>]</b>
+<p><dd>
+Define the number of virtical pixels.<br>
+<p><dd>Range : nPixel &gt; 0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>nPixel
+<td>type i
+<td><td></table>
+<p><br><p><dt><b>target [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
+<p><dd>
+Define the center position of the target.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>X
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>Y
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>Z
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = m
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>eyePosition [<i>X</i>] [<i>Y</i>] [<i>Z</i>] [<i>Unit</i>]</b>
+<p><dd>
+Define the eye position.<br>
+Eye direction is calsurated from (target - eyePosition).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>X
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>Y
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>Z
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = m
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>lightDirection [<i>Px</i>] [<i>Py</i>] [<i>Pz</i>]</b>
+<p><dd>
+Define the direction of illumination light.<br>
+The vector needs not to be a unit vector, but it must not be a zero vector.<br>
+<p><dd>Range : Px != 0 || Py != 0 || Pz != 0
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Px
+<td>type d
+<td>Omittable : default value = 0.1
+<td><tr><td>Py
+<td>type d
+<td>Omittable : default value = 0.2
+<td><tr><td>Pz
+<td>type d
+<td>Omittable : default value = 0.3
+<td></table>
+<p><br><p><dt><b>span [<i>span</i>] [<i>Unit</i>]</b>
+<p><dd>
+Define the angle per 100 pixels.<br>
+<p><dd>Range : span&gt;0.
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>span
+<td>type d
+<td>Omittable : default value = 50
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = deg
+<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
+</table>
+<p><br><p><dt><b>headAngle [<i>headAngle</i>] [<i>Unit</i>]</b>
+<p><dd>
+Define the head direction.<br>
+<p><dd>Range : headAngle&gt;=0. &amp;&amp; headAngle&lt;360.
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>headAngle
+<td>type d
+<td>Omittable : default value = 270
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = deg
+<td>Parameter candidates : rad mrad sr deg radian milliradian steradian degree
+</table>
+<p><br><p><dt><b>attenuation [<i>Length</i>] [<i>Unit</i>]</b>
+<p><dd>
+Define the attenuation length for transparent material.<br>
+Note that this value is independent to the attenuation length for the optical photon processes.<br>
+<p><dd>Range : Length &gt; 0.
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>Length
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = m
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>distortion [<i>flag</i>]</b>
+<p><dd>
+Distortion effect of the fish eye lens.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>ignoreTransparency [<i>flag</i>]</b>
+<p><dd>
+Ignore transparency even if the alpha of G4Colour &lt; 1.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>flag
+<td>type b
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>backgroundColour [<i>red</i>] [<i>green</i>] [<i>blue</i>]</b>
+<p><dd>
+Command has been deprecated.  Use /vis/viewer/set/background instead.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>red
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>green
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>blue
+<td>type d
+<td>Omittable : default value = 1
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_sceneHandler_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_sceneHandler_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_sceneHandler_.html	(revision 901)
@@ -0,0 +1,57 @@
+<html><head><title>Commands in /vis/sceneHandler/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/sceneHandler/</h2><p>
+Operations on Geant4 scene handlers.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>attach [<i>scene-name</i>]</b>
+<p><dd>
+Attaches scene to current scene handler.<br>
+If scene-name is omitted, current scene is attached.  To see scenes and
+scene handlers, use "/vis/scene/list" and "/vis/sceneHandler/list"<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>create [<i>graphics-system-name</i>] [<i>scene-handler-name</i>]</b>
+<p><dd>
+Creates an scene handler for a specific graphics system.<br>
+Attaches current scene, if any.  (You can change attached scenes with
+"/vis/sceneHandler/attach".)  Invents a scene handler name if not
+supplied.  This scene handler becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>graphics-system-name
+<td>type s
+<td><td>Parameter candidates : ATree DAWNFILE HepRepXML HepRepFile RayTracer VRML1FILE VRML2FILE DAWN OGLIX OGLSX OGLIXm OGLSXm RayTracerX VRML1 VRML2
+<tr><td>scene-handler-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>list [<i>scene-handler-name</i>] [<i>verbosity</i>]</b>
+<p><dd>
+Lists scene handler(s).<br>
+"help /vis/verbose" for definition of verbosity.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-handler-name
+<td>type s
+<td>Omittable : default value = all
+<td><tr><td>verbosity
+<td>type s
+<td>Omittable : default value = warnings
+<td></table>
+<p><br><p><dt><b>select [<i>scene-handler-name</i>]</b>
+<p><dd>
+Selects a scene handler.<br>
+Makes the scene handler current.  "/vis/sceneHandler/list" to see
+ possible scene handler names.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-handler-name
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_scene_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_scene_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_scene_.html	(revision 901)
@@ -0,0 +1,97 @@
+<html><head><title>Commands in /vis/scene/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/scene/</h2><p>
+Operations on Geant4 scenes.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_scene_add_.html">/vis/scene/add/</a>
+<p><dd>Add model to current scene.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>create [<i>scene-name</i>]</b>
+<p><dd>
+Creates an empty scene.<br>
+Invents a name if not supplied.  This scene becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-name
+<td>type s
+<td>Omittable : default value = 
+<td></table>
+<p><br><p><dt><b>endOfEventAction [<i>action</i>] [<i>maxNumber</i>]</b>
+<p><dd>
+Accumulate or refresh the viewer for each new event.<br>
+"accumulate": viewer accumulates hits, etc., event by event, or<br>
+"refresh": viewer shows them at end of event or, for direct-screen
+  viewers, refreshes the screen just before drawing the next event.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>action
+<td>type s
+<td>Omittable : default value = refresh
+<td>Parameter candidates : accumulate refresh
+<tr><td>maxNumber
+<td>type i
+<td>Omittable : default value = 100
+<td></table>
+<p><br><p><dt><b>endOfRunAction [<i>action</i>]</b>
+<p><dd>
+Accumulate or refresh the viewer for each new run.<br>
+"accumulate": viewer accumulates hits, etc., run by run, or<br>
+"refresh": viewer shows them at end of run or, for direct-screen
+  viewers, refreshes the screen just before drawing the first
+  event of the next run.<br>
+The detector remains or is redrawn.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>action
+<td>type s
+<td>Omittable : default value = refresh
+<td>Parameter candidates : accumulate refresh
+</table>
+<p><br><p><dt><b>list [<i>scene-name</i>] [<i>verbosity</i>]</b>
+<p><dd>
+Lists scene(s).<br>
+"help /vis/verbose" for definition of verbosity.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-name
+<td>type s
+<td>Omittable : default value = all
+<td><tr><td>verbosity
+<td>type s
+<td>Omittable : default value = warnings
+<td></table>
+<p><br><p><dt><b>notifyHandlers [<i>scene-name</i>] [<i>refresh-flush</i>]</b>
+<p><dd>
+Notifies scene handlers and forces re-rendering.<br>
+Notifies the handler(s) of the specified scene and forces a
+reconstruction of any graphical databases.
+Clears and refreshes all viewers of current scene.
+  The default action "refresh" does not issue "update" (see
+    /vis/viewer/update).
+If "flush" is specified, it issues an "update" as well as
+  "refresh" - "update" and initiates post-processing
+  for graphics systems which need it.<br>
+The default for &lt;scene-name&gt; is the current scene name.<br>
+This command does not change current scene, scene handler or viewer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td><tr><td>refresh-flush
+<td>type s
+<td>Omittable : default value = refresh
+<td>Parameter candidates : r refresh f flush
+</table>
+<p><br><p><dt><b>select [<i>scene-name</i>]</b>
+<p><dd>
+Selects a scene<br>
+Makes the scene current.  "/vis/scene/list" to see
+ possible scene names.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-name
+<td>type s
+<td><td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_viewer_.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_viewer_.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_viewer_.html	(revision 901)
@@ -0,0 +1,324 @@
+<html><head><title>Commands in /vis/viewer/</title></head>
+<body bgcolor="#ffffff"><h2>/vis/viewer/</h2><p>
+Operations on Geant4 viewers.<br>
+<p><hr><p>
+<h2>Sub-directories : </h2><dl>
+<p><br><p><dt><a href="_vis_viewer_set_.html">/vis/viewer/set/</a>
+<p><dd>Set view parameters of current viewer.
+</dl><p><hr><p>
+<h2>Commands : </h2><dl>
+<p><br><p><dt><b>addCutawayPlane [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>] [<i>nx</i>] [<i>ny</i>] [<i>nz</i>]</b>
+<p><dd>
+Add cutaway plane to current viewer.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>y
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>nx
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>ny
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>nz
+<td>type d
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>changeCutawayPlane [<i>index</i>] [<i>x</i>] [<i>y</i>] [<i>z</i>] [<i>unit</i>] [<i>nx</i>] [<i>ny</i>] [<i>nz</i>]</b>
+<p><dd>
+Change cutaway plane.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>index
+<td>type i
+<td><td><tr><td>x
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>y
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>z
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td><tr><td>nx
+<td>type d
+<td>Omittable : default value = 1
+<td><tr><td>ny
+<td>type d
+<td>Omittable : default value = 0
+<td><tr><td>nz
+<td>type d
+<td>Omittable : default value = 0
+<td></table>
+<p><br><p><dt><b>clear [<i>viewer-name</i>]</b>
+<p><dd>
+Clears viewer.<br>
+By default, clears current viewer.  Specified viewer becomes current.
+"/vis/viewer/list" to see  possible viewer names.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>clearCutawayPlanes</b>
+<p><dd>
+Clear cutaway planes of current viewer.<br>
+<p><dd>Available at all Geant4 states.
+<p><br><p><dt><b>clearTransients [<i>viewer-name</i>]</b>
+<p><dd>
+Clears transients from viewer.<br>
+By default, operates on current viewer.  Specified viewer becomes current.
+"/vis/viewer/list" to see  possible viewer names.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>clone [<i>original-viewer-name</i>] [<i>clone-name</i>]</b>
+<p><dd>
+Clones viewer.<br>
+By default, clones current viewer.  Clone becomes current.
+Clone name, if not provided, is derived from the original name.
+"/vis/viewer/list" to see  possible viewer names.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>original-viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td><tr><td>clone-name
+<td>type s
+<td>Omittable : default value = none
+<td></table>
+<p><br><p><dt><b>create [<i>scene-handler</i>] [<i>viewer-name</i>] [<i>window-size-hint</i>]</b>
+<p><dd>
+Creates a viewer for the specified scene handler.<br>
+Default scene handler is the current scene handler.  Invents a name
+if not supplied.  (Note: the system adds information to the name
+for identification - only the characters up to the first blank are
+used for removing, selecting, etc.)  This scene handler and viewer
+become current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>scene-handler
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td><tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td><tr><td>window-size-hint
+<td>type s
+<td>Omittable : default value = 600
+<td></table>
+<p><br><p><dt><b>dolly [<i>increment</i>] [<i>Unit</i>]</b>
+<p><dd>
+Incremental dolly.<br>
+Moves the camera incrementally towards target point.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>increment
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = m
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>dollyTo [<i>distance</i>] [<i>Unit</i>]</b>
+<p><dd>
+Dolly to specific coordinate.<br>
+Places the camera towards target point relative to standard camera point.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>distance
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>Unit
+<td>type s
+<td>Omittable : default value = m
+<td>Parameter candidates : pc km m cm mm um nm Ang fm parsec kilometer meter centimeter millimeter micrometer nanometer angstrom fermi
+</table>
+<p><br><p><dt><b>flush [<i>viewer-name</i>]</b>
+<p><dd>
+Compound command: "/vis/viewer/refresh" + "/vis/viewer/update".<br>
+Useful for refreshing and initiating post-processing for graphics
+systems which need post-processing.  By default, acts on current
+viewer.  "/vis/viewer/list" to see possible viewers.  Viewer
+becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>list [<i>viewer-name</i>] [<i>verbosity</i>]</b>
+<p><dd>
+Lists viewers(s).<br>
+See "/vis/verbose" for definition of verbosity.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : default value = all
+<td><tr><td>verbosity
+<td>type s
+<td>Omittable : default value = warnings
+<td></table>
+<p><br><p><dt><b>pan [<i>right-increment</i>] [<i>up-increment</i>] [<i>unit</i>]</b>
+<p><dd>
+Incremental pan.<br>
+Moves the camera incrementally right and up by these amounts (as seen
+from viewpoint direction).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>right-increment
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>up-increment
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>panTo [<i>right</i>] [<i>up</i>] [<i>unit</i>]</b>
+<p><dd>
+Pan to specific coordinate.<br>
+Places the camera in this position right and up relative to standard
+target point (as seen from viewpoint direction).<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>right
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>up
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>unit
+<td>type s
+<td>Omittable : default value = m
+<td></table>
+<p><br><p><dt><b>rebuild [<i>viewer-name</i>]</b>
+<p><dd>
+Forces rebuild of graphical database.<br>
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>refresh [<i>viewer-name</i>]</b>
+<p><dd>
+Refreshes viewer.<br>
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>reset [<i>viewer-name</i>]</b>
+<p><dd>
+Resets viewer.<br>
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>scale [<i>x-scale-multiplier</i>] [<i>y-scale-multiplier</i>] [<i>z-scale-multiplier</i>]</b>
+<p><dd>
+Incremental (non-uniform) scaling.<br>
+Multiplies components of current scaling by components of this factor.
+ Scales (x,y,z) by corresponding components of the resulting factor.<br>
+<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x-scale-multiplier
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>y-scale-multiplier
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>z-scale-multiplier
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>scaleTo [<i>x-scale-factor</i>] [<i>y-scale-factor</i>] [<i>z-scale-factor</i>]</b>
+<p><dd>
+Absolute (non-uniform) scaling.<br>
+Scales (x,y,z) by corresponding components of this factor.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>x-scale-factor
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>y-scale-factor
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td><tr><td>z-scale-factor
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>select [<i>viewer-name</i>]</b>
+<p><dd>
+Selects viewer.<br>
+Specify viewer by name.  "/vis/viewer/list" to see possible viewers.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td><td></table>
+<p><br><p><dt><b>update [<i>viewer-name</i>]</b>
+<p><dd>
+Triggers graphical database post-processing for viewers
+using that technique.<br>
+For such viewers the view only becomes visible with this command.
+By default, acts on current viewer.  "/vis/viewer/list"
+to see possible viewers.  Viewer becomes current.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>viewer-name
+<td>type s
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>zoom [<i>multiplier</i>]</b>
+<p><dd>
+Incremental zoom.<br>
+Multiplies current magnification by this factor.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>multiplier
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+<p><br><p><dt><b>zoomTo [<i>factor</i>]</b>
+<p><dd>
+Absolute zoom.<br>
+Magnifies standard magnification by this factor.<br>
+<p><dd>Available at all Geant4 states.
+<p><dd>Parameters<table border=1>
+<tr><td>factor
+<td>type d
+<td>Omittable : current value is used as the default value.
+<td></table>
+</dl></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/baryons/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/baryons/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/baryons/index.html	(revision 901)
@@ -0,0 +1,675 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>12212</TD>
+<TD><A HREF="N(1440)+.html">N(1440)+</A></TD>
+<TD>anti_N(1440)+</TD>
+</TR>
+<TR>
+<TD>12112</TD>
+<TD><A HREF="N(1440)0.html">N(1440)0</A></TD>
+<TD>anti_N(1440)0</TD>
+</TR>
+<TR>
+<TD>2124</TD>
+<TD><A HREF="N(1520)+.html">N(1520)+</A></TD>
+<TD>anti_N(1520)+</TD>
+</TR>
+<TR>
+<TD>1214</TD>
+<TD><A HREF="N(1520)0.html">N(1520)0</A></TD>
+<TD>anti_N(1520)0</TD>
+</TR>
+<TR>
+<TD>22212</TD>
+<TD><A HREF="N(1535)+.html">N(1535)+</A></TD>
+<TD>anti_N(1535)+</TD>
+</TR>
+<TR>
+<TD>22112</TD>
+<TD><A HREF="N(1535)0.html">N(1535)0</A></TD>
+<TD>anti_N(1535)0</TD>
+</TR>
+<TR>
+<TD>32212</TD>
+<TD><A HREF="N(1650)+.html">N(1650)+</A></TD>
+<TD>anti_N(1650)+</TD>
+</TR>
+<TR>
+<TD>32112</TD>
+<TD><A HREF="N(1650)0.html">N(1650)0</A></TD>
+<TD>anti_N(1650)0</TD>
+</TR>
+<TR>
+<TD>2216</TD>
+<TD><A HREF="N(1675)+.html">N(1675)+</A></TD>
+<TD>anti_N(1675)+</TD>
+</TR>
+<TR>
+<TD>2116</TD>
+<TD><A HREF="N(1675)0.html">N(1675)0</A></TD>
+<TD>anti_N(1675)0</TD>
+</TR>
+<TR>
+<TD>12216</TD>
+<TD><A HREF="N(1680)+.html">N(1680)+</A></TD>
+<TD>anti_N(1680)+</TD>
+</TR>
+<TR>
+<TD>12116</TD>
+<TD><A HREF="N(1680)0.html">N(1680)0</A></TD>
+<TD>anti_N(1680)0</TD>
+</TR>
+<TR>
+<TD>22124</TD>
+<TD><A HREF="N(1700)+.html">N(1700)+</A></TD>
+<TD>anti_N(1700)+</TD>
+</TR>
+<TR>
+<TD>21214</TD>
+<TD><A HREF="N(1700)0.html">N(1700)0</A></TD>
+<TD>anti_N(1700)0</TD>
+</TR>
+<TR>
+<TD>42212</TD>
+<TD><A HREF="N(1710)+.html">N(1710)+</A></TD>
+<TD>anti_N(1710)+</TD>
+</TR>
+<TR>
+<TD>42112</TD>
+<TD><A HREF="N(1710)0.html">N(1710)0</A></TD>
+<TD>anti_N(1710)0</TD>
+</TR>
+<TR>
+<TD>32124</TD>
+<TD><A HREF="N(1720)+.html">N(1720)+</A></TD>
+<TD>anti_N(1720)+</TD>
+</TR>
+<TR>
+<TD>31214</TD>
+<TD><A HREF="N(1720)0.html">N(1720)0</A></TD>
+<TD>anti_N(1720)0</TD>
+</TR>
+<TR>
+<TD>42124</TD>
+<TD><A HREF="N(1900)+.html">N(1900)+</A></TD>
+<TD>anti_N(1900)+</TD>
+</TR>
+<TR>
+<TD>41214</TD>
+<TD><A HREF="N(1900)0.html">N(1900)0</A></TD>
+<TD>anti_N(1900)0</TD>
+</TR>
+<TR>
+<TD>12218</TD>
+<TD><A HREF="N(1990)+.html">N(1990)+</A></TD>
+<TD>anti_N(1990)+</TD>
+</TR>
+<TR>
+<TD>12118</TD>
+<TD><A HREF="N(1990)0.html">N(1990)0</A></TD>
+<TD>anti_N(1990)0</TD>
+</TR>
+<TR>
+<TD>52214</TD>
+<TD><A HREF="N(2090)+.html">N(2090)+</A></TD>
+<TD>anti_N(2090)+</TD>
+</TR>
+<TR>
+<TD>52114</TD>
+<TD><A HREF="N(2090)0.html">N(2090)0</A></TD>
+<TD>anti_N(2090)0</TD>
+</TR>
+<TR>
+<TD>2128</TD>
+<TD><A HREF="N(2190)+.html">N(2190)+</A></TD>
+<TD>anti_N(2190)+</TD>
+</TR>
+<TR>
+<TD>1218</TD>
+<TD><A HREF="N(2190)0.html">N(2190)0</A></TD>
+<TD>anti_N(2190)0</TD>
+</TR>
+<TR>
+<TD>100002210</TD>
+<TD><A HREF="N(2220)+.html">N(2220)+</A></TD>
+<TD>anti_N(2220)+</TD>
+</TR>
+<TR>
+<TD>100002110</TD>
+<TD><A HREF="N(2220)0.html">N(2220)0</A></TD>
+<TD>anti_N(2220)0</TD>
+</TR>
+<TR>
+<TD>100012210</TD>
+<TD><A HREF="N(2250)+.html">N(2250)+</A></TD>
+<TD>anti_N(2250)+</TD>
+</TR>
+<TR>
+<TD>100012110</TD>
+<TD><A HREF="N(2250)0.html">N(2250)0</A></TD>
+<TD>anti_N(2250)0</TD>
+</TR>
+<TR>
+<TD>32214</TD>
+<TD><A HREF="delta(1600)+.html">delta(1600)+</A></TD>
+<TD>anti_delta(1600)+</TD>
+</TR>
+<TR>
+<TD>32224</TD>
+<TD><A HREF="delta(1600)++.html">delta(1600)++</A></TD>
+<TD>anti_delta(1600)++</TD>
+</TR>
+<TR>
+<TD>31114</TD>
+<TD><A HREF="delta(1600)-.html">delta(1600)-</A></TD>
+<TD>anti_delta(1600)-</TD>
+</TR>
+<TR>
+<TD>32114</TD>
+<TD><A HREF="delta(1600)0.html">delta(1600)0</A></TD>
+<TD>anti_delta(1600)0</TD>
+</TR>
+<TR>
+<TD>2122</TD>
+<TD><A HREF="delta(1620)+.html">delta(1620)+</A></TD>
+<TD>anti_delta(1620)+</TD>
+</TR>
+<TR>
+<TD>2222</TD>
+<TD><A HREF="delta(1620)++.html">delta(1620)++</A></TD>
+<TD>anti_delta(1620)++</TD>
+</TR>
+<TR>
+<TD>1112</TD>
+<TD><A HREF="delta(1620)-.html">delta(1620)-</A></TD>
+<TD>anti_delta(1620)-</TD>
+</TR>
+<TR>
+<TD>1212</TD>
+<TD><A HREF="delta(1620)0.html">delta(1620)0</A></TD>
+<TD>anti_delta(1620)0</TD>
+</TR>
+<TR>
+<TD>12214</TD>
+<TD><A HREF="delta(1700)+.html">delta(1700)+</A></TD>
+<TD>anti_delta(1700)+</TD>
+</TR>
+<TR>
+<TD>12224</TD>
+<TD><A HREF="delta(1700)++.html">delta(1700)++</A></TD>
+<TD>anti_delta(1700)++</TD>
+</TR>
+<TR>
+<TD>11114</TD>
+<TD><A HREF="delta(1700)-.html">delta(1700)-</A></TD>
+<TD>anti_delta(1700)-</TD>
+</TR>
+<TR>
+<TD>12114</TD>
+<TD><A HREF="delta(1700)0.html">delta(1700)0</A></TD>
+<TD>anti_delta(1700)0</TD>
+</TR>
+<TR>
+<TD>12122</TD>
+<TD><A HREF="delta(1900)+.html">delta(1900)+</A></TD>
+<TD>anti_delta(1900)+</TD>
+</TR>
+<TR>
+<TD>12222</TD>
+<TD><A HREF="delta(1900)++.html">delta(1900)++</A></TD>
+<TD>anti_delta(1900)++</TD>
+</TR>
+<TR>
+<TD>11112</TD>
+<TD><A HREF="delta(1900)-.html">delta(1900)-</A></TD>
+<TD>anti_delta(1900)-</TD>
+</TR>
+<TR>
+<TD>11212</TD>
+<TD><A HREF="delta(1900)0.html">delta(1900)0</A></TD>
+<TD>anti_delta(1900)0</TD>
+</TR>
+<TR>
+<TD>2126</TD>
+<TD><A HREF="delta(1905)+.html">delta(1905)+</A></TD>
+<TD>anti_delta(1905)+</TD>
+</TR>
+<TR>
+<TD>2226</TD>
+<TD><A HREF="delta(1905)++.html">delta(1905)++</A></TD>
+<TD>anti_delta(1905)++</TD>
+</TR>
+<TR>
+<TD>1116</TD>
+<TD><A HREF="delta(1905)-.html">delta(1905)-</A></TD>
+<TD>anti_delta(1905)-</TD>
+</TR>
+<TR>
+<TD>1216</TD>
+<TD><A HREF="delta(1905)0.html">delta(1905)0</A></TD>
+<TD>anti_delta(1905)0</TD>
+</TR>
+<TR>
+<TD>22122</TD>
+<TD><A HREF="delta(1910)+.html">delta(1910)+</A></TD>
+<TD>anti_delta(1910)+</TD>
+</TR>
+<TR>
+<TD>22222</TD>
+<TD><A HREF="delta(1910)++.html">delta(1910)++</A></TD>
+<TD>anti_delta(1910)++</TD>
+</TR>
+<TR>
+<TD>21112</TD>
+<TD><A HREF="delta(1910)-.html">delta(1910)-</A></TD>
+<TD>anti_delta(1910)-</TD>
+</TR>
+<TR>
+<TD>21212</TD>
+<TD><A HREF="delta(1910)0.html">delta(1910)0</A></TD>
+<TD>anti_delta(1910)0</TD>
+</TR>
+<TR>
+<TD>22214</TD>
+<TD><A HREF="delta(1920)+.html">delta(1920)+</A></TD>
+<TD>anti_delta(1920)+</TD>
+</TR>
+<TR>
+<TD>22224</TD>
+<TD><A HREF="delta(1920)++.html">delta(1920)++</A></TD>
+<TD>anti_delta(1920)++</TD>
+</TR>
+<TR>
+<TD>21114</TD>
+<TD><A HREF="delta(1920)-.html">delta(1920)-</A></TD>
+<TD>anti_delta(1920)-</TD>
+</TR>
+<TR>
+<TD>22114</TD>
+<TD><A HREF="delta(1920)0.html">delta(1920)0</A></TD>
+<TD>anti_delta(1920)0</TD>
+</TR>
+<TR>
+<TD>12126</TD>
+<TD><A HREF="delta(1930)+.html">delta(1930)+</A></TD>
+<TD>anti_delta(1930)+</TD>
+</TR>
+<TR>
+<TD>12226</TD>
+<TD><A HREF="delta(1930)++.html">delta(1930)++</A></TD>
+<TD>anti_delta(1930)++</TD>
+</TR>
+<TR>
+<TD>11116</TD>
+<TD><A HREF="delta(1930)-.html">delta(1930)-</A></TD>
+<TD>anti_delta(1930)-</TD>
+</TR>
+<TR>
+<TD>11216</TD>
+<TD><A HREF="delta(1930)0.html">delta(1930)0</A></TD>
+<TD>anti_delta(1930)0</TD>
+</TR>
+<TR>
+<TD>2218</TD>
+<TD><A HREF="delta(1950)+.html">delta(1950)+</A></TD>
+<TD>anti_delta(1950)+</TD>
+</TR>
+<TR>
+<TD>2228</TD>
+<TD><A HREF="delta(1950)++.html">delta(1950)++</A></TD>
+<TD>anti_delta(1950)++</TD>
+</TR>
+<TR>
+<TD>1118</TD>
+<TD><A HREF="delta(1950)-.html">delta(1950)-</A></TD>
+<TD>anti_delta(1950)-</TD>
+</TR>
+<TR>
+<TD>2118</TD>
+<TD><A HREF="delta(1950)0.html">delta(1950)0</A></TD>
+<TD>anti_delta(1950)0</TD>
+</TR>
+<TR>
+<TD>2214</TD>
+<TD><A HREF="delta+.html">delta+</A></TD>
+<TD>anti_delta+</TD>
+</TR>
+<TR>
+<TD>2224</TD>
+<TD><A HREF="delta++.html">delta++</A></TD>
+<TD>anti_delta++</TD>
+</TR>
+<TR>
+<TD>1114</TD>
+<TD><A HREF="delta-.html">delta-</A></TD>
+<TD>anti_delta-</TD>
+</TR>
+<TR>
+<TD>2114</TD>
+<TD><A HREF="delta0.html">delta0</A></TD>
+<TD>anti_delta0</TD>
+</TR>
+<TR>
+<TD>3122</TD>
+<TD><A HREF="lambda.html">lambda</A></TD>
+<TD>anti_lambda</TD>
+</TR>
+<TR>
+<TD>13122</TD>
+<TD><A HREF="lambda(1405).html">lambda(1405)</A></TD>
+<TD>anti_lambda(1405)</TD>
+</TR>
+<TR>
+<TD>3124</TD>
+<TD><A HREF="lambda(1520).html">lambda(1520)</A></TD>
+<TD>anti_lambda(1520)</TD>
+</TR>
+<TR>
+<TD>23122</TD>
+<TD><A HREF="lambda(1600).html">lambda(1600)</A></TD>
+<TD>anti_lambda(1600)</TD>
+</TR>
+<TR>
+<TD>33122</TD>
+<TD><A HREF="lambda(1670).html">lambda(1670)</A></TD>
+<TD>anti_lambda(1670)</TD>
+</TR>
+<TR>
+<TD>13124</TD>
+<TD><A HREF="lambda(1690).html">lambda(1690)</A></TD>
+<TD>anti_lambda(1690)</TD>
+</TR>
+<TR>
+<TD>43122</TD>
+<TD><A HREF="lambda(1800).html">lambda(1800)</A></TD>
+<TD>anti_lambda(1800)</TD>
+</TR>
+<TR>
+<TD>53122</TD>
+<TD><A HREF="lambda(1810).html">lambda(1810)</A></TD>
+<TD>anti_lambda(1810)</TD>
+</TR>
+<TR>
+<TD>3126</TD>
+<TD><A HREF="lambda(1820).html">lambda(1820)</A></TD>
+<TD>anti_lambda(1820)</TD>
+</TR>
+<TR>
+<TD>13126</TD>
+<TD><A HREF="lambda(1830).html">lambda(1830)</A></TD>
+<TD>anti_lambda(1830)</TD>
+</TR>
+<TR>
+<TD>23124</TD>
+<TD><A HREF="lambda(1890).html">lambda(1890)</A></TD>
+<TD>anti_lambda(1890)</TD>
+</TR>
+<TR>
+<TD>3128</TD>
+<TD><A HREF="lambda(2100).html">lambda(2100)</A></TD>
+<TD>anti_lambda(2100)</TD>
+</TR>
+<TR>
+<TD>23126</TD>
+<TD><A HREF="lambda(2110).html">lambda(2110)</A></TD>
+<TD>anti_lambda(2110)</TD>
+</TR>
+<TR>
+<TD>4122</TD>
+<TD><A HREF="lambda_c+.html">lambda_c+</A></TD>
+<TD>anti_lambda_c+</TD>
+</TR>
+<TR>
+<TD>2112</TD>
+<TD><A HREF="neutron.html">neutron</A></TD>
+<TD>anti_neutron</TD>
+</TR>
+<TR>
+<TD>3334</TD>
+<TD><A HREF="omega-.html">omega-</A></TD>
+<TD>anti_omega-</TD>
+</TR>
+<TR>
+<TD>4332</TD>
+<TD><A HREF="omega_c0.html">omega_c0</A></TD>
+<TD>anti_omega_c0</TD>
+</TR>
+<TR>
+<TD>2212</TD>
+<TD><A HREF="proton.html">proton</A></TD>
+<TD>anti_proton</TD>
+</TR>
+<TR>
+<TD>3224</TD>
+<TD><A HREF="sigma(1385)+.html">sigma(1385)+</A></TD>
+<TD>anti_sigma(1385)+</TD>
+</TR>
+<TR>
+<TD>3114</TD>
+<TD><A HREF="sigma(1385)-.html">sigma(1385)-</A></TD>
+<TD>anti_sigma(1385)-</TD>
+</TR>
+<TR>
+<TD>3214</TD>
+<TD><A HREF="sigma(1385)0.html">sigma(1385)0</A></TD>
+<TD>anti_sigma(1385)0</TD>
+</TR>
+<TR>
+<TD>13222</TD>
+<TD><A HREF="sigma(1660)+.html">sigma(1660)+</A></TD>
+<TD>anti_sigma(1660)+</TD>
+</TR>
+<TR>
+<TD>13112</TD>
+<TD><A HREF="sigma(1660)-.html">sigma(1660)-</A></TD>
+<TD>anti_sigma(1660)-</TD>
+</TR>
+<TR>
+<TD>13212</TD>
+<TD><A HREF="sigma(1660)0.html">sigma(1660)0</A></TD>
+<TD>anti_sigma(1660)0</TD>
+</TR>
+<TR>
+<TD>13224</TD>
+<TD><A HREF="sigma(1670)+.html">sigma(1670)+</A></TD>
+<TD>anti_sigma(1670)+</TD>
+</TR>
+<TR>
+<TD>13114</TD>
+<TD><A HREF="sigma(1670)-.html">sigma(1670)-</A></TD>
+<TD>anti_sigma(1670)-</TD>
+</TR>
+<TR>
+<TD>13214</TD>
+<TD><A HREF="sigma(1670)0.html">sigma(1670)0</A></TD>
+<TD>anti_sigma(1670)0</TD>
+</TR>
+<TR>
+<TD>23222</TD>
+<TD><A HREF="sigma(1750)+.html">sigma(1750)+</A></TD>
+<TD>anti_sigma(1750)+</TD>
+</TR>
+<TR>
+<TD>23112</TD>
+<TD><A HREF="sigma(1750)-.html">sigma(1750)-</A></TD>
+<TD>anti_sigma(1750)-</TD>
+</TR>
+<TR>
+<TD>23212</TD>
+<TD><A HREF="sigma(1750)0.html">sigma(1750)0</A></TD>
+<TD>anti_sigma(1750)0</TD>
+</TR>
+<TR>
+<TD>3226</TD>
+<TD><A HREF="sigma(1775)+.html">sigma(1775)+</A></TD>
+<TD>anti_sigma(1775)+</TD>
+</TR>
+<TR>
+<TD>3116</TD>
+<TD><A HREF="sigma(1775)-.html">sigma(1775)-</A></TD>
+<TD>anti_sigma(1775)-</TD>
+</TR>
+<TR>
+<TD>3216</TD>
+<TD><A HREF="sigma(1775)0.html">sigma(1775)0</A></TD>
+<TD>anti_sigma(1775)0</TD>
+</TR>
+<TR>
+<TD>13226</TD>
+<TD><A HREF="sigma(1915)+.html">sigma(1915)+</A></TD>
+<TD>anti_sigma(1915)+</TD>
+</TR>
+<TR>
+<TD>13116</TD>
+<TD><A HREF="sigma(1915)-.html">sigma(1915)-</A></TD>
+<TD>anti_sigma(1915)-</TD>
+</TR>
+<TR>
+<TD>13216</TD>
+<TD><A HREF="sigma(1915)0.html">sigma(1915)0</A></TD>
+<TD>anti_sigma(1915)0</TD>
+</TR>
+<TR>
+<TD>23224</TD>
+<TD><A HREF="sigma(1940)+.html">sigma(1940)+</A></TD>
+<TD>anti_sigma(1940)+</TD>
+</TR>
+<TR>
+<TD>23114</TD>
+<TD><A HREF="sigma(1940)-.html">sigma(1940)-</A></TD>
+<TD>anti_sigma(1940)-</TD>
+</TR>
+<TR>
+<TD>23214</TD>
+<TD><A HREF="sigma(1940)0.html">sigma(1940)0</A></TD>
+<TD>anti_sigma(1940)0</TD>
+</TR>
+<TR>
+<TD>3228</TD>
+<TD><A HREF="sigma(2030)+.html">sigma(2030)+</A></TD>
+<TD>anti_sigma(2030)+</TD>
+</TR>
+<TR>
+<TD>3118</TD>
+<TD><A HREF="sigma(2030)-.html">sigma(2030)-</A></TD>
+<TD>anti_sigma(2030)-</TD>
+</TR>
+<TR>
+<TD>3218</TD>
+<TD><A HREF="sigma(2030)0.html">sigma(2030)0</A></TD>
+<TD>anti_sigma(2030)0</TD>
+</TR>
+<TR>
+<TD>3222</TD>
+<TD><A HREF="sigma+.html">sigma+</A></TD>
+<TD>anti_sigma+</TD>
+</TR>
+<TR>
+<TD>3112</TD>
+<TD><A HREF="sigma-.html">sigma-</A></TD>
+<TD>anti_sigma-</TD>
+</TR>
+<TR>
+<TD>3212</TD>
+<TD><A HREF="sigma0.html">sigma0</A></TD>
+<TD>anti_sigma0</TD>
+</TR>
+<TR>
+<TD>4212</TD>
+<TD><A HREF="sigma_c+.html">sigma_c+</A></TD>
+<TD>anti_sigma_c+</TD>
+</TR>
+<TR>
+<TD>4222</TD>
+<TD><A HREF="sigma_c++.html">sigma_c++</A></TD>
+<TD>anti_sigma_c++</TD>
+</TR>
+<TR>
+<TD>4112</TD>
+<TD><A HREF="sigma_c0.html">sigma_c0</A></TD>
+<TD>anti_sigma_c0</TD>
+</TR>
+<TR>
+<TD>3314</TD>
+<TD><A HREF="xi(1530)-.html">xi(1530)-</A></TD>
+<TD>anti_xi(1530)-</TD>
+</TR>
+<TR>
+<TD>3324</TD>
+<TD><A HREF="xi(1530)0.html">xi(1530)0</A></TD>
+<TD>anti_xi(1530)0</TD>
+</TR>
+<TR>
+<TD>23314</TD>
+<TD><A HREF="xi(1690)-.html">xi(1690)-</A></TD>
+<TD>anti_xi(1690)-</TD>
+</TR>
+<TR>
+<TD>23324</TD>
+<TD><A HREF="xi(1690)0.html">xi(1690)0</A></TD>
+<TD>anti_xi(1690)0</TD>
+</TR>
+<TR>
+<TD>13314</TD>
+<TD><A HREF="xi(1820)-.html">xi(1820)-</A></TD>
+<TD>anti_xi(1820)-</TD>
+</TR>
+<TR>
+<TD>13324</TD>
+<TD><A HREF="xi(1820)0.html">xi(1820)0</A></TD>
+<TD>anti_xi(1820)0</TD>
+</TR>
+<TR>
+<TD>33314</TD>
+<TD><A HREF="xi(1950)-.html">xi(1950)-</A></TD>
+<TD>anti_xi(1950)-</TD>
+</TR>
+<TR>
+<TD>33324</TD>
+<TD><A HREF="xi(1950)0.html">xi(1950)0</A></TD>
+<TD>anti_xi(1950)0</TD>
+</TR>
+<TR>
+<TD>13316</TD>
+<TD><A HREF="xi(2030)-.html">xi(2030)-</A></TD>
+<TD>anti_xi(2030)-</TD>
+</TR>
+<TR>
+<TD>13326</TD>
+<TD><A HREF="xi(2030)0.html">xi(2030)0</A></TD>
+<TD>anti_xi(2030)0</TD>
+</TR>
+<TR>
+<TD>3312</TD>
+<TD><A HREF="xi-.html">xi-</A></TD>
+<TD>anti_xi-</TD>
+</TR>
+<TR>
+<TD>3322</TD>
+<TD><A HREF="xi0.html">xi0</A></TD>
+<TD>anti_xi0</TD>
+</TR>
+<TR>
+<TD>4232</TD>
+<TD><A HREF="xi_c+.html">xi_c+</A></TD>
+<TD>anti_xi_c+</TD>
+</TR>
+<TR>
+<TD>4132</TD>
+<TD><A HREF="xi_c0.html">xi_c0</A></TD>
+<TD>anti_xi_c0</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/ions/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/ions/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/ions/index.html	(revision 901)
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="GenericIon.html">GenericIon</A></TD>
+</TR>
+<TR>
+<TD>1000020030</TD>
+<TD><A HREF="He3.html">He3</A></TD>
+</TR>
+<TR>
+<TD>1000020040</TD>
+<TD><A HREF="alpha.html">alpha</A></TD>
+</TR>
+<TR>
+<TD>1000010020</TD>
+<TD><A HREF="deuteron.html">deuteron</A></TD>
+</TR>
+<TR>
+<TD>1000010030</TD>
+<TD><A HREF="triton.html">triton</A></TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/leptons/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/leptons/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/leptons/index.html	(revision 901)
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>11</TD>
+<TD><A HREF="e-.html">e-</A></TD>
+<TD>e+</TD>
+</TR>
+<TR>
+<TD>13</TD>
+<TD><A HREF="mu-.html">mu-</A></TD>
+<TD>mu+</TD>
+</TR>
+<TR>
+<TD>12</TD>
+<TD><A HREF="nu_e.html">nu_e</A></TD>
+<TD>anti_nu_e</TD>
+</TR>
+<TR>
+<TD>14</TD>
+<TD><A HREF="nu_mu.html">nu_mu</A></TD>
+<TD>anti_nu_mu</TD>
+</TR>
+<TR>
+<TD>16</TD>
+<TD><A HREF="nu_tau.html">nu_tau</A></TD>
+<TD>anti_nu_tau</TD>
+</TR>
+<TR>
+<TD>15</TD>
+<TD><A HREF="tau-.html">tau-</A></TD>
+<TD>tau+</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/mesons/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/mesons/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/mesons/index.html	(revision 901)
@@ -0,0 +1,393 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>521</TD>
+<TD><A HREF="B+.html">B+</A></TD>
+<TD>B-</TD>
+</TR>
+<TR>
+<TD>511</TD>
+<TD><A HREF="B0.html">B0</A></TD>
+<TD>anti_B0</TD>
+</TR>
+<TR>
+<TD>531</TD>
+<TD><A HREF="Bs0.html">Bs0</A></TD>
+<TD>anti_Bs0</TD>
+</TR>
+<TR>
+<TD>411</TD>
+<TD><A HREF="D+.html">D+</A></TD>
+<TD>D-</TD>
+</TR>
+<TR>
+<TD>421</TD>
+<TD><A HREF="D0.html">D0</A></TD>
+<TD>anti_D0</TD>
+</TR>
+<TR>
+<TD>431</TD>
+<TD><A HREF="Ds+.html">Ds+</A></TD>
+<TD>Ds-</TD>
+</TR>
+<TR>
+<TD>443</TD>
+<TD><A HREF="jpsi.html">J/psi</A></TD>
+</TR>
+<TR>
+<TD>10211</TD>
+<TD><A HREF="a0(1450)+.html">a0(1450)+</A></TD>
+<TD>a0(1450)-</TD>
+</TR>
+<TR>
+<TD>10111</TD>
+<TD><A HREF="a0(1450)0.html">a0(1450)0</A></TD>
+</TR>
+<TR>
+<TD>9000211</TD>
+<TD><A HREF="a0(980)+.html">a0(980)+</A></TD>
+<TD>a0(980)-</TD>
+</TR>
+<TR>
+<TD>9000111</TD>
+<TD><A HREF="a0(980)0.html">a0(980)0</A></TD>
+</TR>
+<TR>
+<TD>20213</TD>
+<TD><A HREF="a1(1260)+.html">a1(1260)+</A></TD>
+<TD>a1(1260)-</TD>
+</TR>
+<TR>
+<TD>20113</TD>
+<TD><A HREF="a1(1260)0.html">a1(1260)0</A></TD>
+</TR>
+<TR>
+<TD>215</TD>
+<TD><A HREF="a2(1320)+.html">a2(1320)+</A></TD>
+<TD>a2(1320)-</TD>
+</TR>
+<TR>
+<TD>115</TD>
+<TD><A HREF="a2(1320)0.html">a2(1320)0</A></TD>
+</TR>
+<TR>
+<TD>10213</TD>
+<TD><A HREF="b1(1235)+.html">b1(1235)+</A></TD>
+<TD>b1(1235)-</TD>
+</TR>
+<TR>
+<TD>10113</TD>
+<TD><A HREF="b1(1235)0.html">b1(1235)0</A></TD>
+</TR>
+<TR>
+<TD>221</TD>
+<TD><A HREF="eta.html">eta</A></TD>
+</TR>
+<TR>
+<TD>100221</TD>
+<TD><A HREF="eta(1295).html">eta(1295)</A></TD>
+</TR>
+<TR>
+<TD>9020221</TD>
+<TD><A HREF="eta(1405).html">eta(1405)</A></TD>
+</TR>
+<TR>
+<TD>100331</TD>
+<TD><A HREF="eta(1475).html">eta(1475)</A></TD>
+</TR>
+<TR>
+<TD>10225</TD>
+<TD><A HREF="eta2(1645).html">eta2(1645)</A></TD>
+</TR>
+<TR>
+<TD>10335</TD>
+<TD><A HREF="eta2(1870).html">eta2(1870)</A></TD>
+</TR>
+<TR>
+<TD>331</TD>
+<TD><A HREF="eta_prime.html">eta_prime</A></TD>
+</TR>
+<TR>
+<TD>10221</TD>
+<TD><A HREF="f0(1370).html">f0(1370)</A></TD>
+</TR>
+<TR>
+<TD>9030221</TD>
+<TD><A HREF="f0(1500).html">f0(1500)</A></TD>
+</TR>
+<TR>
+<TD>10331</TD>
+<TD><A HREF="f0(1710).html">f0(1710)</A></TD>
+</TR>
+<TR>
+<TD>9000221</TD>
+<TD><A HREF="f0(600).html">f0(600)</A></TD>
+</TR>
+<TR>
+<TD>9010221</TD>
+<TD><A HREF="f0(980).html">f0(980)</A></TD>
+</TR>
+<TR>
+<TD>20223</TD>
+<TD><A HREF="f1(1285).html">f1(1285)</A></TD>
+</TR>
+<TR>
+<TD>20333</TD>
+<TD><A HREF="f1(1420).html">f1(1420)</A></TD>
+</TR>
+<TR>
+<TD>225</TD>
+<TD><A HREF="f2(1270).html">f2(1270)</A></TD>
+</TR>
+<TR>
+<TD>9030225</TD>
+<TD><A HREF="f2(1810).html">f2(1810)</A></TD>
+</TR>
+<TR>
+<TD>9060225</TD>
+<TD><A HREF="f2(2010).html">f2(2010)</A></TD>
+</TR>
+<TR>
+<TD>335</TD>
+<TD><A HREF="f2_prime(1525).html">f2_prime(1525)</A></TD>
+</TR>
+<TR>
+<TD>10223</TD>
+<TD><A HREF="h1(1170).html">h1(1170)</A></TD>
+</TR>
+<TR>
+<TD>10333</TD>
+<TD><A HREF="h1(1380).html">h1(1380)</A></TD>
+</TR>
+<TR>
+<TD>100321</TD>
+<TD><A HREF="k(1460)+.html">k(1460)+</A></TD>
+<TD>k(1460)-</TD>
+</TR>
+<TR>
+<TD>100311</TD>
+<TD><A HREF="k(1460)0.html">k(1460)0</A></TD>
+<TD>anti_k(1460)0</TD>
+</TR>
+<TR>
+<TD>10321</TD>
+<TD><A HREF="k0_star(1430)+.html">k0_star(1430)+</A></TD>
+<TD>k0_star(1430)-</TD>
+</TR>
+<TR>
+<TD>10311</TD>
+<TD><A HREF="k0_star(1430)0.html">k0_star(1430)0</A></TD>
+<TD>anti_k0_star(1430)0</TD>
+</TR>
+<TR>
+<TD>10323</TD>
+<TD><A HREF="k1(1270)+.html">k1(1270)+</A></TD>
+<TD>k1(1270)-</TD>
+</TR>
+<TR>
+<TD>10313</TD>
+<TD><A HREF="k1(1270)0.html">k1(1270)0</A></TD>
+<TD>anti_k1(1270)0</TD>
+</TR>
+<TR>
+<TD>20323</TD>
+<TD><A HREF="k1(1400)+.html">k1(1400)+</A></TD>
+<TD>k1(1400)-</TD>
+</TR>
+<TR>
+<TD>20313</TD>
+<TD><A HREF="k1(1400)0.html">k1(1400)0</A></TD>
+<TD>anti_k1(1400)0</TD>
+</TR>
+<TR>
+<TD>10325</TD>
+<TD><A HREF="k2(1770)+.html">k2(1770)+</A></TD>
+<TD>k2(1770)-</TD>
+</TR>
+<TR>
+<TD>10315</TD>
+<TD><A HREF="k2(1770)0.html">k2(1770)0</A></TD>
+<TD>anti_k2(1770)0</TD>
+</TR>
+<TR>
+<TD>325</TD>
+<TD><A HREF="k2_star(1430)+.html">k2_star(1430)+</A></TD>
+<TD>k2_star(1430)-</TD>
+</TR>
+<TR>
+<TD>315</TD>
+<TD><A HREF="k2_star(1430)0.html">k2_star(1430)0</A></TD>
+<TD>anti_k2_star(1430)0</TD>
+</TR>
+<TR>
+<TD>100325</TD>
+<TD><A HREF="k2_star(1980)+.html">k2_star(1980)+</A></TD>
+<TD>k2_star(1980)-</TD>
+</TR>
+<TR>
+<TD>100315</TD>
+<TD><A HREF="k2_star(1980)0.html">k2_star(1980)0</A></TD>
+<TD>anti_k2_star(1980)0</TD>
+</TR>
+<TR>
+<TD>327</TD>
+<TD><A HREF="k3_star(1780)+.html">k3_star(1780)+</A></TD>
+<TD>k3_star(1780)-</TD>
+</TR>
+<TR>
+<TD>317</TD>
+<TD><A HREF="k3_star(1780)0.html">k3_star(1780)0</A></TD>
+<TD>anti_k3_star(1780)0</TD>
+</TR>
+<TR>
+<TD>100323</TD>
+<TD><A HREF="k_star(1410)+.html">k_star(1410)+</A></TD>
+<TD>k_star(1410)-</TD>
+</TR>
+<TR>
+<TD>100313</TD>
+<TD><A HREF="k_star(1410)0.html">k_star(1410)0</A></TD>
+<TD>anti_k_star(1410)0</TD>
+</TR>
+<TR>
+<TD>30323</TD>
+<TD><A HREF="k_star(1680)+.html">k_star(1680)+</A></TD>
+<TD>k_star(1680)-</TD>
+</TR>
+<TR>
+<TD>30313</TD>
+<TD><A HREF="k_star(1680)0.html">k_star(1680)0</A></TD>
+<TD>anti_k_star(1680)0</TD>
+</TR>
+<TR>
+<TD>323</TD>
+<TD><A HREF="k_star+.html">k_star+</A></TD>
+<TD>k_star-</TD>
+</TR>
+<TR>
+<TD>313</TD>
+<TD><A HREF="k_star0.html">k_star0</A></TD>
+<TD>anti_k_star0</TD>
+</TR>
+<TR>
+<TD>321</TD>
+<TD><A HREF="kaon+.html">kaon+</A></TD>
+<TD>kaon-</TD>
+</TR>
+<TR>
+<TD>311</TD>
+<TD><A HREF="kaon0.html">kaon0</A></TD>
+<TD>anti_kaon0</TD>
+</TR>
+<TR>
+<TD>130</TD>
+<TD><A HREF="kaon0L.html">kaon0L</A></TD>
+</TR>
+<TR>
+<TD>310</TD>
+<TD><A HREF="kaon0S.html">kaon0S</A></TD>
+</TR>
+<TR>
+<TD>223</TD>
+<TD><A HREF="omega.html">omega</A></TD>
+</TR>
+<TR>
+<TD>100223</TD>
+<TD><A HREF="omega(1420).html">omega(1420)</A></TD>
+</TR>
+<TR>
+<TD>30223</TD>
+<TD><A HREF="omega(1650).html">omega(1650)</A></TD>
+</TR>
+<TR>
+<TD>227</TD>
+<TD><A HREF="omega3(1670).html">omega3(1670)</A></TD>
+</TR>
+<TR>
+<TD>333</TD>
+<TD><A HREF="phi.html">phi</A></TD>
+</TR>
+<TR>
+<TD>100333</TD>
+<TD><A HREF="phi(1680).html">phi(1680)</A></TD>
+</TR>
+<TR>
+<TD>337</TD>
+<TD><A HREF="phi3(1850).html">phi3(1850)</A></TD>
+</TR>
+<TR>
+<TD>100211</TD>
+<TD><A HREF="pi(1300)+.html">pi(1300)+</A></TD>
+<TD>pi(1300)-</TD>
+</TR>
+<TR>
+<TD>100111</TD>
+<TD><A HREF="pi(1300)0.html">pi(1300)0</A></TD>
+</TR>
+<TR>
+<TD>211</TD>
+<TD><A HREF="pi+.html">pi+</A></TD>
+<TD>pi-</TD>
+</TR>
+<TR>
+<TD>111</TD>
+<TD><A HREF="pi0.html">pi0</A></TD>
+</TR>
+<TR>
+<TD>10215</TD>
+<TD><A HREF="pi2(1670)+.html">pi2(1670)+</A></TD>
+<TD>pi2(1670)-</TD>
+</TR>
+<TR>
+<TD>10115</TD>
+<TD><A HREF="pi2(1670)0.html">pi2(1670)0</A></TD>
+</TR>
+<TR>
+<TD>100213</TD>
+<TD><A HREF="rho(1450)+.html">rho(1450)+</A></TD>
+<TD>rho(1450)-</TD>
+</TR>
+<TR>
+<TD>100113</TD>
+<TD><A HREF="rho(1450)0.html">rho(1450)0</A></TD>
+</TR>
+<TR>
+<TD>30213</TD>
+<TD><A HREF="rho(1700)+.html">rho(1700)+</A></TD>
+<TD>rho(1700)-</TD>
+</TR>
+<TR>
+<TD>30113</TD>
+<TD><A HREF="rho(1700)0.html">rho(1700)0</A></TD>
+</TR>
+<TR>
+<TD>213</TD>
+<TD><A HREF="rho+.html">rho+</A></TD>
+<TD>rho-</TD>
+</TR>
+<TR>
+<TD>113</TD>
+<TD><A HREF="rho0.html">rho0</A></TD>
+</TR>
+<TR>
+<TD>217</TD>
+<TD><A HREF="rho3(1690)+.html">rho3(1690)+</A></TD>
+<TD>rho3(1690)-</TD>
+</TR>
+<TR>
+<TD>117</TD>
+<TD><A HREF="rho3(1690)0.html">rho3(1690)0</A></TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/others/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/others/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/others/index.html	(revision 901)
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="chargedgeantino.html">chargedgeantino</A></TD>
+</TR>
+<TR>
+<TD>22</TD>
+<TD><A HREF="gamma.html">gamma</A></TD>
+</TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="geantino.html">geantino</A></TD>
+</TR>
+<TR>
+<TD>0</TD>
+<TD><A HREF="opticalphoton.html">opticalphoton</A></TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/quarks/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/quarks/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/TrackingAndPhysics/particleList.src/quarks/index.html	(revision 901)
@@ -0,0 +1,94 @@
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV=" Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE>Geant4 Particle List </TITLE>
+</HEAD>
+<!-- Generated automatically by Geant4,  -- >
+<BODY>
+<! --  --!> 
+
+<TABLE WIDTH="80%" > 
+<TR><TD><FONT SIZE = +1>Code</FONT></TD><TD><FONT SIZE = +1>Name</FONT></TD><TD><FONT SIZE = +1>Anti-Particle</FONT></TD></TR>
+<TR>
+<TD>5</TD>
+<TD><A HREF="b_quark.html">b_quark</A></TD>
+<TD>anti_b_quark</TD>
+</TR>
+<TR>
+<TD>4</TD>
+<TD><A HREF="c_quark.html">c_quark</A></TD>
+<TD>anti_c_quark</TD>
+</TR>
+<TR>
+<TD>1</TD>
+<TD><A HREF="d_quark.html">d_quark</A></TD>
+<TD>anti_d_quark</TD>
+</TR>
+<TR>
+<TD>1103</TD>
+<TD><A HREF="dd1_diquark.html">dd1_diquark</A></TD>
+<TD>anti_dd1_diquark</TD>
+</TR>
+<TR>
+<TD>21</TD>
+<TD><A HREF="gluon.html">gluon</A></TD>
+</TR>
+<TR>
+<TD>3</TD>
+<TD><A HREF="s_quark.html">s_quark</A></TD>
+<TD>anti_s_quark</TD>
+</TR>
+<TR>
+<TD>3101</TD>
+<TD><A HREF="sd0_diquark.html">sd0_diquark</A></TD>
+<TD>anti_sd0_diquark</TD>
+</TR>
+<TR>
+<TD>3103</TD>
+<TD><A HREF="sd1_diquark.html">sd1_diquark</A></TD>
+<TD>anti_sd1_diquark</TD>
+</TR>
+<TR>
+<TD>3303</TD>
+<TD><A HREF="ss1_diquark.html">ss1_diquark</A></TD>
+<TD>anti_ss1_diquark</TD>
+</TR>
+<TR>
+<TD>3201</TD>
+<TD><A HREF="su0_diquark.html">su0_diquark</A></TD>
+<TD>anti_su0_diquark</TD>
+</TR>
+<TR>
+<TD>3203</TD>
+<TD><A HREF="su1_diquark.html">su1_diquark</A></TD>
+<TD>anti_su1_diquark</TD>
+</TR>
+<TR>
+<TD>6</TD>
+<TD><A HREF="t_quark.html">t_quark</A></TD>
+<TD>anti_t_quark</TD>
+</TR>
+<TR>
+<TD>2</TD>
+<TD><A HREF="u_quark.html">u_quark</A></TD>
+<TD>anti_u_quark</TD>
+</TR>
+<TR>
+<TD>2101</TD>
+<TD><A HREF="ud0_diquark.html">ud0_diquark</A></TD>
+<TD>anti_ud0_diquark</TD>
+</TR>
+<TR>
+<TD>2103</TD>
+<TD><A HREF="ud1_diquark.html">ud1_diquark</A></TD>
+<TD>anti_ud1_diquark</TD>
+</TR>
+<TR>
+<TD>2203</TD>
+<TD><A HREF="uu1_diquark.html">uu1_diquark</A></TD>
+<TD>anti_uu1_diquark</TD>
+</TR>
+</TABLE>
+<HR>
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apa.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apa.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apa.html	(revision 901)
@@ -0,0 +1,143 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Appendix .  Appendix</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch10s07.html" title="FAQ.7.  User Support Policy"><link rel="next" href="apas02.html" title="2.  Histogramming"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix . 
+Appendix
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apas02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="appendix.Appendix"></a>Appendix . 
+Appendix
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.TpPrgCmp"></a>1. 
+Tips for Program Compilation
+</h2></div></div></div><p>
+This section is dedicated to illustrate and justify some of the
+options used and fixed by default in the compilation of the Geant4
+toolkit. It is also meant to be a simple guide for the
+user/installer to avoid or overcome problems which may occur on
+some compilers. Solutions proposed here are based on the experience
+gained while porting the Geant4 code to different
+architectures/compilers and are specific to the OS's and compiler's
+version valid at the current time of writing of this manual.
+</p><p>
+It's well known that each compiler adopts its own internal
+techniques to produce the object code, which in the end might be
+more or less perfomant and more or less optimised, depending on
+several factors also related to the system architecture which it
+applies to. A peculiarity of C++ compilers nowadays is the way
+templated instances are treated during the compilation/linkage
+process. Some C++ compilers need to store temporarily template
+instantiation files (object files or temporary source code files)
+in a "template repository" or directory that can be specified as
+unique or not directly from the compilation command (probably
+historically coming from the old cfront-based implementation of the
+C++ compiler).
+</p><p>
+After the installation of the libraries, we strongly suggest to
+always distinguish between the installation directory (identified
+by $G4INSTALL) and the working directory (identified by
+$G4WORKDIR), in order not to alter the installation area for the
+template repository.
+</p><p>
+In Geant4, the path to the template repository (for those
+compilers which make use of it) is specified by the environment
+variable $G4TREP, which is fixed and points by default to
+<code class="literal">$G4WORKDIR/tmp/$G4SYSTEM/g4.ptrepository/</code>, where
+<code class="literal">$G4SYSTEM</code> identifies the system-architecture/compiler
+currently used and <code class="literal">$G4WORKDIR</code> is the path to the user
+working directory for Geant4.
+</p><p>
+A secondary template repository <code class="literal">$G4TREP/exec</code> is
+created by default and can be used when building executables to
+isolate the main repository used for building the libraries in case
+of clashes provoked by conflicting class-names. This secondary
+template repository can be activated by defining in the environment
+(or in the GNUmakefile related to the test/example to be built) the
+flag <code class="literal">G4EXEC_BUILD</code>; once activated, the secondary
+repository will become the read/write one, while the primary
+repository will be considered read-only.
+</p><p>
+At the current time, only few compilers still make use of a
+template repository. A good recommendation valid in general such
+compilers is to make use of a single template repository (specified
+by the <code class="literal">$G4TREP</code> environment variable) for building all
+Geant4 libraries; then use a secondary template repository
+(<code class="literal">$G4TREP/exec</code>, together with the
+<code class="literal">$G4EXEC_BUILD</code> flag) when building any kind of example or
+application.
+</p><p>
+It's always good practise to clean-up the secondary template
+repository from time to time.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.TpPrgCmp.Sun"></a>1.1. 
+Sun
+</h3></div></div></div><p>
+OS: SunOS
+</p><p>
+Compiler: CC
+</p><p>
+The default optimisation level is <code class="literal">-O2</code>.
+</p><p>
+Since version 5.0 of the compiler, native-STL is supported and
+ISO/ANSI compliance is required.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.TpPrgCmp.UnxLnxGpp"></a>1.2. 
+Unix/Linux - g++
+</h3></div></div></div><p>
+OS: Linux
+</p><p>
+Compiler: GNU/gcc
+</p><p>
+Strict ISO/ANSI compilation is forced (<code class="literal">-ansi -pedantic</code>
+compiler flags), also code is compiled with high verbosity
+diagnostics (<code class="literal">-Wall</code> flag). The default optimisation level
+is <code class="literal">-O2</code>.
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+Additional compilation options (<code class="literal">-march=pentium4
+-mfpmath=sse</code>) to adopt Pentium4 chip specific floating-point
+operations on the SSE unit, can be activated by uncommenting the
+relevant part in the <code class="literal">Linux-g++.gmk</code> configuration script.
+By doing so, it has been verified a greater stability of results,
+making possible reproducibility of exact outputs between debug,
+non-optimised and optimised runs. A little performance improvement
+(in the order of 2%) can also be achieved in some cases. To be
+considered that binaries built using these chip-specific options
+will NOT be portable cross platforms; generated applications will
+only run on Pentium4-based architectures.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.TpPrgCmp.WndMsVslCpp"></a>1.3. 
+Windows - MS Visual C++
+</h3></div></div></div><p>
+OS: MS/Windows
+</p><p>
+Compiler: MS-VC++
+</p><p>
+Since version .NET 7.0 of the compiler, ISO/ANSI compliance is
+required.
+</p><p>
+See <a href="ch03.html#sect.ClassCate" title="3.1. 
+Class Categories and Domains
+">Section 3.1</a> of the Installation Guide for 
+more detailed information.
+See also <a href="apas06.html#sect.BldMSV" title="6.1. 
+Building on MS Visual C++
+">Section 6.1</a> for more tips.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.TpPrgCmp.McXCpp"></a>1.4. 
+MacOS-X - g++
+</h3></div></div></div><p>
+OS: MacOS/Darwin
+</p><p>
+Compiler: GNU/gcc
+</p><p>
+The setup adopted for the <code class="literal">g++</code> compiler on MacOS
+resembles in great part the one for Linux systems.
+</p><p>
+The default optimisation level in this case is <code class="literal">-O2</code>.
+</p><p>
+Dynamic libraries (<code class="literal">.dylib</code>) are supported as well; once
+built, in order to run the generated application, the user must
+specify the absolute path in the system where they're installed
+with the <code class="literal">DYLD_LIBRARY_PATH</code> system variable.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apas02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">FAQ.7. 
+User Support Policy
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2. 
+Histogramming
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas02.html	(revision 901)
@@ -0,0 +1,77 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.  Histogramming</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apa.html" title="Appendix .  Appendix"><link rel="next" href="apas03.html" title="3.  CLHEP Foundation Library"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2. 
+Histogramming
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="apas03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Hst"></a>2. 
+Histogramming
+</h2></div></div></div><p>
+Geant4 is independent of any histogramming package. The Geant4
+toolkit has no drivers for histogramming, and no drivers are needed
+in Geant4 to use a histogramming package. The code for generating
+histograms should be compliant with the 
+<a href="http://aida.freehep.org/" target="_top">
+AIDA
+</a> 
+ abstract interfaces for Data Analysis. 
+</p><p>
+Consequently, you may use your favourite package together with
+the Geant4 toolkit.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hst.JAS"></a>2.1. 
+JAS
+</h3></div></div></div><p>
+Please refer to the 
+<a href="http://jas.freehep.org/documentation.htm" target="_top">
+JAS documentation
+</a> 
+ on histogramming for using the JAVA 
+Analysis Studio tool.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hst.iAIDA"></a>2.2. 
+iAida
+</h3></div></div></div><p>
+Please refer to the 
+<a href="http://iaida.dynalias.net/" target="_top">
+iAIDA (an implementation of AIDA in C++) documentation
+</a>:
+ tool for generating histograms with AIDA to
+HBook, Root and AIDA-native compressed XML format.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hst.OpnScnt"></a>2.3. 
+Open Scientist Lab
+</h3></div></div></div><p>
+Please refer to the 
+<a href="http://openscientist.lal.in2p3.fr/" target="_top">
+Open Scientist Lab documentation 
+</a>
+ on histogramming for using the Lab Analysis plug-in for the OnX package. 
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hst.rAIDA"></a>2.4. 
+rAIDA
+</h3></div></div></div><p>
+Please refer to the 
+<a href="http://ilcsoft.desy.de/portal/software_packages/raida/" target="_top">
+rAIDA documentation</a> (a <a href="http://root.cern.ch/" target="_top">Root</a> implementation of AIDA): 
+ Root plugin for generating histograms with AIDA.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hst.Exmp"></a>2.5. 
+Examples
+</h3></div></div></div><p>
+Examples in Geant4 showing how to use AIDA compliant tools for
+histogramming are available in the code distribution in the
+following directories:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     <code class="literal">geant4/examples/extended/analysis</code>,
+   </p></li><li><p>
+     <code class="literal">geant4/examples/extended/electromagnetic</code>     
+   </p></li><li><p>
+     <code class="literal">geant4/examples/advanced</code>     
+   </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apa.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apas03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Appendix . 
+Appendix
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3. 
+CLHEP Foundation Library
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas03.html	(revision 901)
@@ -0,0 +1,55 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.  CLHEP Foundation Library</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apas02.html" title="2.  Histogramming"><link rel="next" href="apas04.html" title="4.  C++ Standard Template Library"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3. 
+CLHEP Foundation Library
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="apas04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Clhep"></a>3. 
+CLHEP Foundation Library
+</h2></div></div></div><p>
+<a href="http://cern.ch/proj-clhep/" target="_top">
+CLHEP 
+</a>
+ is a set of Class Libraries containing many
+basic classes for use in High Energy Physics.
+</p><p>
+Both a CLHEP 
+<a href="http://cern.ch/proj-clhep/manual/RefGuide/" target="_top">
+Reference Guide 
+</a>
+ and a 
+<a href="http://cern.ch/proj-clhep/manual/UserGuide/" target="_top">
+User Guide 
+</a>
+ are available.
+</p><h5><a name="id557761"></a>
+Origin and current situation of CLHEP
+</h5><p>
+CLHEP started in 1992 as a library for fundamental classes
+mostly needed for, and in fact derived from, the MC event generator
+MC++ written in C++. Since then various authors added classes to
+this package, including several contributions made by developers in
+the Geant4 Collaboration.
+</p><h5><a name="id557775"></a>
+Geant4 and CLHEP
+</h5><p>
+The Geant4 project contributed to the development of CLHEP. The
+random number package, physics units and constants, and some of the
+numeric and geometry classes had their origins in Geant4.
+</p><p>
+Geant4 also benefits from the development of CLHEP. In addition
+to the already mentioned classes for random numbers and numerics,
+we use the classes for points, vectors, and planes and their
+transformations in 3D space, and lorentz vectors and their
+transformations. Although these classes have Geant4 names like
+G4ThreeVector, these are just typedefs to the CLHEP classes.
+</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apas04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2. 
+Histogramming
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4. 
+C++ Standard Template Library
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas04.html	(revision 901)
@@ -0,0 +1,71 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.  C++ Standard Template Library</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apas03.html" title="3.  CLHEP Foundation Library"><link rel="next" href="apas05.html" title="5.  Makefiles and Environment Variables"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4. 
+C++ Standard Template Library
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="apas05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.CppStdTL"></a>4. 
+C++ Standard Template Library
+</h2></div></div></div><h5><a name="id558043"></a>
+Overview
+</h5><p>
+The Standard Template Library (STL) is a general-purpose library
+of generic algorithms and data structures. It is part of the C++
+Standard Library. Nowadays, most compiler vendors include a version
+on STL in their products, and there are commercial implementations
+available as well.
+</p><p>
+Good books on STL are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     Nicolai M. Josuttis: The C++ Standard Library. A Tutorial and
+     Reference
+     [<span class="citation">
+     <a href="bi01.html#biblio.josuttis1999">
+    Josuttis1999
+  </a>
+     </span>]
+   </p></li><li><p>
+     David R. Musser, Atul Saini: STL Tutorial and Reference Guide /
+     C++ Programming with the Standard Template Library
+     [<span class="citation">
+     <a href="bi01.html#biblio.musser1996">
+    Musser1996
+  </a>
+     </span>]
+   </p></li><li><p>
+     Scott Meyers: Effective STL
+     [<span class="citation">
+     <a href="bi01.html#biblio.meyers2001">
+    Meyers2001
+  </a>
+     </span>]
+   </p></li></ul></div><p>
+</p><p>
+Resources available online include the
+reference of the SGI implementation:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://www.sgi.com/tech/stl/" target="_top">
+    SGI STL homepage 
+    </a>
+    , this is the basis of the native egcs STL implementation.
+  </p></li></ul></div><p>
+</p><h5><a name="id558491"></a>
+STL in Geant4
+</h5><p>
+Since release 0.1, Geant4 supports STL, the Standard Template
+Library. From release 1.0 of Geant4, STL is required.
+</p><p>
+<span class="emphasis"><em>Native</em></span> implementations of STL are foreseen on 
+all supported platforms.
+</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apas05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3. 
+CLHEP Foundation Library
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5. 
+Makefiles and Environment Variables
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas05.html	(revision 901)
@@ -0,0 +1,659 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.  Makefiles and Environment Variables</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apas04.html" title="4.  C++ Standard Template Library"><link rel="next" href="apas06.html" title="6.  Step-by-Step Installation Guides"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5. 
+Makefiles and Environment Variables
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="apas06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.MkflEnvVar"></a>5. 
+Makefiles and Environment Variables
+</h2></div></div></div><p>
+This section describes how the GNUmake infrastructure is
+implemented in Geant4 and provides a quick reference guide for the
+user/installer about the most important environment variables
+defined.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkflEnvVar.GNUG4"></a>5.1. 
+The GNUmake system in Geant4
+</h3></div></div></div><p>
+As described in <a href="ch02.html#sect.HowToDefMain" title="2.1. 
+How to Define the main() Program
+">Section 2.1</a> of the 
+Installation Guide, the GNUmake process in
+Geant4 is mainly controlled by the following GNUmake script files
+(<code class="literal">*.gmk</code> scripts are placed in
+<code class="literal">$G4INSTALL/config</code>):
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">architecture.gmk</code>: defining all the architecture
+    specific settings and paths. System settings are stored in
+    <code class="literal">$G4INSTALL/config/sys</code> in separate files.
+  </p></li><li><p>
+    <code class="literal">common.gmk</code>: defining all general GNUmake rules for
+    building objects and libraries.
+  </p></li><li><p>
+    <code class="literal">globlib.gmk</code>: defining all general GNUmake rules for
+    building compound libraries.
+  </p></li><li><p>
+    <code class="literal">binmake.gmk</code>: defining the general GNUmake rules for
+    building executables.
+  </p></li><li><p>
+    <code class="literal">GNUmake</code> scripts: placed inside each directory in the
+    G4 distribution and defining directives specific to build a library
+    (or a set of sub-libraries) or and executable.
+  </p></li></ul></div><p>
+</p><p>
+To build a single library (or a set of sub-libraries) or an
+executable, you must explicitly change your current directory to
+the one you're interested in and invoke the "<code class="literal">gmake</code>"
+command from there ("<code class="literal">gmake global</code>" for building a
+compound library). Here is a list of the basic commands or GNUmake
+"targets" one can invoke to build libraries and/or executables:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">gmake</code>
+    </p><p>
+    starts the compilation process for building a kernel library or a
+    library associated with an example. Kernel libraries are built with
+    maximum granularity, i.e. if a category is a compound, this command  
+    will build all the related sub-libraries, 
+    <span class="bold"><strong>not</strong></span> the compound one. 
+    The top level <code class="literal">GNUmakefile</code> in
+    <code class="literal">$G4INSTALL/source</code> will also build in this case a
+    dependency map <code class="literal">libname.map</code> of each library to establish
+    the linking order automatically at the <code class="literal">bin</code> step. The map
+    will be placed in <code class="literal">$G4LIB/$G4SYSTEM</code>.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">gmake global</code>
+    </p><p>
+    starts the compilation process to build a single compound kernel
+    library per category. If issued after "gmake", both 'granular' and
+    'compound' libraries will be available (NOTE: this will
+    consistently increase the disk space required. Compound libraries
+    will then be selected by default at link time, unless
+    G4LIB_USE_GRANULAR is specified).
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">gmake bin</code> or <code class="literal">gmake</code> (only for
+    examples/)
+    </p><p>
+    starts the compilation process to build an executable. This command
+    will build implicitly the library associated with the example and
+    link the final application. It assumes <span class="bold"><strong>all</strong></span> 
+    kernel libraries are already generated and placed in the correct
+    <code class="literal">$G4INSTALL</code> path defined for them.
+    </p><p>
+
+    </p><p>
+    The linking order is controlled automatically in case libraries
+    have been built with maximum granularity, and the link list is
+    generated on the fly.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">make dll</code>
+    </p><p>
+    On Windows systems this will start the compilation process to build
+    single compound kernel library per category and generate Dynamic
+    Link Libraries (DLLs). Once the libraries are generated, the
+    process will imply also the deletion of all temporary files
+    generated during the compilation.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id558943"></a>
+<code class="literal">lib/ bin/</code> and <code class="literal">tmp/</code> directories
+</h5><p>
+The <code class="literal">$G4INSTALL</code> environment variable specifies where
+the installation of the Geant4 toolkit should take place, therefore
+kernel libraries will be placed in <code class="literal">$G4INSTALL/lib</code>. The
+<code class="literal">$G4WORKDIR</code> environment variable is set by the user and
+specifies the path to the user working directory; temporary files
+(object-files and data products of the installation process of
+Geant4) will be placed in <code class="literal">$G4WORKDIR/tmp</code>, according to
+the system architecture used. Binaries will be placed in
+<code class="literal">$G4WORKDIR/bin</code>, according to the system architecture
+used. The path to <code class="literal">$G4WORKDIR/bin/$G4SYSTEM</code> should be
+added to <code class="literal">$PATH</code> in the user environment.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkflEnvVar.EnvVar"></a>5.2. 
+Environment variables
+</h3></div></div></div><p>
+Here is a list of the most important environment variables defined
+within the Geant4 <code class="literal">GNUmake</code> infrastructure, with a short
+explanation of their use.
+</p><p>
+<span class="bold"><strong>We recommend that those environment variables listed here and
+marked with (*) NOT be overriden or set (explicitly or by
+accident). They are already set and used internally in the default
+setup !</strong></span>
+</p><h5><a name="id559047"></a>
+System configuration
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $CLHEP_BASE_DIR
+    </span></dt><dd>
+      Specifies the path where the CLHEP package is installed in your system.
+    </dd><dt><span class="term">
+      $G4SYSTEM
+    </span></dt><dd><p> 
+      Defines the architecture and compiler currently used.
+      </p><p> 
+      <span class="bold"><strong>NOTE</strong></span>: This variable is set automatically 
+      if the <code class="literal">Configure</code> script is adopted for the
+      installation. This will result in the proper settings also for
+      configuring the environment with the generated shell scripts
+      <code class="literal">env.[c]sh</code>.
+      </p></dd></dl></div><p>
+</p><h5><a name="id559109"></a>
+Installation paths
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4INSTALL
+    </span></dt><dd>
+      Defines the path where the Geant4 toolkit should be installed. It
+      should be set by the system installer. By default, it sets to
+      <code class="literal">$HOME/geant4</code>, assuming the Geant4 distribution 
+      is placed in <code class="literal">$HOME</code>.
+    </dd><dt><span class="term">
+      $G4BASE <span class="bold"><strong>(*)</strong></span>
+    </span></dt><dd>
+      Defines the path to the source code. Internally used to define
+      <code class="literal">$CPPFLAGS</code> and <code class="literal">$LDFLAGS</code> for 
+      -I and -L directives. It has to be set to 
+      <code class="literal">$G4INSTALL/src</code>.
+    </dd><dt><span class="term">
+      $G4WORKDIR
+    </span></dt><dd>
+      Defines the path for the user's workdir for Geant4. It is set by
+      default to <code class="literal">$HOME/geant4</code>, assuming the user's 
+      working directory for Geant4 is placed in <code class="literal">$HOME</code>.
+    </dd><dt><span class="term">
+      $G4INCLUDE
+    </span></dt><dd>
+      Defines the path where source header files may be mirrored at
+      installation by issuing <code class="literal">gmake includes</code> (default 
+      is set to <code class="literal">$G4INSTALL/include</code>)
+    </dd><dt><span class="term">
+      $G4BIN, $G4BINDIR <span class="bold"><strong>(*)</strong></span>
+    </span></dt><dd>
+      Used by the system to specify the place where to store executables.
+      By default they're set to <code class="literal">$G4WORKDIR/bin</code> and
+      <code class="literal">$G4BIN/$G4SYSTEM</code> respectively. The path to
+      <code class="literal">$G4WORKDIR/bin/$G4SYSTEM</code> should be added to 
+      <code class="literal">$PATH</code> in the user environment. 
+      <code class="literal">$G4BIN</code> can be overridden.
+    </dd><dt><span class="term">
+      $G4TMP, $G4TMPDIR <span class="bold"><strong>(*)</strong></span>
+    </span></dt><dd>
+      Used by the system to specify the place where to store temporary
+      files products of the compilation/build of a user application or
+      test. By default they're set to <code class="literal">$G4WORKDIR/tmp</code> 
+      and <code class="literal">$G4TMP/$G4SYSTEM</code> respectively. 
+      <code class="literal">$G4TMP</code> can be overridden.
+    </dd><dt><span class="term">
+      $G4LIB, $G4LIBDIR <span class="bold"><strong>(*)</strong></span>
+    </span></dt><dd>
+      Used by the system to specify the place where to store libraries.
+      By default they're set to <code class="literal">$G4INSTALL/lib</code> and
+      <code class="literal">$G4LIB/$G4SYSTEM</code> respectively. 
+      <code class="literal">$G4LIB</code> can be overridden.
+    </dd></dl></div><p>
+</p><h5><a name="id559345"></a>
+Build specific
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4TARGET
+    </span></dt><dd>
+      Specifies the target (name of the source file defining the main())
+      of the application/example to be built. This variable is set
+      automatically for the examples and tests placed in
+      <code class="literal">$G4INSTALL/examples</code>.
+    </dd><dt><span class="term">
+      $G4EXEC_BUILD
+    </span></dt><dd>
+      Flag specifying if to use a secondary template repository or not
+      for handling template instantiations at the time of building a user
+      application/example. For internal category tests in Geant4, this
+      variable is already in the related GNUmakefile. It's however not
+      needed for examples and tests in <code class="literal">$G4INSTALL/examples</code>,
+      where class names are already mangled and different each other. It
+      applies only on those compilers which make use of template
+      repositories (see Appendix A.2 of this Guide). The secondary
+      template repository is set to <code class="literal">$G4TREP/exec</code>.
+    </dd><dt><span class="term">
+      $G4DEBUG
+    </span></dt><dd>
+      Specifies to compile the code (libraries or examples) including
+      symbolic information in the object code for debugging. The size of
+      the generated object code can increase considerably. By default,
+      code is compiled in optimised mode (<code class="literal">$G4OPTIMISE</code> set).
+    </dd><dt><span class="term">
+      $G4NO_OPTIMISE
+    </span></dt><dd>
+      Specifies to compile the code (libraries or examples) without
+      compiler optimisation.
+    </dd><dt><span class="term">
+      $G4_NO_VERBOSE
+    </span></dt><dd>
+      Geant4 code is compiled by default in high verbosity mode
+      (<code class="literal">$G4VERBOSE</code> flag set). For better performance, 
+      verbosity code can be left out by defining <code class="literal">$G4_NO_VERBOSE</code>.
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_SHARED
+    </span></dt><dd>
+      Flag specifying if to build kernel libraries as shared libraries
+      (libraries will be then used by default). If not set, static
+      archive libraries are built by default.
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_STATIC
+    </span></dt><dd>
+      Flag specifying if to build kernel libraries as static archive
+      libraries in addition to shared libraries (in case
+      <code class="literal">$G4LIB_BUILD_SHARED</code> is set as well).
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_DLL <span class="bold"><strong>(*)</strong></span>
+    </span></dt><dd>
+      Internal flag for specifying to build DLL kernel libraries for
+      Windows systems. The flag is automatically set when requested to
+      build DLLs.
+    </dd><dt><span class="term">
+      $G4LIB_USE_DLL
+    </span></dt><dd>
+      For Windows systems only. Flag to specify to build an application
+      using the installed DLL kernel libraries for Windows systems. It is
+      required to have this flag set in the environment in order to
+      successfully build an application if the DLL libraries have been
+      installed.
+    </dd><dt><span class="term">
+      $G4LIB_USE_GRANULAR
+    </span></dt><dd>
+      To force usage of "granular" libraries against "compound" libraries
+      at link time in case both have been installed. The Geant4 building
+      system chooses "compound" libraries by default, if installed.
+    </dd><dt><span class="term">
+      
+    </span></dt><dd></dd></dl></div><p>
+</p><h5><a name="id559537"></a>
+UI specific
+</h5><p>
+The most relevant flags for User Interface drivers are just
+listed here. A more detailed description is given also in section
+2. of this User's Guide.
+</p><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      G4UI_USE_TERMINAL
+    </span></dt><dd>
+      Specifies to use dumb terminal interface in the application to be
+      built (default).
+    </dd><dt><span class="term">
+      G4UI_USE_TCSH
+    </span></dt><dd>
+      Specifies to use the tcsh-shell like interface in the application
+      to be built.
+    </dd><dt><span class="term">
+      G4UI_BUILD_XM_SESSION, G4UI_BUILD_XAW_SESSION
+    </span></dt><dd>
+      Specifies to include in kernel library the <span class="emphasis"><em>XM</em></span> or 
+      <span class="emphasis"><em>XAW</em></span> Motif-based user interfaces.
+    </dd><dt><span class="term">
+      G4UI_USE_XM, G4UI_USE_XAW
+    </span></dt><dd>
+      Specifies to use the <span class="emphasis"><em>XM</em></span> or <span class="emphasis"><em>XAW</em></span> 
+      interfaces in the application to be built.
+    </dd><dt><span class="term">
+      G4UI_BUILD_WIN32_SESSION
+    </span></dt><dd>
+      Specifies to include in kernel library the WIN32 terminal interface
+      for Windows systems.
+    </dd><dt><span class="term">
+      G4UI_USE_WIN32
+    </span></dt><dd>
+      Specifies to use the WIN32 interfaces in the application to be
+      built on Windows systems.
+    </dd><dt><span class="term">
+      G4UI_BUILD_QT_SESSION
+    </span></dt><dd>
+      Specifies to include in kernel library the Qt terminal interface.
+      <code class="literal">$QTHOME</code> should specify the path where Qt libraries
+      and headers are installed
+    </dd><dt><span class="term">
+      G4UI_USE_QT
+    </span></dt><dd>
+      Specifies to use the Qt interfaces in the application to be
+      built.
+    </dd><dt><span class="term">
+      G4UI_NONE
+    </span></dt><dd>
+      If set, no UI sessions nor any UI libraries are built. This can be
+      useful when running a pure batch job or in a user framework having
+      its own UI system.
+    </dd></dl></div><p>
+</p><h5><a name="id559675"></a>
+Visualization specific
+</h5><p>
+The most relevant flags for visualization graphics drivers are
+just listed here. A description of these variables is given also in
+section 2. of this User's Guide.
+</p><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4VIS_BUILD_OPENGLX_DRIVER
+    </span></dt><dd>
+      Specifies to build kernel library for visualization including the
+      OpenGL driver with X11 extension. It requires <code class="literal">$OGLHOME</code> 
+      set (path to OpenGL installation).
+    </dd><dt><span class="term">
+      $G4VIS_USE_OPENGLX
+    </span></dt><dd>
+      Specifies to use OpenGL graphics with X11 extension in the
+      application to be built.
+    </dd><dt><span class="term">
+      $G4VIS_BUILD_OPENGLXM_DRIVER
+    </span></dt><dd>
+      Specifies to build kernel library for visualization including the
+      OpenGL driver with XM extension. It requires <code class="literal">$OGLHOME</code> 
+      set (path to OpenGL installation).
+    </dd><dt><span class="term">
+      $G4VIS_USE_OPENGLXM
+    </span></dt><dd>
+      Specifies to use OpenGL graphics with XM extension in the
+      application to be built.
+    </dd><dt><span class="term">
+      G4VIS_BUILD_OPENGLQT_DRIVER
+    </span></dt><dd>
+      Specifies to build kernel library for visualization including the
+      OpenGL driver with Qt extension. It requires <code class="literal">$QTHOME</code>
+      set to specify the path where Qt libraries and headers are installed.
+    </dd><dt><span class="term">
+      G4VIS_USE_OPENGLQT
+    </span></dt><dd>
+      Specifies to use OpenGL graphics with Qt extension in the
+      application to be built.
+    </dd><dt><span class="term">
+      $G4VIS_BUILD_OI_DRIVER
+    </span></dt><dd>
+      Specifies to build kernel library for visualization including the
+      OpenInventor driver. It requires <code class="literal">$OIHOME</code> set 
+      (paths to the <code class="literal">OpenInventor</code> installation).
+    </dd><dt><span class="term">
+      $G4VIS_USE_OI
+    </span></dt><dd>
+      Specifies to use OpenInventor graphics in the application to be
+      built.
+    </dd><dt><span class="term">
+      $G4VIS_BUILD_OIX_DRIVER
+    </span></dt><dd>
+      Specifies to build the driver for the free X11 version of
+      OpenInventor.
+    </dd><dt><span class="term">
+      $G4VIS_USE_OIX
+    </span></dt><dd>
+      Specifies to use the free X11 version of OpenInventor.
+    </dd><dt><span class="term">
+      $G4VIS_BUILD_RAYTRACERX_DRIVER
+    </span></dt><dd>
+      Specifies to build kernel library for visualization including the
+      Ray-Tracer driver with X11 extension. It requires <code class="literal">X11</code>
+      installed in the system.
+    </dd><dt><span class="term">
+      $G4VIS_USE_RAYTRACERX
+    </span></dt><dd>
+      Specifies to use the X11 version of the Ray-Tracer driver.
+    </dd><dt><span class="term">
+      $G4VIS_BUILD_OIWIN32_DRIVER
+    </span></dt><dd>
+      Specifies to build the driver for the free X11 version of
+      OpenInventor on Windows systems.
+    </dd><dt><span class="term">
+      $G4VIS_USE_OIWIN32
+    </span></dt><dd>
+      Specifies to use the free X11 version of OpenInventor on Windows
+      systems.
+    </dd><dt><span class="term">
+      $G4VIS_BUILD_DAWN_DRIVER
+    </span></dt><dd>
+      Specifies to build kernel library for visualization including the
+      driver for DAWN.
+    </dd><dt><span class="term">
+      $G4VIS_USE_DAWN
+    </span></dt><dd>
+      Specifies to use DAWN as a possible graphics renderer in the
+      application to be built.
+    </dd><dt><span class="term">
+      $G4DAWN_HOST_NAME
+    </span></dt><dd>
+      To specify the hostname for use with the DAWN-network driver.
+    </dd><dt><span class="term">
+      $G4VIS_NONE
+    </span></dt><dd>
+      If specified, no visualization drivers will be built or used.
+    </dd></dl></div><p>
+</p><h5><a name="id559930"></a>
+Hadronic physics specific
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
+    </span></dt><dd>
+      When using high precision neutron code, user may choose to force the
+      use of Photon Evaporation model instead of using the neutron capture
+      final state data.
+    </dd><dt><span class="term">
+      $G4NEUTRONHP_SKIP_MISSING_ISOTOPES
+    </span></dt><dd>
+      User can force high precison neutron code to use only exact isotope
+      data files instead of allowing nearby isotope files to be used. If the
+      exact file is not available, the cross section will be set to zero and a
+      warning message will be printed.
+    </dd><dt><span class="term">
+      $G4NEUTRONHP_NEGLECT_DOPPLER
+    </span></dt><dd>
+      Sets neglecting doppler broadening mode for boosting performance.
+    </dd></dl></div><p>
+</p><h5><a name="id559980"></a>
+<code class="literal">GDML</code>, <code class="literal">zlib</code> and <code class="literal">g3tog4</code> modules
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4LIB_BUILD_GDML
+    </span></dt><dd>
+      If set, triggers compilation of a plugin module <code class="literal">gdml</code> 
+      for allowing import/export of detector description setups (geometrical
+      volumes, solids, materials, etc.). By default, the flag is not set; if
+      set, the path to the installation of XercesC package must be specified
+      through the variable <code class="literal">$XERCESCROOT</code>. 
+    </dd><dt><span class="term">
+      $G4LIB_USE_GDML
+    </span></dt><dd>
+      Specifies to use the <code class="literal">gdml</code> module. The flag is
+      automatically set if <code class="literal">$G4LIB_BUILD_GDML</code> is set in the environment.
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_ZLIB
+    </span></dt><dd>
+      If set, triggers compilation of a specific <code class="literal">zlib</code> 
+      module for the compression of output files (mainly in use currently 
+      for the HepRep graphics driver). By default, the flag is not set and 
+      the built-in system library for compression is adopted instead. Setting
+      this flag will also implicitely set the flag below.
+    </dd><dt><span class="term">
+      $G4LIB_USE_ZLIB
+    </span></dt><dd>
+      Specifies to use the <code class="literal">zlib</code> module, either system 
+      built-in or Geant4 specific.
+    </dd><dt><span class="term">
+      $G4LIB_BUILD_G3TOG4
+    </span></dt><dd>
+      If set, triggers compilation of the <code class="literal">g3tog4</code> module for
+      conversions of simple legacy geometries descriptions to Geant4. By
+      default, the flag is not set and the module's library is not built.
+      Setting this flag will also implicitely set the flag below.
+    </dd><dt><span class="term">
+      $G4LIB_USE_G3TOG4
+    </span></dt><dd>
+      Specifies to use the <code class="literal">g3tog4</code> module, assuming the related
+      library has been already installed.
+    </dd></dl></div><p>
+</p><h5><a name="id560130"></a>
+Analysis specific
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4ANALYSIS_USE
+    </span></dt><dd>
+      Specifies to activate the appropriate environment for analysis, if
+      an application includes code for histogramming based on
+      <span class="emphasis"><em>AIDA</em></span>. Additional setup variables are required
+      (<code class="literal">$G4ANALYSIS_AIDA_CONFIG_CFLAGS</code>,
+      <code class="literal">$G4ANALYSIS_AIDA_CONFIG_LIBS</code>) to define config options 
+      for AIDA ("<code class="literal">aida-config --cflags</code>" and 
+      "<code class="literal">aida-config --libs</code>"). See installation instructions 
+      of the specific analysis tools for details.
+    </dd></dl></div><p>
+</p><h5><a name="id560186"></a>
+Directory paths to Physics Data
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      $G4NEUTRONHPDATA
+    </span></dt><dd>
+      Path to external data set for Neutron Scattering processes.
+    </dd><dt><span class="term">
+      $G4LEDATA
+    </span></dt><dd>
+      Path to external data set for low energy electromagnetic
+      processes.
+    </dd><dt><span class="term">
+      $G4LEVELGAMMADATA
+    </span></dt><dd>
+      Path to the data set for Photon Evaporation.
+    </dd><dt><span class="term">
+      $G4RADIOACTIVEDATA
+    </span></dt><dd>
+      Path to the data set for Radiative Decay processes.
+    </dd><dt><span class="term">
+      $G4ABLADATA
+    </span></dt><dd>
+      Path to nuclear shell effects data set for INCL/ABLA hadronic model.
+    </dd></dl></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkflEnvVar.LnkExtLib"></a>5.3. 
+Linking External Libraries with Geant4
+</h3></div></div></div><p>
+The Geant4 GNUmake infrastructure allows to extend the link list of
+libraries with external (or user defined) packages which may be
+required for some user's applications to generate the final
+executable.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.MkflEnvVar.LnkExtLib.AddExtlibNoG4"></a>5.3.1. 
+Adding external libraries which do *not* use Geant4
+</h4></div></div></div><p>
+In the <code class="literal">GNUmakefile</code> of your application, before including
+<code class="literal">binmake.gmk</code>, specify the extra library in
+<code class="literal">EXTRALIBS</code> either using the <code class="literal">-L...-l...</code> 
+syntax or by specifying the full pathname, e.g.:
+
+</p><div class="informalexample"><pre class="programlisting">
+  EXTRALIBS := -L&lt;your-path&gt;/lib -l&lt;myExtraLib&gt;
+</pre></div><p>
+or
+</p><div class="informalexample"><pre class="programlisting">
+  EXTRALIBS := &lt;your-path&gt;/lib/lib&lt;myExtraLib&gt;.a
+</pre></div><p>
+</p><p>
+You may also specify <code class="literal">EXTRA_LINK_DEPENDENCIES</code>, which is
+added to the dependency of the target executable, and you may also
+specify a rule for making it, e.g.:
+
+</p><div class="informalexample"><pre class="programlisting">
+  EXTRA_LINK_DEPENDENCIES := &lt;your-path&gt;/lib/lib&lt;myExtraLib&gt;.a
+
+  &lt;your-path&gt;/lib/lib&lt;myExtraLib&gt;.a:
+        cd &lt;your-path&gt;/lib; $(MAKE)
+</pre></div><p>
+</p><p>
+Note that you almost certainly need to augment <code class="literal">CPPFLAGS</code>
+for the header files of the external library, e.g.:
+
+</p><div class="informalexample"><pre class="programlisting">
+  CPPFLAGS+=-I&lt;your-path&gt;/include
+</pre></div><p>
+
+See <a href="apas05.html#programlist_MkflEnvVar_1" title="Example 86. 
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+">Example 86</a>.
+</p><p>
+</p><div class="example"><a name="programlist_MkflEnvVar_1"></a><p class="title"><b>Example 86. 
+An example of a customised GNUmakefile for an application or
+example using an external module not bound to Geant4.
+</b></p><div class="example-contents"><pre class="programlisting">
+ # --------------------------------------------------------------------
+ # GNUmakefile for the application "sim" depending on module "Xplotter"
+ # --------------------------------------------------------------------
+
+ name := sim
+ G4TARGET := $(name)
+ G4EXLIB := true
+
+ CPPFLAGS  += -I$(HOME)/Xplotter/include
+ EXTRALIBS += -L$(HOME)/Xplotter/lib -lXplotter
+ EXTRA_LINK_DEPENDENCIES := $(HOME)/Xplotter/lib/libXplotter.a
+
+ .PHONY: all
+
+ all: lib bin
+
+ include $(G4INSTALL)/config/binmake.gmk
+
+ $(HOME)/Xplotter/lib/libXplotter.a:
+         cd $(HOME)/Xplotter; $(MAKE)
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.MkflEnvVar.LnkExtLib.AddExtlibWithG4"></a>5.3.2. 
+Adding external libraries which use Geant4
+</h4></div></div></div><p>
+In addition to the above, specify, in <code class="literal">EXTRALIBSSOURCEDIRS</code>,
+a list of directories containing source files in its <code class="literal">src/</code>
+subdirectory. Thus, your <code class="literal">GNUmakefile</code> might contain:
+
+</p><div class="informalexample"><pre class="programlisting">
+  EXTRALIBS += $(G4WORKDIR)/tmp/$(G4SYSTEM)/&lt;myApp&gt;/lib&lt;myApp&gt;.a \
+               -L&lt;your-path&gt;/lib -l&lt;myExtraLib&gt;
+  EXTRALIBSSOURCEDIRS += &lt;your-path&gt;/&lt;myApp&gt; &lt;your-path&gt;/&lt;MyExtraModule&gt;
+  EXTRA_LINK_DEPENDENCIES := $(G4WORKDIR)/tmp/$(G4SYSTEM)/&lt;myApp&gt;/lib&lt;myApp&gt;.a
+
+  MYSOURCES := $(wildcard &lt;your-path&gt;/&lt;myApp&gt;/src/*cc)
+  $(G4WORKDIR)/tmp/$(G4SYSTEM)/&lt;myApp&gt;/lib&lt;myApp&gt;.a: $(MYSOURCES)
+        cd &lt;your-path&gt;/&lt;myApp&gt;; $(MAKE)
+</pre></div><p>
+</p><p>
+See <a href="apas05.html#programlist_MkflEnvVar_2" title="Example 87. 
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+">Example 87</a>.
+</p><p>
+</p><div class="example"><a name="programlist_MkflEnvVar_2"></a><p class="title"><b>Example 87. 
+An example of a customised GNUmakefile for an
+application or example using external modules bound to Geant4.
+</b></p><div class="example-contents"><pre class="programlisting">
+# -----------------------------------------------------------------
+# GNUmakefile for the application "phys" depending on module "reco"
+# -----------------------------------------------------------------
+
+name := phys
+G4TARGET := $(name)
+G4EXLIB := true
+
+EXTRALIBS += $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libphys.a \
+             -L$(HOME)/reco/lib -lreco
+EXTRALIBSSOURCEDIRS += $(HOME)/phys $(HOME)/reco
+EXTRA_LINK_DEPENDENCIES := $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libphys.a
+
+.PHONY: all
+all: lib bin
+
+include $(G4INSTALL)/config/binmake.gmk
+
+MYSOURCES := $(wildcard $(HOME)/phys/src/*cc)
+$(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/libphys.a: $(MYSOURCES)
+        cd $(HOME)/phys; $(MAKE)
+</pre></div></div><p><br class="example-break">
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apas06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4. 
+C++ Standard Template Library
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 6. 
+Step-by-Step Installation Guides
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas06.html	(revision 901)
@@ -0,0 +1,65 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>6.  Step-by-Step Installation Guides</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apas05.html" title="5.  Makefiles and Environment Variables"><link rel="next" href="apas07.html" title="7.  Development and debug tools"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6. 
+Step-by-Step Installation Guides
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="apas07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.StepGuides"></a>6. 
+Step-by-Step Installation Guides
+</h2></div></div></div><p>
+You can find below some useful pages collecting instructions on how to
+install Geant4 in a detailed step-by-step tutorial:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     <a href="http://geant4.slac.stanford.edu/tutorial/installation/" target="_top">
+      Step by step Installation Guides</a>.
+   </p></li></ul></div><p>
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.BldMSV"></a>6.1. 
+Building on MS Visual C++
+</h3></div></div></div><p>
+Geant4 can be compiled with the C++ compiler of MS Visual Studio
+C++ and the 
+<a href="http://cygwin.com/" target="_top">
+Cygwin toolset</a>. 
+Detailed instructions are given in the Installation
+manual. As the build system relies on <code class="literal">make</code> and other 
+Unix tools using only the compiler of MS Visual Studio, the section on
+</p><p>
+<a href="apas05.html" title="5. 
+Makefiles and Environment Variables
+">Section 5</a> Makefile and environment variables
+applies also for building with MS Visual C++.
+</p><p>
+We do not support compilation directly under MS Visual Studio,
+i.e. we do not provide workspace files <code class="literal">(.dsw)</code> or project
+files (<code class="literal">.dsp</code>).
+</p><p>
+However the executables created are debuggable using the
+debugger of MS Visual Studio. You may have to help the debugger
+finding the path to source files the first time you debug a given
+executable.
+</p><p>
+Listed below are some useful pages with instructions on how to start with the
+installation of CygWin, and also tips for creating a project under Visual
+Studio:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     <a href="http://www.lcsim.org/docs/gettingstarted/Cygwin/" target="_top">
+     Getting started with Cygwin</a>.
+   </p></li><li><p>
+     <a href="http://cern.ch/geant4/support/windows_note.shtml" target="_top">
+     Cygwin Installation Notes</a>.
+   </p></li><li><p>
+     <a href="http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2005/index.htm" target="_top">
+     Building a MSVC++ Visual Studio 2005 Geant4 project</a>.
+   </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apas07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5. 
+Makefiles and Environment Variables
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 7. 
+Development and debug tools
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas07.html	(revision 901)
@@ -0,0 +1,89 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>7.  Development and debug tools</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apas06.html" title="6.  Step-by-Step Installation Guides"><link rel="next" href="apas08.html" title="8.  Geant4 Material Database"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7. 
+Development and debug tools
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="apas08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.DvpDbg"></a>7. 
+Development and debug tools
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.DvpDbg.Unix"></a>7.1. 
+UNIX
+</h3></div></div></div><p>
+Although not in the scope of this user manual, in this appendix
+section we provide a set of references to rather known and
+established development tools and environments we think are useful
+for code development in C++ in general. It's a rather limited list,
+far from being complete of course.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The 
+    <a href="http://kdevelop.org/" target="_top">
+    KDevelop environment 
+    </a>
+    on Linux systems.
+  </p></li><li><p>
+    The GNU 
+    <a href="http://www.gnu.org/software/ddd/" target="_top">
+    Data Display Debugger 
+    </a>
+    (DDD).
+  </p></li><li><p>
+    <a href="http://valgrind.org/" target="_top">
+    Valgrind
+    </a>
+    , a system for debugging and profiling Linux programs.
+  </p></li><li><p>
+    SUN 
+    <a href="http://developers.sun.com/sw/products/overview.html" target="_top">
+    SUN ONE Studio environment 
+    </a>
+    (former Workshop).
+  </p></li><li><p>
+    Microsoft  
+    <a href="http://msdn.microsoft.com/vstudio/" target="_top">
+    Visual Studio
+    </a>
+    development environment.
+  </p></li><li><p>
+    Parasoft  
+    <a href="http://www.parasoft.com/jsp/products/home.jsp?product=Insure&amp;" target="_top">
+    Insure++ 
+    </a>
+    run-time debugger and memory checker 
+  </p></li><li><p>
+    Parasoft 
+    <a href="http://www.parasoft.com/jsp/products/home.jsp?product=CppTest" target="_top">
+    C++ Test
+    </a>
+    source code analyzer.
+  </p></li><li><p>
+    <a href="http://www-306.ibm.com/software/rational/offerings/design.html" target="_top">
+    Rational Rose 
+    </a>
+    CASE tool.
+  </p></li><li><p>
+    <a href="http://www.borland.com/us/products/together/index.html" target="_top">
+    Together ControlCenter 
+    </a>
+    development environment.
+  </p></li><li><p>
+    <a href="http://www.telelogic.com/products/logiscope/index.cfm" target="_top">
+    Logiscope 
+    </a>
+    tool for metrics analysis.
+  </p></li><li><p>
+    <a href="http://www-306.ibm.com/software/rational/offerings/lifecycle.html" target="_top">
+    Rational Unified Process
+    </a>
+    (RUP) tool for Software engineering.
+  </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apas08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">6. 
+Step-by-Step Installation Guides
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8. 
+Geant4 Material Database
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas08.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas08.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas08.html	(revision 901)
@@ -0,0 +1,966 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.  Geant4 Material Database</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="apa.html" title="Appendix .  Appendix"><link rel="prev" href="apas07.html" title="7.  Development and debug tools"><link rel="next" href="bi01.html" title="Bibliography"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8. 
+Geant4 Material Database
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Appendix . 
+Appendix
+</th><td width="20%" align="right"> <a accesskey="n" href="bi01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.G4MatrDb"></a>8. 
+Geant4 Material Database
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4MatrDb.PurMat"></a>8.1. 
+Pure Materials
+</h3></div></div></div><p>
+</p><pre class="programlisting">
+=========================================================
+  Z   Name    ChFormula        density(g/cm^3)     I(eV)
+=========================================================
+  1   G4_H                      8.3748e-05          19.2 
+  2   G4_He                     0.000166322         41.8
+  3   G4_Li                     0.534               40
+  4   G4_Be                     1.848               63.7
+  5   G4_B                      2.37                76
+  6   G4_C                      2                   81
+  7   G4_N                      0.0011652           82
+  8   G4_O                      0.00133151          95
+  9   G4_F                      0.00158029         115
+ 10   G4_Ne                     0.000838505        137
+ 11   G4_Na                     0.971              149
+ 12   G4_Mg                     1.74               156
+ 13   G4_Al                     2.699              166
+ 14   G4_Si                     2.33               173
+ 15   G4_P                      2.2                173
+ 16   G4_S                      2                  180
+ 17   G4_Cl                     0.00299473         174
+ 18   G4_Ar                     0.00166201         188
+ 19   G4_K                      0.862              190
+ 20   G4_Ca                     1.55               191
+ 21   G4_Sc                     2.989              216
+ 22   G4_Ti                     4.54               233
+ 23   G4_V                      6.11               245
+ 24   G4_Cr                     7.18               257
+ 25   G4_Mn                     7.44               272
+ 26   G4_Fe                     7.874              286
+ 27   G4_Co                     8.9                297
+ 28   G4_Ni                     8.902              311
+ 29   G4_Cu                     8.96               322
+ 30   G4_Zn                     7.133              330
+ 31   G4_Ga                     5.904              334
+ 32   G4_Ge                     5.323              350
+ 33   G4_As                     5.73               347
+ 34   G4_Se                     4.5                348
+ 35   G4_Br                     0.0070721          343
+ 36   G4_Kr                     0.00347832         352
+ 37   G4_Rb                     1.532              363
+ 38   G4_Sr                     2.54               366
+ 39   G4_Y                      4.469              379
+ 40   G4_Zr                     6.506              393
+ 41   G4_Nb                     8.57               417
+ 42   G4_Mo                    10.22               424
+ 43   G4_Tc                    11.5                428
+ 44   G4_Ru                    12.41               441
+ 45   G4_Rh                    12.41               449
+ 46   G4_Pd                    12.02               470
+ 47   G4_Ag                    10.5                470
+ 48   G4_Cd                     8.65               469
+ 49   G4_In                     7.31               488
+ 50   G4_Sn                     7.31               488
+ 51   G4_Sb                     6.691              487
+ 52   G4_Te                     6.24               485
+ 53   G4_I                      4.93               491
+ 54   G4_Xe                     0.00548536         482
+ 55   G4_Cs                     1.873              488
+ 56   G4_Ba                     3.5                491
+ 57   G4_La                     6.154              501
+ 58   G4_Ce                     6.657              523
+ 59   G4_Pr                     6.71               535
+ 60   G4_Nd                     6.9                546
+ 61   G4_Pm                     7.22               560
+ 62   G4_Sm                     7.46               574
+ 63   G4_Eu                     5.243              580
+ 64   G4_Gd                     7.9004             591
+ 65   G4_Tb                     8.229              614
+ 66   G4_Dy                     8.55               628
+ 67   G4_Ho                     8.795              650
+ 68   G4_Er                     9.066              658
+ 69   G4_Tm                     9.321              674
+ 70   G4_Yb                     6.73               684
+ 71   G4_Lu                     9.84               694
+ 72   G4_Hf                    13.31               705
+ 73   G4_Ta                    16.654              718
+ 74   G4_W                     19.3                727
+ 75   G4_Re                    21.02               736
+ 76   G4_Os                    22.57               746
+ 77   G4_Ir                    22.42               757
+ 78   G4_Pt                    21.45               790
+ 79   G4_Au                    19.32               790
+ 80   G4_Hg                    13.546              800
+ 81   G4_Tl                    11.72               810
+ 82   G4_Pb                    11.35               823
+ 83   G4_Bi                     9.747              823
+ 84   G4_Po                     9.32               830
+ 85   G4_At                     9.32               825
+ 86   G4_Rn                     0.00900662         794
+ 87   G4_Fr                     1                  827
+ 88   G4_Ra                     5                  826
+ 89   G4_Ac                    10.07               841
+ 90   G4_Th                    11.72               847
+ 91   G4_Pa                    15.37               878
+ 92   G4_U                     18.95               890
+ 93   G4_Np                    20.25               902
+ 94   G4_Pu                    19.84               921
+ 95   G4_Am                    13.67               934
+ 96   G4_Cm                    13.51               939
+ 97   G4_Bk                    14                  952
+ 98   G4_Cf                    10                  966
+</pre><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4MatrDb.NISTCmp"></a>8.2. 
+NIST Compounds
+</h3></div></div></div><p>
+</p><pre class="programlisting">
+==========================================================
+Ncomp  Name                     density(g/cm^3)     I(eV)
+==========================================================
+ 6     G4_A-150_TISSUE            1.127             65.1
+              1     0.101327
+              6     0.7755
+              7     0.035057
+              8     0.0523159
+              9     0.017422
+              20    0.018378
+ 3     G4_ACETONE                 0.7899            64.2
+              1     0.104122
+              6     0.620405
+              8     0.275473
+ 2     G4_ACETYLENE               0.0010967         58.2
+              1     0.077418
+              6     0.922582
+ 3     G4_ADENINE                 1.35              71.4
+              1     0.037294
+              6     0.44443
+              7     0.518276
+13     G4_ADIPOSE_TISSUE_ICRP     0.92              63.2
+              1     0.119477
+              6     0.63724
+              7     0.00797
+              8     0.232333
+              11    0.0005
+              12    2e-05
+              15    0.00016
+              16    0.00073
+              17    0.00119
+              19    0.00032
+              20    2e-05
+              26    2e-05
+              30    2e-05
+ 4     G4_AIR                     0.00120479        85.7
+              6     0.000124
+              7     0.755268
+              8     0.231781
+              18    0.012827
+ 4     G4_ALANINE                 1.42              71.9
+              1     0.0791899
+              6     0.404439
+              7     0.157213
+              8     0.359159
+ 2     G4_ALUMINUM_OXIDE Al_2O_3  3.97             145.2
+              8     0.470749
+              13    0.529251
+ 3     G4_AMBER                   1.1               63.2
+              1     0.10593
+              6     0.788974
+              8     0.105096
+ 2     G4_AMMONIA                 0.000826019       53.7
+              1     0.177547
+              7     0.822453
+ 3     G4_ANILINE                 1.0235            66.2
+              1     0.075759
+              6     0.773838
+              7     0.150403
+ 2     G4_ANTHRACENE              1.283             69.5
+              1     0.05655
+              6     0.94345
+ 6     G4_B-100_BONE              1.45              85.9
+              1     0.0654709
+              6     0.536944
+              7     0.0215
+              8     0.032085
+              9     0.167411
+              20    0.176589
+ 3     G4_BAKELITE                1.25              72.4
+              1     0.057441
+              6     0.774591
+              8     0.167968
+ 2     G4_BARIUM_FLUORIDE         4.89             375.9
+              9     0.21672
+              56     0.78328
+ 3     G4_BARIUM_SULFATE          4.5              285.7
+              8     0.274212
+              16    0.137368
+              56    0.58842
+ 2     G4_BENZENE                 0.87865           63.4
+              1     0.077418
+              6     0.922582
+ 2     G4_BERYLLIUM_OXIDE         3.01              93.2
+              4     0.36032
+              8     0.63968
+ 3     G4_BGO                     7.13             534.1
+              8     0.154126
+              32    0.17482
+              83    0.671054
+14     G4_BLOOD_ICRP              1.06              75.2
+              1     0.101866
+              6     0.10002
+              7     0.02964
+              8     0.759414
+              11    0.00185
+              12    4e-05
+              14    3e-05
+              15    0.00035
+              16    0.00185
+              17    0.00278
+              19    0.00163
+              20    6e-05
+              26    0.00046
+              30    1e-05
+ 8     G4_BONE_COMPACT_ICRU       1.85              91.9
+              1     0.063984
+              6     0.278
+              7     0.027
+              8     0.410016
+              12    0.002
+              15    0.07
+              16    0.002
+              20    0.147
+ 9     G4_BONE_CORTICAL_ICRP      1.85             106.4
+              1     0.047234
+              6     0.14433
+              7     0.04199
+              8     0.446096
+              12    0.0022
+              15    0.10497
+              16    0.00315
+              20    0.20993
+              30    0.0001
+ 2     G4_BORON_CARBIDE           2.52              84.7
+              5     0.78261
+              6     0.21739
+ 2     G4_BORON_OXIDE             1.812             99.6
+              5     0.310551
+              8     0.689449
+13     G4_BRAIN_ICRP              1.03              73.3
+              1     0.110667
+              6     0.12542
+              7     0.01328
+              8     0.737723
+              11    0.00184
+              12    0.00015
+              15    0.00354
+              16    0.00177
+              17    0.00236
+              19    0.0031
+              20    9e-05
+              26    5e-05
+              30    1e-05
+ 2     G4_BUTANE                  0.00249343        48.3
+              1     0.173408
+              6     0.826592
+ 3     G4_N-BUTYL_ALCOHOL         0.8098            59.9
+              1     0.135978
+              6     0.648171
+              8     0.215851
+ 5     G4_C-552                   1.76              86.8
+              1     0.02468
+              6     0.501611
+              8     0.004527
+              9     0.465209
+              14    0.003973
+ 2     G4_CADMIUM_TELLURIDE       6.2              539.3
+              48    0.468355
+              52    0.531645
+ 3     G4_CADMIUM_TUNGSTATE       7.9              468.3
+              8     0.177644
+              48    0.312027
+              74    0.510329
+ 3     G4_CALCIUM_CARBONATE       2.8              136.4
+              6     0.120003
+              8     0.479554
+              20    0.400443
+ 2     G4_CALCIUM_FLUORIDE        3.18             166
+              9     0.486659
+              20    0.513341
+ 2     G4_CALCIUM_OXIDE           3.3              176.1
+              8     0.285299
+              20    0.714701
+ 3     G4_CALCIUM_SULFATE         2.96             152.3
+              8     0.470095
+              16    0.235497
+              20    0.294408
+ 3     G4_CALCIUM_TUNGSTATE       6.062            395
+              8     0.22227
+              20    0.139202
+              74    0.638528
+ 2     G4_CARBON_DIOXIDE  CO_2    0.00184212        85
+              6     0.272916
+              8     0.727084
+ 2     G4_CARBON_TETRACHLORIDE    1.594            166.3
+              6     0.078083
+              17    0.921917
+ 3     G4_CELLULOSE_CELLOPHANE    1.42              77.6
+              1     0.062162
+              6     0.444462
+              8     0.493376
+ 3     G4_CELLULOSE_BUTYRATE      1.2               74.6
+              1     0.067125
+              6     0.545403
+              8     0.387472
+ 4     G4_CELLULOSE_NITRATE       1.49              87
+              1     0.029216
+              6     0.271296
+              7     0.121276
+              8     0.578212
+ 5     G4_CERIC_SULFATE           1.03              76.7
+              1     0.107596
+              7     0.0008
+              8     0.874976
+              16    0.014627
+              58    0.002001
+ 2     G4_CESIUM_FLUORIDE         4.115            440.7
+              9     0.125069
+              55    0.874931
+ 2     G4_CESIUM_IODIDE           4.51             553.1
+              53    0.488451
+              55    0.511549
+ 3     G4_CHLOROBENZENE           1.1058            89.1
+              1     0.044772
+              6     0.640254
+              17    0.314974
+ 3     G4_CHLOROFORM              1.4832           156
+              1     0.008443
+              6     0.100613
+              17     0.890944
+10     G4_CONCRETE                2.3              135.2
+              1     0.01
+              6     0.001
+              8     0.529107
+              11    0.016
+              12    0.002
+              13    0.033872
+              14    0.337021
+              19    0.013
+              20    0.044
+              26    0.014
+ 2     G4_CYCLOHEXANE            0.779              56.4
+              1     0.143711
+              6     0.856289
+ 3     G4_1,2-DICHLOROBENZENE    1.3048            106.5
+              1     0.027425
+              6     0.490233
+              17     0.482342
+ 4     G4_DICHLORODIETHYL_ETHER  1.2199            103.3
+              1     0.0563811
+              6     0.335942
+              8     0.111874
+              17    0.495802
+ 3     G4_1,2-DICHLOROETHANE     1.2351             111.9
+              1     0.04074
+              6     0.242746
+              17     0.716514
+ 3     G4_DIETHYL_ETHER          0.71378             60
+              1     0.135978
+              6     0.648171
+              8     0.215851
+ 4     G4_N,N-DIMETHYL_FORMAMIDE 0.9487              66.6
+              1     0.096523
+              6     0.492965
+              7     0.191625
+              8     0.218887
+ 4     G4_DIMETHYL_SULFOXIDE     1.1014              98.6
+              1     0.077403
+              6     0.307467
+              8     0.204782
+              16    0.410348
+ 2     G4_ETHANE                 0.00125324          45.4
+              1     0.201115
+              6     0.798885
+ 3     G4_ETHYL_ALCOHOL          0.7893              62.9
+              1     0.131269
+              6     0.521437
+              8     0.347294
+ 3     G4_ETHYL_CELLULOSE        1.13                69.3
+              1     0.090027
+              6     0.585182
+              8     0.324791
+ 2     G4_ETHYLENE               0.00117497          50.7
+              1     0.143711
+              6     0.856289
+ 4     G4_EYE_LENS_ICRP          1.1                 73.3
+              1     0.099269
+              6     0.19371
+              7     0.05327
+              8     0.653751
+ 2     G4_FERRIC_OXIDE           5.2                227.3
+              8     0.300567
+              26    0.699433
+ 2     G4_FERROBORIDE            7.15               261
+              5     0.162174
+              26    0.837826
+ 2     G4_FERROUS_OXIDE          5.7                248.6
+              8     0.222689
+              26    0.777311
+ 7     G4_FERROUS_SULFATE        1.024               76.4
+              1     0.108259
+              7     2.7e-05
+              8     0.878636
+              11    2.2e-05
+              16    0.012968
+              17    3.4e-05
+              26    5.4e-05
+ 3     G4_FREON-12               1.12               143
+              6     0.099335
+              9     0.314247
+              17    0.586418
+ 3     G4_FREON-12B2             1.8               284.9
+              6     0.057245
+              9     0.181096
+              35    0.761659
+ 3     G4_FREON-13               0.95              126.6
+              6     0.114983
+              9     0.545621
+              17    0.339396
+ 3     G4_FREON-13B1             1.5               210.5
+              6     0.080659
+              9     0.382749
+              35    0.536592
+ 3     G4_FREON-13I1             1.8               293.5
+              6     0.061309
+              9     0.290924
+              53    0.647767
+ 3     G4_GADOLINIUM_OXYSULFIDE  7.44              493.3
+              8     0.084528
+              16    0.08469
+              64    0.830782
+ 2     G4_GALLIUM_ARSENIDE       5.31              384.9
+              31    0.482019
+              33    0.517981
+ 5     G4_GEL_PHOTO_EMULSION     1.2914             74.8
+              1     0.08118
+              6     0.41606
+              7     0.11124
+              8     0.38064
+              16    0.01088
+ 6     G4_Pyrex_Glass             2.23             134
+              5     0.0400639
+              8     0.539561
+              11    0.0281909
+              13    0.011644
+              14    0.377219
+              19    0.00332099
+ 5     G4_GLASS_LEAD              6.22             526.4
+              8     0.156453
+              14    0.080866
+              22    0.008092
+              33    0.002651
+              82    0.751938
+ 4     G4_GLASS_PLATE             2.4              145.4
+              8     0.4598
+              11    0.0964411
+              14    0.336553
+              20    0.107205
+ 3     G4_GLUCOSE                 1.54              77.2
+              1     0.071204
+              6     0.363652
+              8     0.565144
+ 4     G4_GLUTAMINE               1.46              73.3
+              1     0.0689651
+              6     0.410926
+              7     0.191681
+              8     0.328427
+ 3     G4_GLYCEROL                1.2613            72.6
+              1     0.0875539
+              6     0.391262
+              8     0.521184
+ 4     G4_GUANINE                 1.58              75
+              1     0.033346
+              6     0.39738
+              7     0.463407
+              8     0.105867
+ 4     G4_GYPSUM                  2.32             129.7
+              1     0.023416
+              8     0.557572
+              16    0.186215
+              20    0.232797
+ 2     G4_N-HEPTANE               0.68376           54.4
+              1     0.160937
+              6     0.839063
+ 2     G4_N-HEXANE                0.6603            54
+              1     0.163741
+              6     0.836259
+ 4     G4_KAPTON                  1.42              79.6
+              1     0.026362
+              6     0.691133
+              7     0.07327
+              8     0.209235
+ 3     G4_LANTHANUM_OXYBROMIDE    6.28             439.7
+              8     0.068138
+              35    0.340294
+              57    0.591568
+ 3     G4_LANTHANUM_OXYSULFIDE    5.86             421.2
+              8     0.0936
+              16    0.093778
+              57    0.812622
+ 2     G4_LEAD_OXIDE              9.53             766.7
+              8     0.071682
+              82    0.928318
+ 3     G4_LITHIUM_AMIDE           1.178             55.5
+              1     0.087783
+              3     0.302262
+              7     0.609955
+ 3     G4_LITHIUM_CARBONATE       2.11              87.9
+              3     0.187871
+              6     0.16255
+              8     0.649579
+ 2     G4_LITHIUM_FLUORIDE        2.635             94
+              3     0.267585
+              9     0.732415
+ 2     G4_LITHIUM_HYDRIDE         0.82              36.5
+              1     0.126797
+              3     0.873203
+ 2     G4_LITHIUM_IODIDE          3.494            485.1
+              3     0.051858
+              53    0.948142
+ 2     G4_LITHIUM_OXIDE           2.013             73.6
+              3     0.46457
+              8     0.53543
+ 3     G4_LITHIUM_TETRABORATE     2.44              94.6
+              3     0.082085
+              5     0.25568
+              8     0.662235
+13     G4_LUNG_ICRP               1.05              75.3
+              1     0.101278
+              6     0.10231
+              7     0.02865
+              8     0.757072
+              11    0.00184
+              12    0.00073
+              15    0.0008
+              16    0.00225
+              17    0.00266
+              19    0.00194
+              20    9e-05
+              26    0.00037
+              30    1e-05
+ 5     G4_M3_WAX                  1.05              67.9
+              1     0.114318
+              6     0.655824
+              8     0.0921831
+              12    0.134792
+              20    0.002883
+ 3     G4_MAGNESIUM_CARBONATE     2.958            118
+              6     0.142455
+              8     0.569278
+              12    0.288267
+ 2     G4_MAGNESIUM_FLUORIDE      3                134.3
+              9     0.609883
+              12    0.390117
+ 2     G4_MAGNESIUM_OXIDE         3.58             143.8
+              8     0.396964
+              12    0.603036
+ 3     G4_MAGNESIUM_TETRABORATE   2.53             108.3
+              5     0.240837
+              8     0.62379
+              12    0.135373
+ 2     G4_MERCURIC_IODIDE         6.36             684.5
+              53    0.55856
+              80    0.44144
+ 2     G4_METHANE                 0.000667151       41.7
+              1     0.251306
+              6     0.748694
+ 3     G4_METHANOL                0.7914            67.6
+              1     0.125822
+              6     0.374852
+              8     0.499326
+ 5     G4_MIX_D_WAX               0.99              60.9
+              1     0.13404
+              6     0.77796
+              8     0.03502
+              12    0.038594
+              22    0.014386
+ 6     G4_MS20_TISSUE             1                 75.1
+              1     0.081192
+              6     0.583442
+              7     0.017798
+              8     0.186381
+              12    0.130287
+              17    0.0009
+13     G4_MUSCLE_SKELETAL_ICRP    1.04              75.3
+              1     0.100637
+              6     0.10783
+              7     0.02768
+              8     0.754773
+              11    0.00075
+              12    0.00019
+              15    0.0018
+              16    0.00241
+              17    0.00079
+              19    0.00302
+              20    3e-05
+              26    4e-05
+              30    5e-05
+ 9     G4_MUSCLE_STRIATED_ICRU    1.04              74.7
+              1     0.101997
+              6     0.123
+              7     0.035
+              8     0.729003
+              11    0.0008
+              12    0.0002
+              15    0.002
+              16    0.005
+              19    0.003
+ 4     G4_MUSCLE_WITH_SUCROSE     1.11              74.3
+              1     0.0982341
+              6     0.156214
+              7     0.035451
+              8     0.710101
+ 4     G4_MUSCLE_WITHOUT_SUCROSE  1.07              74.2
+              1     0.101969
+              6     0.120058
+              7     0.035451
+              8     0.742522
+ 2     G4_NAPHTHALENE             1.145             68.4
+              1     0.062909
+              6     0.937091
+ 4     G4_NITROBENZENE            1.19867           75.8
+              1     0.040935
+              6     0.585374
+              7     0.113773
+              8     0.259918
+ 2     G4_NITROUS_OXIDE           0.00183094        84.9
+              7     0.636483
+              8     0.363517
+ 4     G4_NYLON-8062              1.08              64.3
+              1     0.103509
+              6     0.648416
+              7     0.0995361
+              8     0.148539
+ 4     G4_NYLON-6/6               1.14              63.9
+              1     0.097976
+              6     0.636856
+              7     0.123779
+              8     0.141389
+ 4     G4_NYLON-6/10              1.14              63.2
+              1     0.107062
+              6     0.680449
+              7     0.099189
+              8     0.1133
+ 4     G4_NYLON-11_RILSAN         1.425             61.6
+              1     0.115476
+              6     0.720818
+              7     0.0764169
+              8     0.0872889
+ 2     G4_OCTANE                  0.7026            54.7
+              1     0.158821
+              6     0.841179
+ 2     G4_PARAFFIN                0.93              55.9
+              1     0.148605
+              6     0.851395
+ 2     G4_N-PENTANE               0.6262            53.6
+              1     0.167635
+              6     0.832365
+ 8     G4_PHOTO_EMULSION          3.815            331
+              1     0.0141
+              6     0.072261
+              7     0.01932
+              8     0.066101
+              16    0.00189
+              35    0.349103
+              47    0.474105
+              53    0.00312
+ 2     G4_PLASTIC_SC_VINYLTOLUENE 1.032             64.7
+              1     0.085
+              6     0.915
+ 2     G4_PLUTONIUM_DIOXIDE      11.46             746.5
+              8     0.118055
+              94    0.881945
+ 3     G4_POLYACRYLONITRILE       1.17              69.6
+              1     0.0569829
+              6     0.679055
+              7     0.263962
+ 3     G4_POLYCARBONATE           1.2               73.1
+              1     0.055491
+              6     0.755751
+              8     0.188758
+ 3     G4_POLYCHLOROSTYRENE       1.3               81.7
+              1     0.061869
+              6     0.696325
+              17    0.241806
+ 2     G4_POLYETHYLENE  (C_2H_4)_N-Polyethylene
+                                  0.94              57.4
+              1     0.143711
+              6     0.856289
+ 3     G4_MYLAR                   1.4               78.7
+              1     0.041959
+              6     0.625016
+              8     0.333025
+ 3     G4_PLEXIGLASS              1.19              74
+              1     0.080538
+              6     0.599848
+              8     0.319614
+ 3     G4_POLYOXYMETHYLENE        1.425            77.4
+              1     0.067135
+              6     0.400017
+              8     0.532848
+ 2     G4_POLYPROPYLENE  (C_2H_4)_N-Polypropylene
+                                  0.9              56.5
+              1     0.143711
+              6     0.856289
+ 2     G4_POLYSTYRENE             1.06             68.7
+              1     0.077418
+              6     0.922582
+ 2     G4_TEFLON                  2.2              99.1
+              6     0.240183
+              9     0.759817
+ 3     G4_POLYTRIFLUOROCHLOROETHYLENE  
+                                  2.1             120.7
+              6     0.20625
+              9     0.489354
+              17    0.304395
+ 3     G4_POLYVINYL_ACETATE       1.19             73.7
+              1     0.070245
+              6     0.558066
+              8     0.371689
+ 3     G4_POLYVINYL_ALCOHOL       1.3              69.7
+              1     0.091517
+              6     0.545298
+              8     0.363185
+ 3     G4_POLYVINYL_BUTYRAL       1.12             67.2
+              1     0.092802
+              6     0.680561
+              8     0.226637
+ 3     G4_POLYVINYL_CHLORIDE      1.3             108.2
+              1     0.04838
+              6     0.38436
+              17    0.56726
+ 3     G4_POLYVINYLIDENE_CHLORIDE 1.7             134.3
+              1     0.020793
+              6     0.247793
+              17    0.731414
+ 3     G4_POLYVINYLIDENE_FLUORIDE 1.76             88.8
+              1     0.03148
+              6     0.375141
+              9     0.593379
+ 4     G4_POLYVINYL_PYRROLIDONE   1.25             67.7
+              1     0.081616
+              6     0.648407
+              7     0.126024
+              8     0.143953
+ 2     G4_POTASSIUM_IODIDE        3.13            431.9
+              19    0.235528
+              53    0.764472
+ 2     G4_POTASSIUM_OXIDE         2.32            189.9
+              8     0.169852
+              19    0.830148
+ 2     G4_PROPANE                 0.00187939       47.1
+              1     0.182855
+              6     0.817145
+ 2     G4_lPROPANE                0.43             52
+              1     0.182855
+              6     0.817145
+ 3     G4_N-PROPYL_ALCOHOL        0.8035           61.1
+              1     0.134173
+              6     0.599595
+              8     0.266232
+ 3     G4_PYRIDINE                0.9819           66.2
+              1     0.06371
+              6     0.759217
+              7     0.177073
+ 2     G4_RUBBER_BUTYL            0.92             56.5
+              1     0.143711
+              6     0.856289
+ 2     G4_RUBBER_NATURAL          0.92             59.8
+              1     0.118371
+              6     0.881629
+ 3     G4_RUBBER_NEOPRENE         1.23             93
+              1     0.05692
+              6     0.542646
+              17    0.400434
+ 2     G4_SILICON_DIOXIDE  SiO_2  2.32            139.2
+              8     0.532565
+              14    0.467435
+ 2     G4_SILVER_BROMIDE          6.473           486.6
+              35    0.425537
+              47    0.574463
+ 2     G4_SILVER_CHLORIDE         5.56            398.4
+              17    0.247368
+              47    0.752632
+ 3     G4_SILVER_HALIDES          6.47            487.1
+              35    0.422895
+              47    0.573748
+              53    0.003357
+ 2     G4_SILVER_IODIDE           6.01            543.5
+              47    0.459458
+              53    0.540542
+13     G4_SKIN_ICRP               1.1              72.7
+              1     0.100588
+              6     0.22825
+              7     0.04642
+              8     0.619002
+              11    7e-05
+              12    6e-05
+              15    0.00033
+              16    0.00159
+              17    0.00267
+              19    0.00085
+              20    0.00015
+              26    1e-05
+              30    1e-05
+ 3     G4_SODIUM_CARBONATE        2.532           125
+              6     0.113323 
+              8     0.452861
+              11    0.433815
+ 2     G4_SODIUM_IODIDE           3.667           452
+              11    0.153373
+              53    0.846627
+ 2     G4_SODIUM_MONOXIDE         2.27            148.8
+              8     0.258143
+              11    0.741857
+ 3     G4_SODIUM_NITRATE          2.261          114.6
+              7     0.164795
+              8     0.56472
+              11    0.270485
+ 2     G4_STILBENE                0.9707          67.7
+              1     0.067101
+              6     0.932899
+ 3     G4_SUCROSE                 1.5805          77.5
+              1     0.064779
+              6     0.42107
+              8     0.514151
+ 2     G4_TERPHENYL               1.234           71.7
+              1     0.044543
+              6     0.955457
+13     G4_TESTES_ICRP             1.04            75
+              1     0.104166
+              6     0.09227
+              7     0.01994
+              8     0.773884
+              11    0.00226
+              12    0.00011
+              15    0.00125
+              16    0.00146
+              17    0.00244
+              19    0.00208
+              20    0.0001
+              26    2e-05
+              30    2e-05
+ 2     G4_TETRACHLOROETHYLENE     1.625          159.2
+              6     0.144856
+              17    0.855144
+ 2     G4_THALLIUM_CHLORIDE       7.004          690.3
+              17    0.147822
+              81    0.852178
+13     G4_TISSUE_SOFT_ICRP        1               72.3
+              1     0.104472
+              6     0.23219
+              7     0.02488
+              8     0.630238
+              11    0.00113
+              12    0.00013
+              15    0.00133
+              16    0.00199
+              17    0.00134
+              19    0.00199
+              20    0.00023
+              26    5e-05
+              30    3e-05
+ 4     G4_TISSUE_SOFT_ICRU-4      1               74.9
+              1     0.101172
+              6     0.111
+              7     0.026
+              8     0.761828
+ 4     G4_TISSUE-METHANE          0.00106409      61.2
+              1     0.101869
+              6     0.456179
+              7     0.035172
+              8     0.40678
+ 4     G4_TISSUE-PROPANE          0.00182628      59.5
+              1     0.102672
+              6     0.56894
+              7     0.035022
+              8     0.293366
+ 2     G4_TITANIUM_DIOXIDE        4.26           179.5
+              8     0.400592
+              22    0.599408
+ 2     G4_TOLUENE                 0.8669          62.5
+              1     0.08751
+              6     0.91249
+ 3     G4_TRICHLOROETHYLENE       1.46           148.1
+              1     0.007671
+              6     0.182831
+              17    0.809498
+ 4     G4_TRIETHYL_PHOSPHATE      1.07            81.2
+              1     0.082998
+              6     0.395628
+              8     0.351334
+              15    0.17004
+ 2     G4_TUNGSTEN_HEXAFLUORIDE   2.4            354.4
+              9     0.382723
+              74    0.617277
+ 2     G4_URANIUM_DICARBIDE      11.28           752
+              6     0.091669
+              92    0.908331
+ 2     G4_URANIUM_MONOCARBIDE    13.63           862
+              6     0.048036
+              92    0.951964
+ 2     G4_URANIUM_OXIDE          10.96           720.6
+              8     0.118502
+              92    0.881498
+ 4     G4_UREA                    1.323           72.8
+              1     0.067131
+              6     0.199999
+              7     0.466459
+              8     0.266411
+ 4     G4_VALINE                  1.23            67.7
+              1     0.0946409
+              6     0.512644
+              7     0.119565
+              8     0.27315
+ 3     G4_VITON                   1.8             98.6
+              1     0.009417
+              6     0.280555
+              9     0.710028
+ 2     G4_WATER  H_2O             1               75
+              1     0.111894
+              8     0.888106
+ 2     G4_WATER_VAPOR  H_2O-Gas   0.000756182     71.6
+              1     0.111894
+              8     0.888106
+ 2     G4_XYLENE                  0.87            61.8
+              1     0.094935
+              6     0.905065
+ 1     G4_GRAPHITE  Graphite     1.7              78
+</pre><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4MatrDb.HepMat"></a>8.3. 
+HEP Materials
+</h3></div></div></div><p>
+</p><pre class="programlisting">
+==========================================================
+Ncomp  Name                     density(g/cm^3)     I(eV)
+==========================================================
+ 1     G4_lH2                   0.0708              21.8
+ 1     G4_lAr                   1.396              188
+ 1     G4_lKr                   2.418              352
+ 1     G4_lXe                   2.953              482
+ 3     G4_PbWO4                 8.28                 0
+              8     0.140637
+              82    0.455366
+              74    0.403998
+ 1     G4_Galactic              1e-25               21.8
+</pre><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="apa.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="bi01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">7. 
+Development and debug tools
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 
+Bibliography
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/bi01.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/bi01.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/bi01.html	(revision 901)
@@ -0,0 +1,92 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Bibliography</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="apas08.html" title="8.  Geant4 Material Database"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
+Bibliography
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apas08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="bibliography"><div class="titlepage"><div><div><h2 class="title"><a name="bibliography.Bibliography"></a>
+Bibliography
+</h2></div></div></div><div class="biblioentry"><a name="biblio.booch1994"></a><p>[<abbr class="abbrev"><a name="biblio.booch1994.abbrev"></a>
+    Booch1994
+  </abbr>] <span class="author"><span class="firstname">Grady</span> <span class="surname">Booch</span>. </span><span class="title"><i>
+    Object-Oriented Analysis and Design with Applications
+  </i>. </span><span class="publishername">
+    The Benjamin/Cummings Publishing Co. Inc
+  . </span><span class="pubdate">
+    1994
+  . </span><span class="isbn">
+    ISBN: 0-8053-5340-2
+  . </span></p></div><div class="biblioentry"><a name="biblio.ellis1990"></a><p>[<abbr class="abbrev"><a name="biblio.ellis1990.abbrev"></a>
+    Ellis1990
+  </abbr>] <span class="authorgroup"><span class="firstname">Margaret</span> <span class="surname">Ellis</span> and <span class="firstname">Bjarne</span> <span class="surname">Stroustrup</span>. </span><span class="title"><i>
+    Annotated C++ Reference Manual (ARM)
+  </i>. </span><span class="publishername">
+    Addison-Wesley Publishing Co.
+  . </span><span class="pubdate">
+    1990
+  . </span></p></div><div class="biblioentry"><a name="biblio.hecht1974"></a><p>[<abbr class="abbrev"><a name="biblio.hecht1974.abbrev"></a>
+    Hecht1974
+  </abbr>] <span class="authorgroup"><span class="firstname">E. </span> <span class="surname">Hecht</span> and <span class="firstname">A. </span> <span class="surname">Zajac</span>. </span><span class="title"><i>
+    Optics
+  </i>. </span><span class="publishername">
+    Addison-Wesley Publishing Co.
+  . </span><span class="pubdate">
+    1974
+  . </span><span class="pagenums">
+    pp. 71-80 and pp. 244-246
+  . </span></p></div><div class="biblioentry"><a name="biblio.josuttis1999"></a><p>[<abbr class="abbrev"><a name="biblio.josuttis1999.abbrev"></a>
+    Josuttis1999
+  </abbr>] <span class="author"><span class="firstname">Nicolai M. </span> <span class="surname">Josuttis</span>. </span><span class="title"><i>
+    The C++ Standard Library - A Tutorial and Reference
+  </i>. </span><span class="publishername">
+    Addison-Wesley Publishing Co.
+  . </span><span class="pubdate">
+    1999
+  . </span><span class="isbn">
+    ISBN: 0-201-37926-0
+  . </span></p></div><div class="biblioentry"><a name="biblio.meyers2001"></a><p>[<abbr class="abbrev"><a name="biblio.meyers2001.abbrev"></a>
+    Meyers2001
+  </abbr>] <span class="author"><span class="firstname">Scott </span> <span class="surname">Meyers</span>. </span><span class="title"><i>
+    Effective STL
+  </i>. </span><span class="publishername">
+    Addison-Wesley Publishing Co.
+  . </span><span class="pubdate">
+    2001
+  . </span><span class="isbn">
+    ISBN: 0-201-74962-9
+  . </span></p></div><div class="biblioentry"><a name="biblio.musser1996"></a><p>[<abbr class="abbrev"><a name="biblio.musser1996.abbrev"></a>
+    Musser1996
+  </abbr>] <span class="authorgroup"><span class="firstname">David R. </span> <span class="surname">Musser</span> and <span class="firstname">Atul </span> <span class="surname">Saini</span>. </span><span class="title"><i>
+    STL Tutorial and Reference Guide / C++ Programming with the Standard Template Library
+  </i>. </span><span class="publishername">
+    Addison-Wesley Publishing Co.
+  . </span><span class="pubdate">
+    1996
+  . </span><span class="isbn">
+    ISBN: 0-201-63398-1
+  . </span></p></div><div class="biblioentry"><a name="biblio.plauger1995"></a><p>[<abbr class="abbrev"><a name="biblio.plauger1995.abbrev"></a>
+    Plauger1995
+  </abbr>] <span class="author"><span class="firstname">P.J.</span> <span class="surname">Plauger</span>. </span><span class="title"><i>
+    The Draft Standard C++ Library
+  </i>. </span><span class="publishername">
+    Prentice Hall, Englewood Cliffs
+  . </span><span class="pubdate">
+    1995
+  . </span></p></div><div class="biblioentry"><a name="biblio.chauvie2007"></a><p>[<abbr class="abbrev"><a name="biblio.chauvie2007.abbrev"></a>
+    Chauvie2007
+  </abbr>] <span class="author"><span class="surname">
+    S. Chauvie, Z. Francis, S. Guatelli, S. Incerti, B. Mascialino, 
+    P. Moretto, P. Nieminen and M. G. Pia
+    </span>. </span><span class="title"><i>
+    Geant4 physics processes for microdosimetry simulation: design foundation 
+    and implementation of the first set of models
+  </i>. </span><span class="publishername">
+    To be published in IEEE Trans. Nucl. Sci., Dec. 2007
+  . </span><span class="pubdate">
+    2007
+  . </span></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apas08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">8. 
+Geant4 Material Database
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch01.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch01.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch01.html	(revision 901)
@@ -0,0 +1,54 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1.  Introduction</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="next" href="ch01s02.html" title="1.2.  How to use this manual"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. 
+Introduction
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.Introduction"></a>Chapter 1. 
+Introduction
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.scope"></a>1.1. 
+Scope of this manual
+</h2></div></div></div><p>
+The User's Guide for Application Developers is the first manual the
+reader should consult when learning about Geant4 or developing a
+Geant4-based detector simulation program. This manual is designed
+to:
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+   introduce the first-time user to the Geant4 object-oriented
+   detector simulation toolkit,
+   </p></li><li><p>
+   provide a description of the available tools and how to use
+   them, and
+   </p></li><li><p>
+   supply the practical information required to develop and run
+   simulation applications which may be used in real experiments.
+   </p></li></ul></div><p>
+This manual is intended to be an overview of the toolkit, rather
+than an exhaustive treatment of it. Related physics discussions are
+not included unless required for the description of a particular
+tool. Detailed discussions of the physics included in Geant4 can be
+found in the 
+<a href="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml" target="_top">
+Physics Reference Manual</a>. 
+Details of the design and functionality of the Geant4 classes can be found in the 
+<a href="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml" target="_top">
+User's Guide for Toolkit Developers</a>, and a complete list of 
+all Geant4 classes is given in the 
+<a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.csh?flag=1" target="_top">
+Software Reference Manual</a>.
+</p><p>
+Geant4 is a completely new detector simulation toolkit written
+in the C++ language. The reader is assumed to have a basic
+knowledge of object-oriented programming using C++. No knowledge of
+earlier FORTRAN versions of Geant is required. Although Geant4 is a
+fairly complicated software system, only a relatively small part of
+it needs to be understood in order to begin developing detector
+simulation applications.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">
+  Geant4 User's Guide for Application Developers
+   </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 1.2. 
+How to use this manual
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch01s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch01s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch01s02.html	(revision 901)
@@ -0,0 +1,68 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>1.2.  How to use this manual</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch01.html" title="Chapter 1.  Introduction"><link rel="prev" href="ch01.html" title="Chapter 1.  Introduction"><link rel="next" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">1.2. 
+How to use this manual
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 1. 
+Introduction
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.howto"></a>1.2. 
+How to use this manual
+</h2></div></div></div><p>
+A very basic introduction to Geant4 is presented in 
+<span class="bold"><strong>Chapter 2, "Getting Started with Geant4 - 
+Running a Simple Example"</strong></span>. 
+It is a recipe for writing and running a simple Geant4 application
+program. New users of Geant4 should read this chapter first. It is
+strongly recommended that this chapter be read in conjunction with
+a Geant4 system installed and running on your computer. It is
+helpful to run the provided examples as they are discussed in the
+manual. To install the Geant4 system on your computer, please refer
+to the 
+<a href="http://geant4.web.cern.ch/geant4/support/userdocuments.shtml" target="_top">
+Installation Guide for Setting up Geant4 in Your Computing Environment</a>.
+</p><p>
+<span class="bold"><strong>Chapter 3, "Toolkit Fundamentals"</strong></span> 
+discusses generalGeant4 issues such as class categories and the physical 
+units system. It goes on to discuss runs and events, which are the basic
+units of a simulation.
+</p><p>
+<span class="bold"><strong>Chapter 4, "Detector Definition and Response"</strong></span> 
+describes how to construct a detector from customized materials and geometric
+shapes, and embed it in electromagnetic fields. It also describes
+how to make the detector sensitive to particles passing through it
+and how to store this information.
+</p><p>
+How particles are propagated through a material is treated in
+<span class="bold"><strong>Chapter 5, "Tracking and Physics"</strong></span>. 
+The Geant4 "philosophy" of particle tracking is presented along with 
+summaries of the physics processes provided by the toolkit. The definition 
+and implementation of Geant4 particles is discussed and a list of
+particle properties is provided.
+</p><p>
+<span class="bold"><strong>Chapter 6, "User Actions"</strong></span> is a description 
+of the "user hooks" by which the simulation code may be customized to perform
+special tasks.
+</p><p>
+<span class="bold"><strong>Chapter 7, "Communication and Control"</strong></span> 
+provides a summary of the commands available to the user to control the 
+execution of the simulation. After Chapter 2, Chapters 6 and 7 are of formeost
+importance to the new application developer.
+</p><p>
+The display of detector geometry, tracks and events may be incorporated 
+into a simulation application by using the tools described in 
+<span class="bold"><strong>Chapter 8, "Visualization"</strong></span>.
+</p><p>
+<span class="bold"><strong>Chapter 9, "Examples"</strong></span> provides a set of 
+novice and advanced simulation codes which may be compiled and run "as is"
+from the Geant4 source code. These examples may be used as
+educational tools or as base code from which more complex
+applications are developed.
+</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. 
+Introduction
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02.html	(revision 901)
@@ -0,0 +1,359 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2.  Getting Started with Geant4 - Running a Simple Example</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch01s02.html" title="1.2.  How to use this manual"><link rel="next" href="ch02s02.html" title="2.2.  How to Define a Detector Geometry"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.GettingStarted"></a>Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToDefMain"></a>2.1. 
+How to Define the main() Program
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.SimpleMainMethod"></a>2.1.1. 
+A Sample <code class="literal">main()</code> Method
+</h3></div></div></div><p>
+The contents of <code class="literal">main()</code> will vary according to the 
+needs of a given simulation application and therefore must be supplied 
+by the user. The Geant4 toolkit does not provide a <code class="literal">main()</code>
+method, but a sample is provided here as a guide to the beginning
+user. <a href="ch02.html#programlist_HowToDefMain_1" title="Example 2.1. 
+Simplest example of main() 
+">Example 2.1</a> is the  simplest example of
+<code class="literal">main()</code> required to build a simulation program.
+</p><div class="example"><a name="programlist_HowToDefMain_1"></a><p class="title"><b>Example 2.1. 
+Simplest example of <code class="literal">main()</code> 
+</b></p><div class="example-contents"><pre class="programlisting">
+ #include "G4RunManager.hh"
+ #include "G4UImanager.hh"
+
+ #include "ExN01DetectorConstruction.hh"
+ #include "ExN01PhysicsList.hh"
+ #include "ExN01PrimaryGeneratorAction.hh"
+
+ int main()
+ {
+   // construct the default run manager
+   G4RunManager* runManager = new G4RunManager;
+
+   // set mandatory initialization classes
+   runManager-&gt;SetUserInitialization(new ExN01DetectorConstruction);
+   runManager-&gt;SetUserInitialization(new ExN01PhysicsList);
+
+   // set mandatory user action class
+   runManager-&gt;SetUserAction(new ExN01PrimaryGeneratorAction);
+
+   // initialize G4 kernel
+   runManager-&gt;initialize();
+
+   // get the pointer to the UI manager and set verbosities
+   G4UImanager* UI = G4UImanager::GetUIpointer();
+   UI-&gt;ApplyCommand("/run/verbose 1");
+   UI-&gt;ApplyCommand("/event/verbose 1");
+   UI-&gt;ApplyCommand("/tracking/verbose 1");
+
+   // start a run
+   int numberOfEvent = 3;
+   runManager-&gt;BeamOn(numberOfEvent);
+
+   // job termination
+   delete runManager;
+   return 0;
+ }
+</pre></div></div><br class="example-break"><p>
+The <code class="literal">main()</code> method is implemented by two toolkit
+classes, <span class="emphasis"><em>G4RunManager</em></span> and <span class="emphasis"><em>G4UImanager</em></span>, 
+and three classes, <span class="emphasis"><em>ExN01DetectorConstruction</em></span>, 
+<span class="emphasis"><em>ExN01PhysicsList</em></span> and 
+<span class="emphasis"><em>ExN01PrimaryGeneratorAction</em></span>, which are derived from
+toolkit classes. Each of these are explained in the following sections.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.G4RunManager"></a>2.1.2. 
+<span class="emphasis"><em>G4RunManager</em></span>
+</h3></div></div></div><p>
+The first thing <code class="literal">main()</code> must do is create an instance of
+the <span class="emphasis"><em>G4RunManager</em></span> class. This is the only manager class in
+the Geant4 kernel which should be explicitly constructed in the
+user's <code class="literal">main()</code>. It controls the flow of the program and
+manages the event loop(s) within a run. When <span class="emphasis"><em>G4RunManager</em></span> is
+created, the other major manager classes are also created. They are
+deleted automatically when <span class="emphasis"><em>G4RunManager</em></span> is deleted. The run
+manager is also responsible for managing initialization procedures,
+including methods in the user initialization classes. Through these
+the run manager must be given all the information necessary to
+build and run the simulation, including
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+  how the detector should be constructed,
+  </p></li><li><p>
+  all the particles and all the physics processes to be
+  simulated,
+  </p></li><li><p>
+  how the primary particle(s) in an event should be produced
+  and
+  </p></li><li><p>
+  any additional requirements of the simulation.</p></li></ol></div><p>
+In the sample <code class="literal">main()</code> the lines
+
+</p><div class="informalexample"><pre class="programlisting">
+  runManager-&gt;SetUserInitialization(new ExN01DetectorConstruction);
+  runManager-&gt;SetUserInitialization(new ExN01PhysicsList);
+</pre></div><p>
+
+create objects which specify the detector geometry and physics
+processes, respectively, and pass their pointers to the run
+manager. <span class="emphasis"><em>ExN01DetectorConstruction</em></span> is an example of a user
+initialization class which is derived from
+<span class="emphasis"><em>G4VUserDetectorConstruction</em></span>. This is where the user
+describes the entire detector setup, including
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  its geometry,
+  </p></li><li><p>
+  the materials used in its construction,
+  </p></li><li><p>
+  a definition of its sensitive regions and
+  </p></li><li><p>
+  the readout schemes of the sensitive regions.
+  </p></li></ul></div><p>
+Similarly <span class="emphasis"><em>ExN01PhysicsList</em></span> is derived from
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> and requires the user to define
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  the particles to be used in the simulation,
+  </p></li><li><p>
+  the range cuts for these particles and
+  </p></li><li><p>
+  all the physics processes to be simulated.
+  </p></li></ul></div><p>
+The next instruction in <code class="literal">main()</code>
+
+</p><div class="informalexample"><pre class="programlisting">
+  runManager-&gt;SetUserAction(new ExN01PrimaryGeneratorAction);
+</pre></div><p>
+
+creates an instance of a particle generator and passes its pointer
+to the run manager. <span class="emphasis"><em>ExN01PrimaryGeneratorAction</em></span> is an
+example of a user action class which is derived from
+<span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span>. In this class the user must
+describe the initial state of the primary event. This class has a
+public virtual method named <code class="literal">generatePrimaries()</code> which will
+be invoked at the beginning of each event. Details will be given in
+<a href="ch02s06.html" title="2.6. 
+How to Generate a Primary Event
+">Section 2.6</a>. 
+Note that Geant4 does not provide any default behavior for generating a primary event.
+</p><p>
+The next instruction
+
+</p><div class="informalexample"><pre class="programlisting">
+  runManager-&gt;initialize();
+</pre></div><p>
+
+performs the detector construction, creates the physics processes,
+calculates cross sections and otherwise sets up the run. The final
+run manager method in <code class="literal">main()</code>
+
+</p><div class="informalexample"><pre class="programlisting">
+  int numberOfEvent = 3;
+  runManager-&gt;beamOn(numberOfEvent);
+</pre></div><p>
+
+begins a run of three sequentially processed events. The
+<code class="literal">beamOn()</code> method may be invoked any number of times within
+<code class="literal">main()</code> with each invocation representing a separate run.
+Once a run has begun neither the detector setup nor the physics
+processes may be changed. They may be changed between runs,
+however, as described in <a href="ch03s04.html#sect.Run.Custom" title="3.4.4. 
+Customizing the Run Manager
+">Section 3.4.4</a>.
+More information on <span class="emphasis"><em>G4RunManager</em></span> in general is found in 
+<a href="ch03s04.html" title="3.4. 
+Run
+">Section 3.4</a>.
+</p><p>
+As mentioned above, other manager classes are created when the
+run manager is created. One of these is the user interface manager,
+<span class="emphasis"><em>G4UImanager</em></span>. In <code class="literal">main()</code> a pointer to 
+the interface manager must be obtained
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4UImanager* UI = G4UImanager::getUIpointer();
+</pre></div><p> 
+
+in order for the user to issue commands to the program. In the
+present example the <code class="literal">applyCommand()</code> method is called three
+times to direct the program to print out information at the run,
+event and tracking levels of simulation. A wide range of commands
+is available which allows the user detailed control of the
+simulation. A list of these commands can be found in 
+<a href="ch07.html#sect.BuiltinCom" title="7.1. 
+Built-in Commands
+">Section 7.1</a>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.UserInitAction"></a>2.1.3. 
+User Initialization and Action Classes
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToDefMain.UserInitAction.MandatoryUserClasses"></a>2.1.3.1. 
+Mandatory User Classes
+</h4></div></div></div><p>
+There are three classes which must be defined by the user. Two
+of them are user initialization classes, and the other is a user
+action class. They must be derived from the abstract base classes
+provided by Geant4: <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>,
+<span class="emphasis"><em>G4VuserPhysicsList</em></span> and 
+<span class="emphasis"><em>G4VuserPrimaryGeneratorAction</em></span>.
+Geant4 does not provide default behavior for these classes.
+<span class="emphasis"><em>G4RunManager</em></span> checks for the existence of these mandatory
+classes when the <code class="literal">initialize()</code> and <code class="literal">BeamOn()</code>
+methods are invoked.
+</p><p>
+As mentioned in the previous section,
+<span class="emphasis"><em>G4VUserDetectorConstruction</em></span> requires the user to define the
+detector and <span class="emphasis"><em>G4VUserPhysicsList</em></span> requires the user to define
+the physics. Detector definition will be discussed in Sections
+</p><p>
+<a href="ch02s02.html" title="2.2. 
+How to Define a Detector Geometry
+">Section 2.2</a> and 
+<a href="ch02s03.html" title="2.3. 
+How to Specify Materials in the Detector
+">Section 2.3</a>.
+Physics definition will be discussed in Sections 
+<a href="ch02s04.html" title="2.4. 
+How to Specify Particles
+">Section 2.4</a> 
+and 
+<a href="ch02s05.html" title="2.5. 
+How to Specify Physics Processes
+">Section 2.5</a>.
+The user action  <span class="emphasis"><em>G4VuserPrimaryGeneratorAction</em></span> 
+requires that the initial event state be defined. Primary event generation will 
+be discussed in 
+<a href="ch02s07.html" title="2.7. 
+How to Make an Executable Program
+">Section 2.7</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToDefMain.UserInitAction.OptionalUserAction"></a>2.1.3.2. 
+Optional User Action Classes
+</h4></div></div></div><p>
+Geant4 provides five user hook classes:
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <span class="emphasis"><em>G4UserRunAction</em></span>
+  </p></li><li><p>
+  <span class="emphasis"><em>G4UserEventAction</em></span>
+  </p></li><li><p>
+  <span class="emphasis"><em>G4UserStackingAction</em></span>
+  </p></li><li><p>
+  <span class="emphasis"><em>G4UserTrackingAction</em></span>
+  </p></li><li><p>
+  <span class="emphasis"><em>G4UserSteppingAction</em></span>
+  </p></li></ul></div><p>
+There are several virtual methods in each of these classes which
+allow the specification of additional procedures at all levels of
+the simulation application. Details of the user initialization and
+action classes are provided in 
+<a href="ch06.html" title="Chapter 6. 
+User Actions
+">Chapter 6</a>.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.G4UImanagerUICommand"></a>2.1.4. 
+<span class="emphasis"><em>G4UImanager</em></span> and UI CommandSubmission
+</h3></div></div></div><p>
+Geant4 provides a category named <span class="bold"><strong>intercoms</strong></span>.
+<span class="emphasis"><em>G4UImanager</em></span> is the manager class of this category. Using the
+functionalities of this category, you can invoke 
+<span class="bold"><strong>set</strong></span> methods
+of class objects of which you do not know the pointer. 
+In <a href="ch02.html#programlist_HowToDefMain_2" title="Example 2.2. 
+An example of main() using interactive 
+terminal and visualization. Code modified from the previous
+example are shown in  blue.
+">Example 2.2</a>, 
+the verbosities of various Geant4 manager classes
+are set. Detailed mechanism description and usage of
+<span class="bold"><strong>intercoms</strong></span> will be given in the next chapter, 
+with a list of available commands. Command submission can be done all through the
+application.
+</p><div class="example"><a name="programlist_HowToDefMain_2"></a><p class="title"><b>Example 2.2. 
+An example of <code class="literal">main()</code> using interactive 
+terminal and visualization. Code modified from the previous
+example are shown in  <span class="color_blue">blue</span>.
+</b></p><div class="example-contents"><pre class="programlisting">
+ #include "G4RunManager.hh"
+ #include "G4UImanager.hh"
+ <span class="color_blue">#include "G4UIterminal.hh"</span>
+ #include "G4VisExecutive.hh"
+
+ #include "N02DetectorConstruction.hh"
+ #include "N02PhysicsList.hh"
+ #include "N02PrimaryGeneratorAction.hh"
+ #include "N02RunAction.hh"
+ #include "N02EventAction.hh"
+ #include "N02SteppingAction.hh"
+
+ #include "g4templates.hh"
+
+ int main(int argc,char** argv)
+ {
+   // construct the default run manager
+   G4RunManager * runManager = new G4RunManager;
+
+   // set mandatory initialization classes
+   N02DetectorConstruction* detector = new N02DetectorConstruction;
+   runManager-&gt;SetUserInitialization(detector);
+   runManager-&gt;SetUserInitialization(new N02PhysicsList);
+  
+   // visualization manager
+   G4VisManager* visManager = new G4VisExecutive;
+   visManager-&gt;initialize();
+    
+   // set user action classes
+   runManager-&gt;SetUserAction(new N02PrimaryGeneratorAction(detector));
+   runManager-&gt;SetUserAction(new N02RunAction);
+   runManager-&gt;SetUserAction(new N02EventAction);
+   runManager-&gt;SetUserAction(new N02SteppingAction);
+    
+   // get the pointer to the User Interface manager
+   G4UImanager* UI = G4UImanager::GetUIpointer();
+
+ <span class="color_blue">
+   if(argc==1)
+   // Define (G)UI terminal for interactive mode
+   {
+     G4UIsession * session = new G4UIterminal;
+     UI-&gt;ApplyCommand("/control/execute prerun.g4mac");
+     session-&gt;sessionStart();
+     delete session;
+   }
+   else
+   // Batch mode
+   {
+     G4String command = "/control/execute ";
+     G4String fileName = argv[1];
+     UI-&gt;ApplyCommand(command+fileName);
+   }
+</span>
+
+   // job termination
+   delete visManager;
+   delete runManager;
+
+   return 0;
+ }
+</pre></div></div><br class="example-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefMain.G4coutG4cerr"></a>2.1.5. 
+<span class="emphasis"><em>G4cout</em></span> and <span class="emphasis"><em>G4cerr</em></span>
+</h3></div></div></div><p>
+Although not yet included in the above examples, output streams
+will be needed. <span class="emphasis"><em>G4cout</em></span> and <span class="emphasis"><em>G4cerr</em></span> 
+are <span class="bold"><strong>iostream</strong></span>
+objects defined by Geant4. The usage of these objects is exactly
+the same as the ordinary <span class="emphasis"><em>cout</em></span> and
+<span class="emphasis"><em>cerr</em></span>, 
+except that the output streams will be handled by
+<span class="emphasis"><em>G4UImanager</em></span>. 
+Thus, output strings may be displayed on another window or stored in a
+file. Manipulation of these output streams will be described in
+<a href="ch07s02.html#sect.UIDefNew.HowCont" title="7.2.4. 
+How to control the output of G4cout/G4cerr
+">Section 7.2.4</a>.
+These objects should be used instead of the ordinary
+<span class="emphasis"><em>cout</em></span> and <span class="emphasis"><em>cerr</em></span>.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">1.2. 
+How to use this manual
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.2. 
+How to Define a Detector Geometry
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s02.html	(revision 901)
@@ -0,0 +1,203 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.2.  How to Define a Detector Geometry</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="next" href="ch02s03.html" title="2.3.  How to Specify Materials in the Detector"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. 
+How to Define a Detector Geometry
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToDefDetectorGeom"></a>2.2. 
+How to Define a Detector Geometry
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.BasicConcepts"></a>2.2.1. 
+Basic Concepts
+</h3></div></div></div><p>
+A detector geometry in Geant4 is made of a number of volumes. The
+largest volume is called the <span class="bold"><strong>World</strong></span> 
+volume. It must contain, with some margin, all other volumes 
+in the detector geometry. The other volumes are created and placed 
+inside previous volumes, included in the World volume. 
+The most simple (and efficient) shape to describe the World is a box.
+</p><p>
+Each volume is created by describing its shape and its physical
+characteristics, and then placing it inside a containing
+volume.
+</p><p>
+When a volume is placed within another volume, we call the
+former volume the daughter volume and the latter the mother volume.
+The coordinate system used to specify where the daughter volume is
+placed, is the coordinate system of the mother volume.
+</p><p>
+To describe a volume's shape, we use the concept of a solid. A
+solid is a geometrical object that has a shape and specific values
+for each of that shape's dimensions. A cube with a side of 10
+centimeters and a cylinder of radius 30 cm and length 75 cm are
+examples of solids.
+</p><p>
+To describe a volume's full properties, we use a logical volume.
+It includes the geometrical properties of the solid, and adds
+physical characteristics: the material of the volume; whether it
+contains any sensitive detector elements; the magnetic field;
+etc.
+</p><p>
+We have yet to describe how to position the volume. To do this
+you create a physical volume, which places a copy of the logical
+volume inside a larger, containing, volume.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.CreateSimpleVol"></a>2.2.2. 
+Create a Simple Volume
+</h3></div></div></div><p>
+What do you need to do to create a volume?
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  Create a solid.
+  </p></li><li><p>
+  Create a logical volume, using this solid, and adding other
+  attributes.
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.ChooseSolid"></a>2.2.3. Choose a Solid
+</h3></div></div></div><p>
+To create a simple box, you only need to define its name and its
+extent along each of the Cartesian axes. You can find an example
+how to do this in Novice Example N01.
+</p><p>
+In the detector description in the source file
+<code class="literal">ExN01DetectorConstruction.cc</code>, you will find the following
+box definition:
+
+</p><div class="example"><a name="programlist_HowToDefDetectorGeom_1"></a><p class="title"><b>Example 2.3. 
+Creating a box.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4double expHall_x = 3.0*m;
+  G4double expHall_y = 1.0*m;
+  G4double expHall_z = 1.0*m;
+
+  G4Box* experimentalHall_box
+     = new G4Box("expHall_box",expHall_x,expHall_y,expHall_z);
+</pre></div></div><p><br class="example-break">
+
+This creates a box named "expHall_box" with extent from -3.0
+meters to +3.0 meters along the X axis, from -1.0 to 1.0 meters in
+Y, and from -1.0 to 1.0 meters in Z.
+</p><p>
+It is also very simple to create a cylinder. To do this, you can
+use the <span class="emphasis"><em>G4Tubs</em></span> class.
+
+</p><div class="example"><a name="programlist_HowToDefDetectorGeom_2"></a><p class="title"><b>Example 2.4. 
+Creating a cylinder.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4double innerRadiusOfTheTube = 0.*cm;
+  G4double outerRadiusOfTheTube = 60.*cm;
+  G4double hightOfTheTube = 25.*cm;
+  G4double startAngleOfTheTube = 0.*deg;
+  G4double spanningAngleOfTheTube = 360.*deg;
+
+  G4Tubs* tracker_tube
+    = new G4Tubs("tracker_tube",
+                 innerRadiusOfTheTube, 
+                 outerRadiusOfTheTube,
+                 hightOfTheTube,
+                 startAngleOfTheTube, 
+                 spanningAngleOfTheTube);
+</pre></div></div><p><br class="example-break">
+
+This creates a full cylinder, named "tracker_tube", of radius 60
+centimeters and length 50 cm.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.CreateLogicalVol"></a>2.2.4. 
+Create a Logical Volume
+</h3></div></div></div><p>
+To create a logical volume, you must start with a solid and a
+material. So, using the box created above, you can create a simple
+logical volume filled with argon gas (see materials) by entering:
+
+</p><div class="informalexample"><pre class="programlisting">
+ G4LogicalVolume* experimentalHall_log
+    = new G4LogicalVolume(experimentalHall_box,Ar,"expHall_log");
+</pre></div><p>
+
+This logical volume is named "expHall_log".
+</p><p>
+Similarly we create a logical volume with the cylindrical solid
+filled with aluminium
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4LogicalVolume* tracker_log
+    = new G4LogicalVolume(tracker_tube,Al,"tracker_log");
+</pre></div><p>
+
+
+and named "tracker_log"
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.PlaceVolume"></a>2.2.5. 
+Place a Volume
+</h3></div></div></div><p>
+How do you place a volume? You start with a logical volume, and
+then you decide the already existing volume inside of which to
+place it. Then you decide where to place its center within that
+volume, and how to rotate it. Once you have made these decisions,
+you can create a physical volume, which is the placed instance of
+the volume, and embodies all of these atributes.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.CreatePhysicalVol"></a>2.2.6. Create a Physical Volume</h3></div></div></div><p>
+You create a physical volume starting with your logical volume.
+A physical volume is simply a placed instance of the logical
+volume. This instance must be placed inside a mother logical
+volume. For simplicity it is unrotated:
+</p><div class="example"><a name="programlist_HowToDefDetectorGeom_3"></a><p class="title"><b>Example 2.5. 
+A simple physical volume.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4double trackerPos_x = -1.0*meter;
+  G4double trackerPos_y =  0.0*meter;
+  G4double trackerPos_z =  0.0*meter;
+
+  G4VPhysicalVolume* tracker_phys
+    = new G4PVPlacement(0,                       // no rotation
+                        G4ThreeVector(trackerPos_x,trackerPos_y,trackerPos_z),
+                                                 // translation position
+                        tracker_log,             // its logical volume
+                        "tracker",               // its name
+                        experimentalHall_log,    // its mother (logical) volume
+                        false,                   // no boolean operations
+                        0);                      // its copy number
+</pre></div></div><br class="example-break"><p>
+This places the logical volume <code class="literal">tracker_log</code> at the
+origin of the mother volume <code class="literal">experimentalHall_log</code>, shifted
+by one meter along X and unrotated. The resulting physical volume
+is named "tracker" and has a copy number of 0.
+</p><p>
+An exception exists to the rule that a physical volume must be
+placed inside a mother volume. That exception is for the World
+volume, which is the largest volume created, and which contains all
+other volumes. This volume obviously cannot be contained in any
+other. Instead, it must be created as a <span class="emphasis"><em>G4PVPlacement</em></span> 
+with a null mother pointer. It also must be unrotated, and it must be
+placed at the origin of the global coordinate system.
+</p><p>
+Generally, it is best to choose a simple solid as the World
+volume, and in Example N01, we use the experimental hall:
+
+</p><div class="example"><a name="programlist_HowToDefDetectorGeom_4"></a><p class="title"><b>Example 2.6. 
+The World volume from Example N01.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4VPhysicalVolume* experimentalHall_phys
+      = new G4PVPlacement(0,                       // no rotation
+                          G4ThreeVector(0.,0.,0.), // translation position
+                          experimentalHall_log,    // its logical volume
+                          "expHall",               // its name
+                          0,                       // its mother volume
+                          false,                   // no boolean operations
+                          0);                      // its copy number
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToDefDetectorGeom.CoordinateRotations"></a>2.2.7. 
+Coordinate Systems and Rotations
+</h3></div></div></div><p>
+In Geant4, the rotation matrix associated to a placed physical
+volume represents the rotation of the reference system of this
+volume with respect to its mother.
+</p><p>
+A rotation matrix is normally constructed as in CLHEP, by
+instantiating the identity matrix and then applying a rotation to
+it. This is also demonstrated in Example N04.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.3. 
+How to Specify Materials in the Detector
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s03.html	(revision 901)
@@ -0,0 +1,143 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.3.  How to Specify Materials in the Detector</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s02.html" title="2.2.  How to Define a Detector Geometry"><link rel="next" href="ch02s04.html" title="2.4.  How to Specify Particles"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. 
+How to Specify Materials in the Detector
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSpecMate"></a>2.3. 
+How to Specify Materials in the Detector
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.GeneCons"></a>2.3.1. 
+General Considerations
+</h3></div></div></div><p>
+In nature, general materials (chemical compounds, mixtures) are
+made of elements, and elements are made of isotopes. Therefore,
+these are the three main classes designed in Geant4. Each of these
+classes has a table as a static data member, which is for keeping
+track of the instances created of the respective classes.
+</p><p>
+The <span class="emphasis"><em>G4Element</em></span> class describes the properties of the
+atoms:
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  atomic number,
+  </p></li><li><p>
+  number of nucleons,
+  </p></li><li><p>
+  atomic mass,
+  </p></li><li><p>
+  shell energy,
+  </p></li><li><p>
+  as well as quantities such as cross sections per atom, etc.
+  </p></li></ul></div><p>
+</p><p>
+The <span class="emphasis"><em>G4Material</em></span> class describes the macroscopic properties
+of matter:
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  density,
+  </p></li><li><p>
+  state,
+  </p></li><li><p>
+  temperature,
+  </p></li><li><p>
+  pressure,
+  </p></li><li><p>
+  as well as macroscopic quantities like radiation length, mean
+  free path, dE/dx, etc.
+  </p></li></ul></div><p>
+</p><p>
+The <span class="emphasis"><em>G4Material</em></span> class is the one which is visible to the
+rest of the toolkit, and is used by the tracking, the geometry, and
+the physics. It contains all the information relative to the
+eventual elements and isotopes of which it is made, at the same
+time hiding the implementation details.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.DefSimpleMate"></a>2.3.2. 
+Define a Simple Material
+</h3></div></div></div><p>
+In the example below, liquid argon is created, by specifying its
+name, density, mass per mole, and atomic number.
+</p><div class="example"><a name="programlist_HowToSpecMate_1"></a><p class="title"><b>Example 2.7. 
+Creating liquid argon.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4double density = 1.390*g/cm3;
+  G4double a = 39.95*g/mole;
+  G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+</pre></div></div><p><br class="example-break">
+</p><p>
+The pointer to the material, <span class="emphasis"><em>lAr</em></span>, will be used to specify
+the matter of which a given logical volume is made:
+</p><div class="informalexample"><pre class="programlisting">
+  G4LogicalVolume* myLbox = new G4LogicalVolume(aBox,lAr,"Lbox",0,0,0);
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.DefineMolecule"></a>2.3.3. 
+Define a Molecule
+</h3></div></div></div><p>
+In the example below, the water, <span class="emphasis"><em>H2O</em></span>, is built from its
+components, by specifying the number of atoms in the molecule.
+</p><div class="example"><a name="programlist_HowToSpecMate_2"></a><p class="title"><b>Example 2.8. 
+Creating water by defining its molecular components.
+</b></p><div class="example-contents"><pre class="programlisting">
+  a = 1.01*g/mole;
+  G4Element* elH  = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
+
+  a = 16.00*g/mole;
+  G4Element* elO  = new G4Element(name="Oxygen"  ,symbol="O" , z= 8., a);
+
+  density = 1.000*g/cm3;
+  G4Material* H2O = new G4Material(name="Water",density,ncomponents=2);
+  H2O-&gt;AddElement(elH, natoms=2);
+  H2O-&gt;AddElement(elO, natoms=1);
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.DefMixtureByFractionalMass"></a>2.3.4. 
+Define a Mixture by Fractional Mass
+</h3></div></div></div><p>
+In the example below, air is built from nitrogen and oxygen, by
+giving the fractional mass of each component.
+
+</p><div class="example"><a name="programlist_HowToSpecMate_3"></a><p class="title"><b>Example 2.9. 
+Creating air by defining the fractional mass of its components.
+</b></p><div class="example-contents"><pre class="programlisting">
+  a = 14.01*g/mole;
+  G4Element* elN  = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
+
+  a = 16.00*g/mole;
+  G4Element* elO  = new G4Element(name="Oxygen"  ,symbol="O" , z= 8., a);
+
+  density = 1.290*mg/cm3;
+  G4Material* Air = new G4Material(name="Air  ",density,ncomponents=2);
+  Air-&gt;AddElement(elN, fractionmass=70*perCent);
+  Air-&gt;AddElement(elO, fractionmass=30*perCent);
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.DefMateFromDatabase"></a>2.3.5. 
+Define a Material from the Geant4 Material Database
+</h3></div></div></div><p>
+In the example below, air and water are accessed via the Geant4
+material database.
+</p><div class="example"><a name="programlist_HowToSpecMate_4"></a><p class="title"><b>Example 2.10. 
+Defining air and water from the internal Geant4 database.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4NistManager* man = G4NistManager::Instance();
+
+  G4Material* H2O  = man-&gt;FindOrBuildMaterial("G4_WATER");
+  G4Material* Air  = man-&gt;FindOrBuildMaterial("G4_AIR");
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecMate.PrintMateInfo"></a>2.3.6. 
+Print Material Information
+</h3></div></div></div><p>
+</p><div class="example"><a name="programlist_HowToSpecMate_5"></a><p class="title"><b>Example 2.11. 
+Printing information about materials.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4cout &lt;&lt; H2O;                                \\ print a given material
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable());  \\ print the list of materials
+</pre></div></div><p><br class="example-break">
+
+In <code class="literal">examples/novice/N03/N03DetectorConstruction.cc</code>, you
+will find examples of all possible ways to build a material.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.2. 
+How to Define a Detector Geometry
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.4. 
+How to Specify Particles
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s04.html	(revision 901)
@@ -0,0 +1,308 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.4.  How to Specify Particles</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s03.html" title="2.3.  How to Specify Materials in the Detector"><link rel="next" href="ch02s05.html" title="2.5.  How to Specify Physics Processes"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. 
+How to Specify Particles
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSpecParti"></a>2.4. 
+How to Specify Particles
+</h2></div></div></div><p>
+<code class="literal">G4VuserPhysicsList</code> is one of the mandatory user base
+classes described in 
+<a href="ch02.html#sect.HowToDefMain" title="2.1. 
+How to Define the main() Program
+">Section 2.1</a>.
+Within this class all particles and physics processes to be used in
+your simulation must be defined. The range cut-off parameter should
+also be defined in this class.
+</p><p>
+The user must create a class derived from
+<code class="literal">G4VuserPhysicsList</code> and implement the following pure
+virtual methods:
+
+</p><div class="informalexample"><pre class="programlisting">
+ConstructParticle();      // construction of particles
+ConstructProcess();       // construct processes and register them to particles
+SetCuts();                // setting a range cut value for all particles
+</pre></div><p>
+</p><p>
+This section provides some simple examples of the
+<code class="literal">ConstructParticle()</code> and <code class="literal">SetCuts()</code>
+methods. 
+For information on <code class="literal">ConstructProcess()</code> methods, please see
+<a href="ch02s05.html" title="2.5. 
+How to Specify Physics Processes
+">Section 2.5</a>.
+
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecParti.PartiDef"></a>2.4.1. 
+Particle Definition
+</h3></div></div></div><p>
+Geant4 provides various types of particles for use in simulations:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  ordinary particles, such as electrons, protons, and gammas
+  </p></li><li><p>
+  resonant particles with very short lifetimes, such as vector
+  mesons and delta baryons
+  </p></li><li><p>
+  nuclei, such as deuteron, alpha, and heavy ions (including hyper-nuclei)
+  </p></li><li><p>
+  quarks, di-quarks, and gluon
+  </p></li></ul></div><p>
+</p><p>
+Each particle is represented by its own class, which is derived
+from <code class="literal">G4ParticleDefinition</code>. 
+(Exception: G4Ions represents all heavy nuclei. Please see
+<a href="ch05s03.html" title="5.3. 
+Particles
+">Section 5.3</a>.)
+Particles are organized into six major categories:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  lepton,
+  </p></li><li><p>
+  meson,
+  </p></li><li><p>
+  baryon,
+  </p></li><li><p>
+  boson,
+  </p></li><li><p>
+  shortlived and
+  </p></li><li><p>
+  ion,
+  </p></li></ul></div><p>
+
+each of which is defined in a corresponding sub-directory under
+<code class="literal">geant4/source/particles</code>. There is also a corresponding
+granular library for each particle category.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.PartiDef.G4ParticleDefinition"></a>2.4.1.1. 
+The <code class="literal">G4ParticleDefinition</code> Class
+</h4></div></div></div><p>
+<code class="literal">G4ParticleDefinition</code> has properties which characterize
+individual particles, such as, name, mass, charge, spin, and so on.
+Most of these properties are "read-only" and can not be changed by
+users without rebuilding the libraries.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.PartiDef.HowToAccessParti"></a>2.4.1.2. 
+How to Access a Particle
+</h4></div></div></div><p>
+Each particle class type represents an individual particle type,
+and each class has a single object. This object can be accessed by 
+using the static method of each class.
+There are some exceptions to this rule; please see 
+<a href="ch05s03.html" title="5.3. 
+Particles
+">Section 5.3</a> for details.
+</p><p>
+For example, the class <code class="literal">G4Electron</code> represents the
+electron and the member <code class="literal">G4Electron::theInstance</code> 
+points its only object. 
+The pointer to this object is available
+through the static methods
+<code class="literal">G4Electron::ElectronDefinition()</code>.
+<code class="literal">G4Electron::Definition()</code>.
+</p><p>
+More than 100 types of particles are provided by default, to be
+used in various physics processes. In normal applications, users
+will not need to define their own particles.
+</p><p>
+Because particles are static objects of individual particle
+classes, these objects are instantiated 
+when the static method getting the pointer is invoked at the first time
+Therefore, you must explicitly declare the particle classes 
+required by your program at the initialization step, 
+otherwise no particles will be instantiated.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.PartiDef.DictOfParti"></a>2.4.1.3. Dictionary of Particles
+</h4></div></div></div><p>
+The <code class="literal">G4ParticleTable</code> class is provided as a dictionary of
+particles. Various utility methods are provided, such as:
+
+</p><div class="informalexample"><pre class="programlisting">
+FindParticle(G4String name);         // find the particle by name
+FindParticle(G4int PDGencoding)      // find the particle by PDG encoding .
+</pre></div><p>
+</p><p>
+<code class="literal">G4ParticleTable</code> is defined as a singleton object,
+and the static method <code class="literal">G4ParticleTable::GetParticleTable()</code>
+provides its pointer.
+</p><p>
+As for heavy ions (including hyper-nuclei), objects are created
+dynamically by requests from users and processes.  
+The <code class="literal">G4ParticleTable</code> class provides
+methods to create ions, such as:
+</p><div class="informalexample"><pre class="programlisting">
+G4ParticleDefinition* GetIon(  G4int    atomicNumber,  
+                               G4int    atomicMass, 
+                               G4double   excitationEnergy);
+</pre></div><p>
+</p><p>
+Particles are registered automatically during construction. The
+user has no control over particle registration.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.PartiDef.ConstruParti"></a>2.4.1.4. 
+Constructing Particles
+</h4></div></div></div><p>
+<code class="literal">ConstructParticle()</code> is a pure virtual method, in which 
+the static member functions for all the particles you require should be called.
+This ensures that objects of these particles are created.
+</p><p>
+WARNING: You must define "All PARTICLE TYPES" which are used in your
+application, except for heavy ions. 
+"All PARTICLE TYPES" means not only primary 
+particles, but also all other particles which may appear as secondaries 
+generated by physics processes you use. Beginning with Geant4 version 8.0, 
+you should keep this rule strictly because all particle definitions are 
+revised to "non-static" objects.
+</p><p>
+For example, suppose you need a proton and a geantino, which is
+a virtual particle used for simulation and which does not interact
+with materials. The <code class="literal">ConstructParticle()</code> method is
+implemented as below:
+
+</p><div class="example"><a name="programlist_HowToSpecParti_1"></a><p class="title"><b>Example 2.12. 
+Construct a proton and a geantino.
+</b></p><div class="example-contents"><pre class="programlisting">
+ void ExN01PhysicsList::ConstructParticle()
+ {
+   G4Proton::ProtonDefinition();
+   G4Geantino::GeantinoDefinition();
+ }
+</pre></div></div><p><br class="example-break">
+</p><p>
+Due to the large number of pre-defined particles in Geant4, it
+is cumbersome to list all the particles by this method. If you want
+all the particles in a Geant4 particle category, there are six
+utility classes, corresponding to each of the particle categories,
+which perform this function:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <code class="literal">G4BosonConstructor</code>
+  </p></li><li><p>
+  <code class="literal">G4LeptonConstructor</code>
+  </p></li><li><p>
+  <code class="literal">G4MesonConstructor</code>
+  </p></li><li><p>
+  <code class="literal">G4BarionConstructor</code>
+  </p></li><li><p>
+  <code class="literal">G4IonConstructor</code>
+  </p></li><li><p>
+  <code class="literal">G4ShortlivedConstructor</code>.
+  </p></li></ul></div><p>
+</p><p>
+An example of this is shown in <code class="literal">ExN05PhysicsList</code>, 
+listed below.
+
+</p><div class="example"><a name="programlist_HowToSpecParti_2"></a><p class="title"><b>Example 2.13. 
+Construct all leptons.
+</b></p><div class="example-contents"><pre class="programlisting">
+void ExN05PhysicsList::ConstructLeptons()
+{
+  // Construct all leptons
+  G4LeptonConstructor pConstructor;
+  pConstructor.ConstructParticle();
+}
+</pre></div></div><p><br class="example-break">
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecParti.RangeCuts"></a>2.4.2. 
+Range Cuts
+</h3></div></div></div><p>
+To avoid infrared divergence, some electromagnetic processes
+require a threshold below which no secondary will be generated.
+Because of this requirement, gammas, electrons and positrons
+require production thresholds which the user should define. This
+threshold should be defined as a distance, or range cut-off, which
+is internally converted to an energy for individual materials. The
+range threshold should be defined in the initialization phase using
+the <code class="literal">SetCuts()</code> method of <code class="literal">G4VUserPhysicsList</code>.
+<a href="ch05s05.html" title="5.5. 
+Cuts per Region
+">Section 5.5</a> discusses threshold and tracking 
+cuts in detail.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSpecParti.RangeCuts.SetCuts"></a>2.4.2.1. 
+Setting the cuts
+</h4></div></div></div><p>
+Production threshold values should be defined in <code class="literal">SetCuts()</code>
+which is a pure virtual method of the <code class="literal">G4VUserPhysicsList</code>
+class. Construction of particles, materials, and processes should
+precede the invocation of <code class="literal">SetCuts()</code>. <code class="literal">G4RunManager</code>
+takes care of this sequence in usual applications.
+</p><p>
+The idea of a "unique cut value in range" is one of the
+important features of Geant4 and is used to handle cut values in a
+coherent manner. For most applications, users need to determine
+only one cut value in range, and apply this value to gammas,
+electrons and positrons alike.
+</p><p>
+In such a case, the <code class="literal">SetCutsWithDefault()</code> method may be
+used. It is provided by the <code class="literal">G4VuserPhysicsList</code> base class,
+which has a <code class="literal">defaultCutValue</code> member as the default range
+cut-off value. <code class="literal">SetCutsWithDefault()</code> uses this value.
+</p><p>
+It is possible to set different range cut values for gammas,
+electrons and positrons, and also to set different range cut values
+for each geometrical region. In such cases however, one must be
+careful with physics outputs because Geant4 processes (especially
+energy loss) are designed to conform to the "unique cut value in
+range" scheme.
+
+</p><div class="example"><a name="programlist_HowToSpecParti_3"></a><p class="title"><b>Example 2.14. 
+Set cut values by using the default cut value.
+</b></p><div class="example-contents"><pre class="programlisting">
+void ExN04PhysicsList::SetCuts()
+{
+  //   the G4VUserPhysicsList::SetCutsWithDefault() method sets 
+  //   the default cut value for all particle types 
+  SetCutsWithDefault();   
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+The <code class="literal">defaultCutValue</code> is set to 1.0 mm by default. Of
+course, you can set the new default cut value in the constructor of
+your physics list class as shown below.
+
+</p><div class="example"><a name="programlist_HowToSpecParti_4"></a><p class="title"><b>Example 2.15. 
+Set the default cut value.
+</b></p><div class="example-contents"><pre class="programlisting">
+ExN04PhysicsList::ExN04PhysicsList():  G4VUserPhysicsList()
+{
+  // default cut value  (1.0mm) 
+  defaultCutValue = 1.0*mm;
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+The <code class="literal">SetDefaultCutValue()</code> method in
+<code class="literal">G4VUserPhysicsList</code> may also be used, and the "/run/setCut"
+command may be used to change the default cut value
+interactively.
+</p><p>
+WARNING: DO NOT change cut values inside the event loop. Cut
+values may however be changed between runs.
+</p><p>
+An example implementation of <code class="literal">SetCuts()</code> is shown
+below:
+
+</p><div class="example"><a name="programlist_HowToSpecParti_5"></a><p class="title"><b>Example 2.16. 
+Example implementation of the <code class="literal">SetCuts()</code> method.
+</b></p><div class="example-contents"><pre class="programlisting">
+void ExN03PhysicsList::SetCuts()
+{
+  // set cut values for gamma at first and for e- second and next for e+,
+  // because some processes for e+/e- need cut values for gamma 
+  SetCutValue(cutForGamma, "gamma");
+  SetCutValue(cutForElectron, "e-");
+  SetCutValue(cutForElectron, "e+");
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+Beginning with Geant4 version 5.1, it is now possible to set
+production thresholds for each geometrical region. This new
+functionality is described in <a href="ch05s05.html" title="5.5. 
+Cuts per Region
+">Section 5.5</a>.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.3. 
+How to Specify Materials in the Detector
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.5. 
+How to Specify Physics Processes
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s05.html	(revision 901)
@@ -0,0 +1,184 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.5.  How to Specify Physics Processes</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s04.html" title="2.4.  How to Specify Particles"><link rel="next" href="ch02s06.html" title="2.6.  How to Generate a Primary Event"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. 
+How to Specify Physics Processes
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSpecPhysProc"></a>2.5. 
+How to Specify Physics Processes
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecPhysProc.PhysProc"></a>2.5.1. 
+Physics Processes
+</h3></div></div></div><p>
+Physics processes describe how particles interact with materials.
+Geant4 provides seven major categories of processes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  electromagnetic,
+  </p></li><li><p>
+  hadronic,
+  </p></li><li><p>
+  transportation,
+  </p></li><li><p>
+  decay,
+  </p></li><li><p>
+  optical,
+  </p></li><li><p>
+  photolepton_hadron, and
+  </p></li><li><p>parameterisation.
+  </p></li></ul></div><p>
+</p><p>
+All physics processes are derived from the <span class="emphasis"><em>G4VProcess</em></span>
+base class. Its virtual methods
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <code class="literal">AtRestDoIt</code>,
+  </p></li><li><p>
+  <code class="literal">AlongStepDoIt</code>, and
+  </p></li><li><p>
+  <code class="literal">PostStepDoIt</code>
+  </p></li></ul></div><p>
+
+and the corresponding methods
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <code class="literal">AtRestGetPhysicalInteractionLength</code>,
+  </p></li><li><p>
+  <code class="literal">AlongStepGetPhysicalInteractionLength</code>, and
+  </p></li><li><p>
+  <code class="literal">PostStepGetPhysicalInteractionLength</code>
+  </p></li></ul></div><p>
+
+describe the behavior of a physics process when they are
+implemented in a derived class. The details of these methods are
+described in 
+<a href="ch05s02.html" title="5.2. 
+Physics Processes
+">Section 5.2</a>.
+</p><p>
+The following are specialized base classes to be used for simple
+processes:
+
+</p><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>G4VAtRestProcess</em></span></span></dt><dd>
+    Processes with only <code class="literal">AtRestDoIt</code></dd><dt><span class="term"><span class="emphasis"><em>G4VContinuousProcess</em></span></span></dt><dd>
+    Processes with only <code class="literal">AlongStepDoIt</code></dd><dt><span class="term"><span class="emphasis"><em>G4VDiscreteProcess</em></span></span></dt><dd>
+    processes with only <code class="literal">PostStepDoIt</code></dd></dl></div><p>
+</p><p>
+Another 4 virtual classes, such as
+<span class="emphasis"><em>G4VContinuousDiscreteProcess</em></span>, are provided for complex
+processes.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecPhysProc.ManagingProc"></a>2.5.2. 
+Managing Processes
+</h3></div></div></div><p>
+The <span class="emphasis"><em>G4ProcessManager</em></span> class contains a list of processes that
+a particle can undertake. It has information on the order of
+invocation of the processes, as well as which kind of <code class="literal">DoIt</code>
+method is valid for each process in the list. A
+<span class="emphasis"><em>G4ProcessManager</em></span> object corresponds to each particle and is
+attached to the <span class="emphasis"><em>G4ParticleDefiniton</em></span> class.
+</p><p>
+In order to validate processes, they should be registered with
+the particle's <span class="emphasis"><em>G4ProcessManager</em></span>. Process ordering
+information is included by using the <code class="literal">AddProcess()</code> and
+<code class="literal">SetProcessOrdering()</code> methods. For registration of simple
+processes, the <code class="literal">AddAtRestProcess()</code>,
+<code class="literal">AddContinuousProcess()</code> and <code class="literal">AddDiscreteProcess()</code>
+methods may be used.
+</p><p>
+<span class="emphasis"><em>G4ProcessManager</em></span> is able to turn some processes on or off
+during a run by using the <code class="literal">ActivateProcess()</code> and
+<code class="literal">InActivateProcess()</code> methods. These methods are valid only
+after process registration is complete, so they must not be used in
+the <span class="emphasis"><em>PreInit</em></span> phase.
+</p><p>
+The <span class="emphasis"><em>G4VUserPhysicsList</em></span> class creates and attaches
+<span class="emphasis"><em>G4ProcessManager</em></span> objects to all particle classes defined in
+the <code class="literal">ConstructParticle()</code> method.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSpecPhysProc.SpecPhysProc"></a>2.5.3. 
+Specifying Physics Processes
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> is the base class for a "mandatory user
+class" (see <a href="ch02.html#sect.HowToDefMain" title="2.1. 
+How to Define the main() Program
+">Section 2.1</a>), in which all physics 
+processes and all particles required in a simulation must be registered. 
+The user must create a class derived from
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> and implement the pure virtual method
+<code class="literal">ConstructProcess()</code>.
+</p><p>
+For example, if just the <span class="emphasis"><em>G4Geantino</em></span> particle class is
+required, only the transportation process need be registered. The
+<code class="literal">ConstructProcess()</code> method would then be implemented as
+follows:
+
+</p><div class="example"><a name="programlist_HowToSpecPhysProc_1"></a><p class="title"><b>Example 2.17. 
+Register processes for a geantino.
+</b></p><div class="example-contents"><pre class="programlisting">
+  void ExN01PhysicsList::ConstructProcess()
+  {
+    // Define transportation process
+    AddTransportation();
+  }
+</pre></div></div><p><br class="example-break">
+
+Here, the <code class="literal">AddTransportation()</code> method is provided in the
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> class to register the
+<span class="emphasis"><em>G4Transportation</em></span> class with all particle classes. The
+<span class="emphasis"><em>G4Transportation</em></span> class (and/or related classes) describes
+the particle motion in space and time. It is the mandatory process
+for tracking particles.
+</p><p>
+In the <code class="literal">ConstructProcess()</code> method, physics processes
+should be created and registered with each particle's instance of
+<span class="emphasis"><em>G4ProcessManager</em></span>.
+</p><p>
+An example of process registration is given in the
+<span class="emphasis"><em>G4VUserPhysicsList</em></span>::<code class="literal">AddTransportation()</code> 
+method.
+</p><p>
+Registration in <span class="emphasis"><em>G4ProcessManager</em></span> is a complex procedure
+for other processes and particles because the relations between
+processes are crucial for some processes. Please see 
+<a href="ch05s02.html" title="5.2. 
+Physics Processes
+">Section 5.2</a> and the example codes.
+</p><p>
+An example of electromagnetic process registration for photons
+is shown below:
+
+</p><div class="example"><a name="programlist_HowToSpecPhysProc_2"></a><p class="title"><b>Example 2.18. 
+Register processes for a gamma.
+</b></p><div class="example-contents"><pre class="programlisting">
+void MyPhysicsList::ConstructProcess()
+{
+  // Define transportation process
+  AddTransportation();
+  // electromagnetic processes
+  ConstructEM();
+}
+void MyPhysicsList::ConstructEM()
+{
+   //  Get the process manager for gamma
+  G4ParticleDefinition* particle = G4Gamma::GammaDefinition(); 
+  G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+
+  // Construct processes for gamma
+  G4PhotoElectricEffect * thePhotoElectricEffect = new G4PhotoElectricEffect();      
+  G4ComptonScattering * theComptonScattering = new G4ComptonScattering();
+  G4GammaConversion* theGammaConversion = new G4GammaConversion();
+
+  // Register processes to gamma's process manager
+  pmanager-&gt;AddDiscreteProcess(thePhotoElectricEffect);
+  pmanager-&gt;AddDiscreteProcess(theComptonScattering);
+  pmanager-&gt;AddDiscreteProcess(theGammaConversion);
+}
+</pre></div></div><p><br class="example-break">
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.4. 
+How to Specify Particles
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.6. 
+How to Generate a Primary Event
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s06.html	(revision 901)
@@ -0,0 +1,184 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.6.  How to Generate a Primary Event</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s05.html" title="2.5.  How to Specify Physics Processes"><link rel="next" href="ch02s07.html" title="2.7.  How to Make an Executable Program"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. 
+How to Generate a Primary Event
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToGenEvent"></a>2.6. 
+How to Generate a Primary Event
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToGenEvent.GenPrimary"></a>2.6.1. 
+Generating Primary Events
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4VuserPrimaryGeneratorAction</em></span> is one of the mandatory
+classes available for deriving your own concrete class. In your
+concrete class, you have to specify how a primary event should be
+generated. Actual generation of primary particles will be done by
+concrete classes of <span class="emphasis"><em>G4VPrimaryGenerator</em></span>, explained in the
+following sub-section. Your <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span>
+concrete class just arranges the way primary particles are generated.
+
+</p><div class="example"><a name="programlist_HowToGenEvent_1"></a><p class="title"><b>Example 2.19. 
+An example of a <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> 
+concrete class using <span class="emphasis"><em>G4ParticleGun</em></span>. 
+For the usage of <span class="emphasis"><em>G4ParticleGun</em></span> refer to the
+next subsection.
+</b></p><div class="example-contents"><pre class="programlisting">
+#ifndef ExN01PrimaryGeneratorAction_h
+#define ExN01PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+
+class G4ParticleGun;
+class G4Event;
+
+class ExN01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN01PrimaryGeneratorAction();
+    ~ExN01PrimaryGeneratorAction();
+
+  public:
+    void generatePrimaries(G4Event* anEvent);
+
+  private:
+    G4ParticleGun* particleGun;
+};
+
+#endif
+
+#include "ExN01PrimaryGeneratorAction.hh"
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ThreeVector.hh"
+#include "G4Geantino.hh"
+#include "globals.hh"
+
+ExN01PrimaryGeneratorAction::ExN01PrimaryGeneratorAction()
+{
+  G4int n_particle = 1;
+  particleGun = new G4ParticleGun(n_particle);
+
+  particleGun-&gt;SetParticleDefinition(G4Geantino::GeantinoDefinition());
+  particleGun-&gt;SetParticleEnergy(1.0*GeV);
+  particleGun-&gt;SetParticlePosition(G4ThreeVector(-2.0*m,0.0*m,0.0*m));
+}
+
+ExN01PrimaryGeneratorAction::~ExN01PrimaryGeneratorAction()
+{
+  delete particleGun;
+}
+
+void ExN01PrimaryGeneratorAction::generatePrimaries(G4Event* anEvent)
+{
+  G4int i = anEvent-&gt;get_eventID() % 3;
+  switch(i)
+  {
+    case 0:
+      particleGun-&gt;SetParticleMomentumDirection(G4ThreeVector(1.0,0.0,0.0));
+      break;
+    case 1:
+      particleGun-&gt;SetParticleMomentumDirection(G4ThreeVector(1.0,0.1,0.0));
+      break;
+    case 2:
+      particleGun-&gt;SetParticleMomentumDirection(G4ThreeVector(1.0,0.0,0.1));
+      break;
+  }
+
+  particleGun-&gt;generatePrimaryVertex(anEvent);
+}
+</pre></div></div><p><br class="example-break">
+
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.GenPrimary.SelectGenerator"></a>2.6.1.1. 
+Selection of the generator
+</h4></div></div></div><p>
+In the constructor of your <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span>,
+you should instantiate the primary generator(s). If necessary, you
+need to set some initial conditions for the generator(s).
+</p><p>
+In <a href="ch02s06.html#programlist_HowToGenEvent_1" title="Example 2.19. 
+An example of a G4VUserPrimaryGeneratorAction 
+concrete class using G4ParticleGun. 
+For the usage of G4ParticleGun refer to the
+next subsection.
+">Example 2.19</a>, 
+<span class="emphasis"><em>G4ParticleGun</em></span> is constructed to
+use as the actual primary particle generator. Methods of
+<span class="emphasis"><em>G4ParticleGun</em></span> are described in the following section. Please
+note that the primary generator object(s) you construct in your
+<span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> concrete class must be deleted
+in your destructor.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.GenPrimary.GenEvent"></a>2.6.1.2. 
+Generation of an event
+</h4></div></div></div><p>
+<span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> has a pure virtual method
+named <code class="literal">generatePrimaries()</code>. This method is invoked at the
+beginning of each event. In this method, you have to invoke the
+<span class="emphasis"><em>G4VPrimaryGenerator</em></span> concrete class you instantiated via the
+<code class="literal">generatePrimaryVertex()</code> method.
+</p><p>
+You can invoke more than one generator and/or invoke one
+generator more than once. Mixing up several generators can produce
+a more complicated primary event.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToGenEvent.G4VPrimGen"></a>2.6.2. 
+G4VPrimaryGenerator
+</h3></div></div></div><p>
+Geant4 provides two <span class="emphasis"><em>G4VPrimaryGenerator</em></span> concrete classes.
+One is <span class="emphasis"><em>G4ParticleGun</em></span>, which will be discussed here, and the
+other is <span class="emphasis"><em>G4HEPEvtInterface</em></span>, which will be discussed in
+<a href="ch03s06.html" title="3.6. 
+Event Generator Interface
+">Section 3.6</a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.G4VPrimGen.G4PartGun"></a>2.6.2.1. 
+G4ParticleGun
+</h4></div></div></div><p>
+<span class="emphasis"><em>G4ParticleGun</em></span> is a generator provided by Geant4. This class
+generates primary particle(s) with a given momentum and position.
+It does not provide any sort of randomizing. The constructor of
+<span class="emphasis"><em>G4ParticleGun</em></span> takes an integer which causes the generation
+of one or more primaries of exactly same kinematics. It is a rather
+frequent user requirement to generate a primary with randomized
+energy, momentum, and/or position. Such randomization can be
+achieved by invoking various set methods provided by
+<span class="emphasis"><em>G4ParticleGun</em></span>. The invocation of these methods should be
+implemented in the <code class="literal">generatePrimaries()</code> method of your
+concrete <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> class before invoking
+<code class="literal">generatePrimaryVertex()</code> of
+<span class="emphasis"><em>G4ParticleGun</em></span>. 
+Geant4 provides various random number generation methods with various
+distributions (see <a href="ch03s02.html" title="3.2. 
+Global Usage Classes
+">Section 3.2</a>).
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToGenEvent.G4VPrimGen.PublicMethG4PartGun"></a>2.6.2.2. 
+Public methods of <span class="emphasis"><em>G4ParticleGun</em></span>
+</h4></div></div></div><p>
+The following methods are provided by <span class="emphasis"><em>G4ParticleGun</em></span>, and all
+of them can be invoked from the <code class="literal">generatePrimaries()</code> method
+in your concrete <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> class.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <code class="literal">void SetParticleDefinition(G4ParticleDefinition*)</code>
+  </p></li><li><p>
+  <code class="literal">void SetParticleMomentum(G4ParticleMomentum)</code>
+  </p></li><li><p>
+  <code class="literal">void SetParticleMomentumDirection(G4ThreeVector)</code>
+  </p></li><li><p>
+  <code class="literal">void SetParticleEnergy(G4double)</code>
+  </p></li><li><p>
+  <code class="literal">void SetParticleTime(G4double)</code>
+  </p></li><li><p>
+  <code class="literal">void SetParticlePosition(G4ThreeVector)</code>
+  </p></li><li><p>
+  <code class="literal">void SetParticlePolarization(G4ThreeVector)</code>
+  </p></li><li><p>
+  <code class="literal">void SetNumberOfParticles(G4int)</code>
+  </p></li></ul></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.5. 
+How to Specify Physics Processes
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.7. 
+How to Make an Executable Program
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s07.html	(revision 901)
@@ -0,0 +1,97 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.7.  How to Make an Executable Program</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s06.html" title="2.6.  How to Generate a Primary Event"><link rel="next" href="ch02s08.html" title="2.8.  How to Set Up an Interactive Session"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. 
+How to Make an Executable Program
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToMakeExec"></a>2.7. 
+How to Make an Executable Program
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToMakeExec.UNIX"></a>2.7.1. 
+Building ExampleN01 in a UNIX Environment
+</h3></div></div></div><p>
+The code for the user examples in Geant4 is placed in the directory
+<code class="literal">$G4INSTALL/examples</code>, where <code class="literal">$G4INSTALL</code> is the
+environment variable set to the place where the Geant4 distribution
+is installed (set by default to <code class="literal">$HOME/geant4</code>). In the
+following sections, a quick overview on how the GNUmake mechanism
+works in Geant4 will be given, and we will show how to build a
+concrete example, "ExampleN01", which is part of the Geant4
+distribution.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToMakeExec.UNIX.HowGNUmakeWorks"></a>2.7.1.1. 
+How GNUmake works in Geant4
+</h4></div></div></div><p>
+The GNUmake process in Geant4 is mainly controlled by the following
+GNUmake script files (<code class="literal">*.gmk</code> scripts are placed in 
+<code class="literal">$G4INSTALL/config</code>):
+
+</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">architecture.gmk</code></span></dt><dd>
+    invoking and defining all the architecture specific settings
+    and paths which are stored in <code class="literal">$G4INSTALL/config/sys</code>.
+    </dd><dt><span class="term"><code class="literal">common.gmk</code></span></dt><dd>
+    defining all general GNUmake rules for building objects and libraries
+    </dd><dt><span class="term"><code class="literal">globlib.gmk</code></span></dt><dd>
+    defining all general GNUmake rules for building compound libraries
+    </dd><dt><span class="term"><code class="literal">binmake.gmk</code></span></dt><dd>
+    defining the general GNUmake rules for building executables
+    </dd><dt><span class="term"><code class="literal">GNUmakefile</code></span></dt><dd>
+    placed inside each directory in the Geant4 distribution and defining 
+    directives specific to build a library, a set of sub-libraries, or 
+    an executable.
+    </dd></dl></div><p>
+</p><p>
+Kernel libraries are placed by default in
+<code class="literal">$G4INSTALL/lib/$G4SYSTEM</code>, where <code class="literal">$G4SYSTEM</code>
+specifies the system architecture and compiler in use. Executable
+binaries are placed in <code class="literal">$G4WORKDIR/bin/$G4SYSTEM</code>, and
+temporary files (object-files and data products of the compilation
+process) in <code class="literal">$G4WORKDIR/tmp/$G4SYSTEM</code>. <code class="literal">$G4WORKDIR</code>
+(set by default to <code class="literal">$G4INSTALL</code>) should be set by the user
+to specify the place his/her own workdir for Geant4 in the user
+area.
+</p><p>
+For more information on how to build Geant4 kernel libraries and
+set up the correct environment for Geant4, refer to the
+"Installation Guide".
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToMakeExec.UNIX.BuildExec"></a>2.7.1.2. 
+Building the executable</h4></div></div></div><p>
+The compilation process to build an executable, such as an example
+from <code class="literal">$G4INSTALL/examples</code>, is started by invoking the
+"gmake" command from the (sub)directory in which you are
+interested. To build, for instance, exampleN01 in your
+<code class="literal">$G4WORKDIR</code> area, you should copy the module
+<code class="literal">$G4INSTALL/examples</code> to your <code class="literal">$G4WORKDIR</code> 
+and do the following actions:
+
+</p><div class="informalexample"><pre class="programlisting">
+  &gt; cd $G4WORKDIR/examples/novice/N01
+  &gt; gmake
+</pre></div><p>
+</p><p>
+This will create, in <code class="literal">$G4WORKDIR/bin/$G4SYSTEM</code>, the
+"exampleN01" executable, which you can invoke and run. You should
+actually add <code class="literal">$G4WORKDIR/bin/$G4SYSTEM</code> to
+<code class="literal">$PATH</code> in your environment.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToMakeExec.Windows"></a>2.7.2. 
+Building ExampleN01 in a Windows Environment
+</h3></div></div></div><p>
+The procedure to build a Geant4 executable on a system based on a
+Windows system is similar to what should be done on a UNIX based
+system, assuming that your system is equipped with GNUmake,
+MS-Visual C++ compiler and the required software to run Geant4 (see
+"Installation Guide").
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToMakeExec.Windows.BuildExec"></a>2.7.2.1. 
+Building the executable
+</h4></div></div></div><p>
+See paragraph <a href="ch02s07.html#sect.HowToMakeExec.UNIX" title="2.7.1. 
+Building ExampleN01 in a UNIX Environment
+">Section 2.7.1</a>.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.6. 
+How to Generate a Primary Event
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.8. 
+How to Set Up an Interactive Session
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s08.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s08.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s08.html	(revision 901)
@@ -0,0 +1,304 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.8.  How to Set Up an Interactive Session</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s07.html" title="2.7.  How to Make an Executable Program"><link rel="next" href="ch02s09.html" title="2.9.  How to Execute a Program"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.8. 
+How to Set Up an Interactive Session
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s09.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToSetUpInter"></a>2.8. 
+How to Set Up an Interactive Session
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSetUpInter.Intro"></a>2.8.1. 
+Introduction
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.Intro.RolesIntercoms"></a>2.8.1.1. 
+Roles of the "intercoms" category
+</h4></div></div></div><p>
+The "intercoms" category
+provides an expandable command interpreter. It is the key mechanism
+of Geant4 to realize user interactions of all categories without
+being annoyed by the dependencies among categories. The direct use
+of Geant4 classes in a C++ program offers a first ground level of
+interactivity, i.e., the batch session. As seen in the
+examples/novice/N01, Geant4 commands and macros are to be
+hard-coded in the program.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.Intro.UserInterfaces"></a>2.8.1.2. 
+User Interfaces to steer the simulation
+</h4></div></div></div><p>
+To avoid too much programming, the
+"intercoms" category provides the abstract class <span class="emphasis"><em>G4UIsession</em></span>
+that captures interactive commands . The concrete implementation of
+the user interface and Graphical User Interfaces (GUI) is left to
+the interfaces category. This interfacing strategy opens an
+important door towards various user interface tools and allows
+Geant4 to utilize the state-of-the-art GUI tools such as Motif and
+Java, etc..The richness of the collaboration has permitted for
+different groups to offer various user interfaces to the Geant4
+command system. Currently available are the following;
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+  Character terminal (dumb terminal and tcsh(bash)-like terminal), 
+  the default user interface of Geant4,
+  </p></li><li><p>
+  Xm, Xaw, Win32, variations of the upper terminal by using a
+  Motif, Athena or Windows widget to retrieve commands, and
+  </p></li><li><p>
+  GAG, a fully Graphical User Interface and its extension
+  GainServer of the client/server type.
+  </p></li></ol></div><p>
+</p><p>
+Full implementation of the character
+terminals (1 and 2) is included in the standard Geant4 distribution
+in the <code class="literal">source/interfaces/basic</code> directory. As for GAG
+with rich GUI functionalities, its front-end classes are included
+in the Geant4 distribution in the source/interfaces/GAG directory.
+The corresponding GUI package is available either from the author's
+Web pages (see URL below) or in the distributed package under the
+<code class="literal">environments/MOMO</code> directory.
+</p><p>
+GAG, GainServer's client GUI Gain: 
+<a href="http://erpc1.naruto-u.ac.jp/~geant4" target="_top">
+http://erpc1.naruto-u.ac.jp/~geant4
+</a>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSetUpInter.DescInter"></a>2.8.2. 
+A Short Description of Available Interface Classes
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.DescInter.G4UI"></a>2.8.2.1. 
+<span class="emphasis"><em>G4UIterminal</em></span> and <span class="emphasis"><em>G4UItcsh</em></span> classes
+</h4></div></div></div><p>
+These interfaces open a session on the character terminal. 
+<span class="emphasis"><em>G4UIterminal</em></span> runs on all platform supported by Geant4, 
+including <span class="emphasis"><em>cygwin</em></span> on Windows, 
+while <span class="emphasis"><em>G4UItcsh</em></span> runs on Solaris and Linux. G4UItcsh
+supports user-friendly key bindings a-la-tcsh (or bash);
+
+</p><div class="variablelist"><dl><dt><span class="term">^A</span></dt><dd>
+    move cursor to the top
+    </dd><dt><span class="term">^B</span></dt><dd>
+    backward cursor ([LEFT] cursor)
+    </dd><dt><span class="term">^C (except Windows terminal)</span></dt><dd>
+    abort a run (<span class="emphasis"><em>soft abort</em></span>) during event processing. 
+    A program will be terminated while accepting a user command. 
+    </dd><dt><span class="term">^D</span></dt><dd>
+    delete/exit/show matched list
+    </dd><dt><span class="term">^E</span></dt><dd>
+    move cursor to the end
+    </dd><dt><span class="term">^F</span></dt><dd>
+    forward cursor ([RIGHT] cursor)
+    </dd><dt><span class="term">^K</span></dt><dd>
+    clear after the cursor
+    </dd><dt><span class="term">^N</span></dt><dd>
+    next command ([DOWN] cursor)
+    </dd><dt><span class="term">^P</span></dt><dd>
+    previous command ([UP] cursor)
+    </dd><dt><span class="term">TAB</span></dt><dd>
+    command completion
+    </dd><dt><span class="term">DEL</span></dt><dd>
+    backspace
+    </dd><dt><span class="term">BS</span></dt><dd>
+    backspace
+    </dd></dl></div><p>
+</p><p>
+In addition, the following string substitutions are supported;
+
+</p><div class="variablelist"><dl><dt><span class="term">%s</span></dt><dd>
+    current application status
+    </dd><dt><span class="term">%/</span></dt><dd>
+    current working directory
+    </dd><dt><span class="term">%h</span></dt><dd>
+    history number
+    </dd></dl></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.DescInter.G4UIXm"></a>2.8.2.2. 
+<span class="emphasis"><em>G4UIXm</em></span>, <span class="emphasis"><em>G4UIXaw</em></span> and 
+<span class="emphasis"><em>G4UIWin32</em></span> classes
+</h4></div></div></div><p>
+These interfaces are versions of <span class="emphasis"><em>G4UIterminal</em></span> 
+implemented over libraries Motif, Athena and WIN32 respectively. 
+<span class="emphasis"><em>G4UIXm</em></span> uses the Motif XmCommand widget, 
+<span class="emphasis"><em>G4UIXaw</em></span> the Athena dialog
+widget, and <span class="emphasis"><em>G4UIWin32</em></span> the Windows "edit" component to do the
+command capturing. These interfaces are useful if working in
+conjunction with visualization drivers that use the Xt library or
+the WIN32 one.
+</p><p>
+A command box is at disposal for entering or recalling Geant4 commands.
+Command completion by typing &amp;ldquo;TAB&amp;rdquo; key is
+available on the command line. The shellcommands "exit, cont,
+help, ls, cd..." are also supported. A menu bar could be customized
+through the <span class="emphasis"><em>AddMenu</em></span> and 
+<span class="emphasis"><em>AddButton</em></span> method. Ex:
+
+</p><div class="variablelist"><dl><dt><span class="term">/gui/addMenu</span></dt><dd>
+    test Test
+    </dd><dt><span class="term">/gui/addButton</span></dt><dd>
+    test Init /run/initialize
+    </dd><dt><span class="term">/gui/addButton</span></dt><dd>
+    test "Set gun" "/control/execute gun.g4m"
+    </dd><dt><span class="term">/gui/addButton</span></dt><dd>
+    test "Run one event" "/run/beamOn 1"
+    </dd></dl></div><p>
+</p><p>
+<span class="emphasis"><em>G4UIXm</em></span> runs on Unix/Linux with Motif. <span class="emphasis"><em>G4UIXaw</em></span>, 
+less user friendly, runs on Unix with Athena widgets. 
+<span class="emphasis"><em>G4UIWin32</em></span> runs on Windows.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToSetUpInter.DescInter.G4UIGAG"></a>2.8.2.3. 
+<span class="emphasis"><em>G4UIGAG</em></span> and <span class="emphasis"><em>G4UIGainServer</em></span> classes
+</h4></div></div></div><p>
+They are the front-end classes of Geant4 which interface with their
+respective graphical user interfaces, GAG (Geant4 Adaptive GUI) and Gain
+(Geant4 adaptive interface for network). While GAG must run on the same 
+system (Windows or Unixen) as a Geant4 application, Gain can run on a
+remote system (Windows, Linux, etc.) to which JVM (Java Virtual
+Machine) is installed. A Geant4 application is invoked on a Unix
+(Linux) system and behaves as a network server. It opens a port,
+waiting the connection from the Gain. Gain is capable to connect to
+multiple Geant4 "servers" on Unixen systems at different
+institutes.
+</p><p>
+Client GUI, GAG and Gain have almost similar look-and-feel. So,
+GAG's functionalities are briefly introduced here. Please refer to
+the above URL for details and to download the client GUIs.
+</p><p>
+GAG is a Graphical User Interface tool with which user
+can set parameters and execute commands. It is adaptive, since GAG
+reflects the internal states of Geant4 that is a state machine. GAG
+is based on the server-client model; GAG is the server, while
+Geant4 executables are clients. Hence, GAG does nothing by itself
+and it must invoke an executable simulation program. Geant4's
+front-end class <span class="emphasis"><em>G4UIGAG</em></span> must be instantiated to 
+communicate with GAG. This runs on Linux and Windows 2000.
+GAG is written in Java and
+its Jar (Java Archive) file is available from the above URL. See
+the same pages to know how to install and run Java programs.
+</p><p>
+GAG has following functions.
+
+</p><div class="variablelist"><dl><dt><span class="term">GAG Menu:</span></dt><dd>
+    The menus are to choose and run a GEANT4 executable file, to kill or exit
+    a GEANT4 process and to exit GAG. Upon the normal exit or an
+    unexpected death of the Geant4 process, GAG window are
+    automatically reset to accept another GEANT4 executable.    
+    </dd><dt><span class="term">GEANT4 Command tree:</span></dt><dd>
+    Upon the establishment of the pipe with the GEANT4 process, GAG displays
+    the command menu tree whose look and feel is quite similar to
+    Windows' file browser. Disabled commands are shown opaque. GAG
+    doesn &amp;rsquo;t display commands that are just below the root of
+    the command hierarchy. Direct type-in field is available for such
+    input. Guidance of command categories and commands are displayed
+    upon focusing. GAG has a command history function. User can
+    re-execute a command with old parameters, edit the history, or save
+    the history to create a macro file.
+    </dd><dt><span class="term">Command Parameter panel:</span></dt><dd>
+    GAG's parameter panel is the user-friendliest part. It displays parameter 
+    name, its guidance, its type(s) (integer, double, Boolean or string), 
+    omittable, default value(s), expression(s) of its range and candidate list(s)
+    (for example, of units). Range check is done by intercoms and
+    the error message from it is shown in the pop-up dialog box. When a
+    parameter component has a candidate list, a list box is
+    automatically displayed . When a file is requested by a command,
+    the file chooser is available.
+    </dd><dt><span class="term">Logging:</span></dt><dd>
+    Log can be redirected to the terminal (xterm or cygwin
+    window) from which GAG is invoked. It can be interrupted as will,
+    in the middle of long session of execution. Log can be saved to a
+    file independent of the above redirection . GAG displays warning or
+    error messages from GEANT4 in a pop-up warning widget.
+    </dd></dl></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSetUpInter.BuildLib"></a>2.8.3. 
+Building the Interface Libraries
+</h3></div></div></div><p>
+The libraries that don't depend on external packages are made by default. 
+They include <span class="emphasis"><em>G4UIterminal</em></span>, <span class="emphasis"><em>G4UItcsh</em></span>
+and <span class="emphasis"><em>G4UIGAG</em></span> in libraries <span class="emphasis"><em>libG4UIbasic.a/so</em></span> and
+<span class="emphasis"><em>libG4UIGAG.a/so</em></span>. <span class="emphasis"><em>G4UIGainServer.o</em></span> is packed in
+the <span class="emphasis"><em>libG4UIGAG</em></span>.
+</p><p>
+To make the libraries of <span class="emphasis"><em>G4UIXm</em></span>, <span class="emphasis"><em>G4UIXaw</em></span> and
+<span class="emphasis"><em>G4UIWin32</em></span> , respective environment variables
+<span class="bold"><strong>G4UI_BUILD_XM_SESSION</strong></span>, 
+<span class="bold"><strong>G4UI_BUILD_XAW_SESSION</strong></span> or
+<span class="bold"><strong>G4UI_BUILD_WIN32_SESSION</strong></span> must be set
+explicitly.
+</p><p>
+However, if the environment variable <span class="bold"><strong>G4UI_NONE</strong></span> is
+set, no interface libraries are built at all.
+</p><p>
+Build scheme of the user interface libraries is
+specified in "$G4INSTALL/config/G4UI_BUILD.gmk" makefile and the
+dependencies on the external packages are specified in
+"$G4INSTALL/config/interactivity.gmk".
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToSetUpInter.HowToUseInter"></a>2.8.4. 
+How to Use the Interface
+</h3></div></div></div><p>
+To use a given interface
+(<code class="literal">G4UIxxx</code> where <code class="literal">xxx = terminal,Xm, Xaw, Win32,
+GAG, GainServer</code>) in a user's program, he has the following
+lines in his main program;
+
+</p><div class="informalexample"><pre class="programlisting">
+// to include the class definition in his main program:
+   #include "G4Uixxx.hh"
+// to instantiate a session of his choice and start the session
+   G4UIsession* session = new G4UIxxx;
+   session-&gt;SessionStart();
+// the line next to the "SessionStart" is usually to finish the session
+   delete session;
+</pre></div><p>
+</p><p>
+For a tcsh session, the second line must be :
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4UIsession* session = new G4UIterminal(new G4UItcsh);
+</pre></div><p>
+</p><p>
+See the examples in "examples/novice/N0x" in which the terminal session 
+is used.
+</p><p>
+If the user wants to deactivate the default signal handler (soft abort)
+raised by "Ctr-C", the false flag can be set in the second argument 
+of the <span class="emphasis"><em>G4UIterminal</em></span> constructor like;
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4UIsession* session = new G4UIterminal(new G4UItcsh, false).
+</pre></div><p>
+</p><p>
+Again, environment variable selects a given interface. But for your
+convenience, some of them are set defaults.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+   <span class="emphasis"><em>G4UIterminal</em></span>, <span class="emphasis"><em>G4UItcsh</em></span>, 
+   <span class="emphasis"><em>G4UIGAG</em></span> and <span class="emphasis"><em>G4UIGainServer</em></span> 
+   can be used without any environment
+   variables. Sessions not needing external packages or libraries are
+   always built (see "G4UI_BUILD.gmk") and linked, so the user can
+   instantiate one of these sessions without rebuilding the libraries
+   and without setting any environment variables. For backwards
+   compatibility with user code, as typified by geant4/examples main
+   programs, the C-pre-processor variables corresponding to the
+   original environment variables for the above three (i.e.,
+   <span class="bold"><strong>G4UI_USE_TERMINAL</strong></span>, 
+   <span class="bold"><strong>G4UI_USE_TCSH</strong></span> and
+   <span class="bold"><strong>G4UI_USE_GAG</strong></span> ) are set. However, 
+   if he/she sets no environment variables, then the C-pre-processor variable
+   <span class="bold"><strong>G4UI_USE_TERMINAL</strong></span> is set by default, 
+   although there is no need to use it.
+   </p></li><li><p>
+   The environment variable <span class="bold"><strong>G4UI_USE_XM</strong></span>, 
+   <span class="bold"><strong>G4UI_USE_XAW</strong></span> or
+   <span class="bold"><strong>G4UI_USE_WIN32</strong></span> must be set to use the 
+   respective interface. The file "$G4INSTALL/config/interactivity.gmk"
+   resolves their dependencies on external packages.
+   </p></li><li><p>
+   If the environment variable <span class="bold"><strong>G4UI_NONE</strong></span> is
+   set, no externa ibraries are selected. Also, for your convenience, if any
+   <span class="bold"><strong>G4UI_USE_XXX</strong></span> environment variable is set, 
+   then the corresponding C-pre-processor flag is also set. However, if the
+   environment variable <span class="bold"><strong>G4UI_NONE</strong></span> is set, 
+   no C-pre-processor flags are set.
+   </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s09.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.7. 
+How to Make an Executable Program
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.9. 
+How to Execute a Program
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s09.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s09.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s09.html	(revision 901)
@@ -0,0 +1,385 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.9.  How to Execute a Program</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s08.html" title="2.8.  How to Set Up an Interactive Session"><link rel="next" href="ch02s10.html" title="2.10.  How to Visualize the Detector and Events"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. 
+How to Execute a Program
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch02s10.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToExec"></a>2.9. 
+How to Execute a Program
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.Intro"></a>2.9.1. 
+Introduction
+</h3></div></div></div><p>
+A Geant4 application can be run either in
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  `purely hard-coded` batch mode
+  </p></li><li><p>
+  batch mode, but reading a macro of commands
+  </p></li><li><p>
+  interactive mode, driven by command lines
+  </p></li><li><p>
+  interactive mode via a Graphical User Interface
+  </p></li></ul></div><p>
+
+The last mode will be covered in <a href="ch02s08.html" title="2.8. 
+How to Set Up an Interactive Session
+">Section 2.8</a>.
+The first three modes are explained here.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.HardCodedBatch"></a>2.9.2. 
+'Hard-coded' Batch Mode
+</h3></div></div></div><p>
+Below is an example of the main program for an application which
+will run in batch mode.
+
+</p><div class="example"><a name="programlist_HowToExec_1"></a><p class="title"><b>Example 2.20. 
+An example of the <code class="literal">main()</code> routine 
+for an application which will run in batch mode.
+</b></p><div class="example-contents"><pre class="programlisting">
+int main()
+{
+  // Construct the default run manager
+  G4RunManager* runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  runManager-&gt;SetUserInitialization(new ExN01DetectorConstruction);
+  runManager-&gt;SetUserInitialization(new ExN01PhysicsList);
+
+  // set mandatory user action class
+  runManager-&gt;SetUserAction(new ExN01PrimaryGeneratorAction);
+
+  // Initialize G4 kernel
+  runManager-&gt;Initialize();
+
+  // start a run
+  int numberOfEvent = 1000;
+  runManager-&gt;BeamOn(numberOfEvent);
+
+  // job termination
+  delete runManager;
+  return 0;
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+Even the number of events in the run is `frozen`. To change this
+number you must at least recompile <code class="literal">main()</code>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.BatchMacro"></a>2.9.3. 
+Batch Mode with Macro File
+</h3></div></div></div><p>
+Below is an example of the main program for an application which
+will run in batch mode, but reading a file of commands.
+
+</p><div class="example"><a name="programlist_HowToExec_2"></a><p class="title"><b>Example 2.21. 
+An example of the <code class="literal">main()</code> routine 
+for an application which will run in batch mode, but reading a file of commands.
+</b></p><div class="example-contents"><pre class="programlisting">
+int main(int argc,char** argv) {
+
+   // Construct the default run manager
+  G4RunManager * runManager = new G4RunManager;
+  
+  // set mandatory initialization classes
+  runManager-&gt;SetUserInitialization(new MyDetectorConstruction);
+  runManager-&gt;SetUserInitialization(new MyPhysicsList);
+  
+  // set mandatory user action class
+  runManager-&gt;SetUserAction(new MyPrimaryGeneratorAction);
+  
+  // Initialize G4 kernel
+  runManager-&gt;Initialize();
+
+  //read a macro file of commands
+  G4UImanager * UI = G4UImanager::getUIpointer();
+  G4String command = "/control/execute ";
+  G4String fileName = argv[1];
+  UI-&gt;applyCommand(command+fileName); 
+
+  delete runManager;
+  return 0;
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+This example will be executed with the command:
+
+</p><div class="informalexample"><pre class="programlisting">
+    &gt; myProgram  run1.mac
+</pre></div><p>
+
+where <code class="literal">myProgram</code> is the name of your executable and
+<code class="literal">run1.mac</code> is a macro of commands located in the current
+directory, which could look like:
+
+</p><div class="example"><a name="programlist_HowToExec_3"></a><p class="title"><b>Example 2.22. 
+A typical command macro.
+</b></p><div class="example-contents"><pre class="programlisting">
+#
+# Macro file for "myProgram.cc"
+#
+# set verbose level for this run
+#
+/run/verbose      2
+/event/verbose    0
+/tracking/verbose 1
+#
+# Set the initial kinematic and run 100 events
+# electron 1 GeV to the direction (1.,0.,0.)
+#
+/gun/particle e-
+/gun/energy 1 GeV
+/run/beamOn 100
+</pre></div></div><p><br class="example-break">
+</p><p>
+Indeed, you can re-execute your program with different run
+conditions without recompiling anything.
+</p><p>
+<span class="emphasis"><em>Digression:</em></span> 
+many G4 category of classes have a verbose flag which controls
+the level of 'verbosity'.
+</p><p>
+Usually <code class="literal">verbose=0</code> means silent. For instance
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+  <code class="literal">/run/verbose</code> is for the <code class="literal">RunManager</code>
+  </p></li><li><p>
+  <code class="literal">/event/verbose</code> is for the <code class="literal">EventManager</code>
+  </p></li><li><p>
+  <code class="literal">/tracking/verbose</code> is for the <code class="literal">TrackingManager</code>
+  </p></li><li><p>
+  ...etc...
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.InteractiveMode"></a>2.9.4. 
+Interactive Mode Driven by Command Lines
+</h3></div></div></div><p>
+Below is an example of the main program for an application which
+will run interactively, waiting for command lines entered from the
+keyboard.
+
+</p><div class="example"><a name="programlist_HowToExec_4"></a><p class="title"><b>Example 2.23. 
+An example of the <code class="literal">main()</code> routine for 
+an application which will run interactively, waiting for commands from the
+keyboard.
+</b></p><div class="example-contents"><pre class="programlisting">
+int main(int argc,char** argv) {
+
+  // Construct the default run manager
+  G4RunManager * runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  runManager-&gt;SetUserInitialization(new MyDetectorConstruction);
+  runManager-&gt;SetUserInitialization(new MyPhysicsList);
+  
+  // visualization manager
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialize();
+    
+  // set user action classes
+  runManager-&gt;SetUserAction(new MyPrimaryGeneratorAction);
+  runManager-&gt;SetUserAction(new MyRunAction);
+  runManager-&gt;SetUserAction(new MyEventAction);
+  runManager-&gt;SetUserAction(new MySteppingAction);
+  
+  // Initialize G4 kernel
+  runManager-&gt;Initialize();
+  
+  // Define UI terminal for interactive mode   
+  G4UIsession * session = new G4UIterminal;    
+  session-&gt;SessionStart();
+  delete session;
+
+  // job termination
+  delete visManager;
+  delete runManager;
+
+  return 0;
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+This example will be executed with the command:
+
+</p><div class="informalexample"><pre class="programlisting">
+  &gt; myProgram                  
+</pre></div><p>
+
+where <code class="literal">myProgram</code> is the name of your executable.
+</p><p>
+The G4 kernel will prompt:
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt;
+</pre></div><p>
+
+and you can start your session. An example session could be:
+</p><p>
+Create an empty scene ("world" is default):
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt; /vis/scene/create
+</pre></div><p>
+
+Add a volume to the scene:
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt; /vis/scene/add/volume
+</pre></div><p>
+</p><p>
+Create a scene handler for a specific graphics system. Change the
+next line to choose another graphic system:
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt; /vis/sceneHandler/create OGLIX
+</pre></div><p>
+
+Create a viewer:
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt; /vis/viewer/create
+</pre></div><p>
+
+Draw the scene, etc.:
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt; /vis/scene/notifyHandlers
+  Idle&gt; /run/verbose      0
+  Idle&gt; /event/verbose    0
+  Idle&gt; /tracking/verbose 1
+  Idle&gt; /gun/particle mu+
+  Idle&gt; /gun/energy 10 GeV
+  Idle&gt; /run/beamOn 1
+  Idle&gt; /gun/particle proton
+  Idle&gt; /gun/energy 100 MeV
+  Idle&gt; /run/beamOn 3           
+  Idle&gt; exit                  
+</pre></div><p>
+</p><p>
+For the meaning of the machine state <code class="literal">Idle</code>, see 
+<a href="ch03s04.html#sect.Run.StateMac" title="3.4.2. 
+Geant4 as a state machine
+">Section 3.4.2</a>.
+</p><p>
+This mode is useful for running a few events in debug mode and
+visualizing them. Notice that the <span class="emphasis"><em>VisManager</em></span> is created in
+the <code class="literal">main()</code>, and the visualization system is choosen via
+the command:
+
+</p><div class="informalexample"><pre class="programlisting">
+  /vis/sceneHandler/create OGLIX
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToExec.GeneralCase"></a>2.9.5. 
+General Case
+</h3></div></div></div><p>
+Most of the examples in the <code class="literal">$G4INSTALL/examples/</code> directory
+have the following <code class="literal">main()</code>, which covers cases 2 and 3
+above. Thus, the application can be run either in batch or
+interactive mode.
+
+</p><div class="example"><a name="programlist_HowToExec_5"></a><p class="title"><b>Example 2.24. 
+The typical <code class="literal">main()</code> routine from the examples directory.
+</b></p><div class="example-contents"><pre class="programlisting">
+int main(int argc,char** argv) {
+
+  // Construct the default run manager
+  G4RunManager * runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  N03DetectorConstruction* detector = new N03DetectorConstruction;
+  runManager-&gt;SetUserInitialization(detector);
+  runManager-&gt;SetUserInitialization(new N03PhysicsList);
+  
+#ifdef G4VIS_USE
+  // visualization manager
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialize();
+#endif
+    
+  // set user action classes
+  runManager-&gt;SetUserAction(new N03PrimaryGeneratorAction(detector));
+  runManager-&gt;SetUserAction(new N03RunAction);
+  runManager-&gt;SetUserAction(new N03EventAction);
+  runManager-&gt;SetUserAction(new N03SteppingAction);
+    
+  // get the pointer to the User Interface manager 
+    G4UImanager* UI = G4UImanager::GetUIpointer();  
+
+  if (argc==1)   // Define UI terminal for interactive mode  
+    { 
+     G4UIsession * session = new G4UIterminal;
+     UI-&gt;ApplyCommand("/control/execute prerunN03.mac");    
+     session-&gt;SessionStart();
+     delete session;
+    }
+  else           // Batch mode
+    { 
+     G4String command = "/control/execute ";
+     G4String fileName = argv[1];
+     UI-&gt;ApplyCommand(command+fileName);
+    }
+
+  // job termination
+#ifdef G4VIS_USE
+  delete visManager;
+#endif
+  delete runManager;
+
+  return 0;
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+Notice that the visualization system is under the control of the
+precompiler variable <code class="literal">G4VIS_USE</code>. Notice also that, in
+interactive mode, few intializations have been put in the macro
+<code class="literal">prerunN03.mac</code> which is executed before the session
+start.
+
+</p><div class="example"><a name="programlist_HowToExec_6"></a><p class="title"><b>Example 2.25. 
+The <code class="literal">prerunN03.mac</code> macro.
+</b></p><div class="example-contents"><pre class="programlisting">
+ # Macro file for the initialization phase of "exampleN03.cc"
+ #
+ # Sets some default verbose flags
+ # and initializes the graphics.
+ #
+ /control/verbose 2
+ /control/saveHistory
+ /run/verbose 2
+ #
+ /run/particle/dumpCutValues
+ #
+ # Create empty scene ("world" is default)
+ /vis/scene/create
+ #
+ # Add volume to scene
+ /vis/scene/add/volume
+ #
+ # Create a scene handler for a specific graphics system
+ # Edit the next line(s) to choose another graphic system
+ #
+ #/vis/sceneHandler/create DAWNFILE
+ /vis/sceneHandler/create OGLIX
+ #
+ # Create a viewer
+ /vis/viewer/create
+ #
+ # Draw scene
+ /vis/scene/notifyHandlers
+ #
+ # for drawing the tracks
+ # if too many tracks cause core dump =&gt; storeTrajectory 0
+ /tracking/storeTrajectory 1
+ #/vis/scene/include/trajectories
+</pre></div></div><p><br class="example-break">
+</p><p>
+Also, this example demonstrates that you can read and execute a
+macro interactively:
+
+</p><div class="informalexample"><pre class="programlisting">
+  Idle&gt; /control/execute  mySubMacro.mac
+</pre></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s10.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.8. 
+How to Set Up an Interactive Session
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 2.10. 
+How to Visualize the Detector and Events
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s10.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s10.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch02s10.html	(revision 901)
@@ -0,0 +1,388 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.10.  How to Visualize the Detector and Events</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch02.html" title="Chapter 2.  Getting Started with Geant4 - Running a Simple Example"><link rel="prev" href="ch02s09.html" title="2.9.  How to Execute a Program"><link rel="next" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. 
+How to Visualize the Detector and Events
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 2. 
+Getting Started with Geant4 - Running a Simple Example
+</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.HowToVis"></a>2.10. 
+How to Visualize the Detector and Events
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.Intro"></a>2.10.1. 
+Introduction
+</h3></div></div></div><p>
+This section briefly explains how to perform Geant4 Visualization.
+The description here is based on the sample program
+<code class="literal">examples/novice/N03</code>. More details are given in 
+<a href="ch08.html" title="Chapter 8. 
+Visualization
+">Chapter 8</a> "Visualization". 
+Example macro files can be found in
+<code class="literal">examples/novice/N03/visTutor/exN03VisX.mac</code>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.VisDrivers"></a>2.10.2. 
+Visualization Drivers
+</h3></div></div></div><p>
+The Geant4 visualization system was developed in response to a
+diverse set of requirements:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+  Quick response to study geometries, trajectories and hits
+  </p></li><li><p>
+  High-quality output for publications
+  </p></li><li><p>
+  Flexible camera control to debug complex geometries
+  </p></li><li><p>
+  Tools to show volume overlap errors in detector geometries
+  </p></li><li><p>
+  Interactive picking to get more information on visualized objects
+  </p></li></ol></div><p>
+</p><p>
+No one graphics system is ideal for all of these requirements,
+and many of the large software frameworks into which Geant4 has
+been incorporated already have their own visualization systems, so
+Geant4 visualization was designed around an abstract interface that
+supports a diverse family of graphics systems. Some of these
+graphics systems use a graphics library compiled with Geant4, such
+as OpenGL, while others involve a separate application, such as
+WIRED or DAWN.
+</p><p>
+You need not use all visualization drivers. You can select those
+suitable to your purposes. In the following, for simplicity, we
+assume that the Geant4 libraries are built (installed) with the
+"OpenGL-Xlib driver" and the "DAWNFILE driver" incorporated.
+</p><p>
+In order to use the DAWNFILE driver, you need Fukui Renderer
+DAWN, which is obtainable from the following Web site: 
+<a href="http://geant4.kek.jp/GEANT4/vis" target="_top">
+http://geant4.kek.jp/GEANT4/vis</a>.
+</p><p>
+In order to use the the OpenGL drivers, you need the OpenGL
+library, which is installed in many platforms by default. You also
+need to set an environmental variable
+<code class="literal">G4VIS_BUILD_OPENGLX_DRIVER</code> to <code class="literal">1</code> in 
+building (installing) Genat4 libraries, and also set another environmental
+variable <code class="literal">G4VIS_USE_OPENGLX</code> to <code class="literal">1</code> 
+in compiling your Geant4 executable. You may also have to set an 
+environmental variable <code class="literal">OGLHOME</code> to the OpenGL root 
+directory. For example,
+
+</p><div class="informalexample"><pre class="programlisting">
+     setenv G4VIS_BUILD_OPENGLX_DRIVER 1
+     setenv G4VIS_USE_OPENGLX 1
+     setenv OGLHOME /usr/X11R6
+</pre></div><p>
+</p><p>
+Some other visualization drivers depending on external libraries
+are also required to set the similar environmental variables,
+<code class="literal">G4VIS_BUILD_DRIVERNAME_DRIVER</code> and
+<code class="literal">G4VIS_USE_DRIVERNAME</code>, to <code class="literal">1</code>. All 
+visualization drivers independent of external libraries, e.g. DAWNFILE and
+VRMLFILE drivers, need not such setting. (But you must prepare a
+proper visualization manager class and a proper <code class="literal">main()</code>
+function, anyway. See below.)
+</p><p>
+For all visualization drivers available in your Geant4
+executable, the C-pre-processor flags <code class="literal">G4VIS_USE_DRIVERNAME</code>
+are automatically set by <code class="literal">config/G4VIS_USE.gmk</code> in
+compilation. Similarly, for all visualization drivers incorporated
+into the Geant4 libraries, the C-pre-processor flags
+<code class="literal">G4VIS_BUILD_DRIVERNAME_DRIVER</code> are automatically set by
+<code class="literal">config/G4VIS_BUILD.gmk</code> in installation.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.IncorpVisDrivers"></a>2.10.3. 
+How to Incorporate Visualization Drivers into an Executable
+</h3></div></div></div><p>
+You can realize (use) visualization driver(s) you want in your
+Geant4 executable. These can only be from the set installed in the
+Geant4 libraries. You will be warned if the one you request is not
+available.
+</p><p>
+In order to realize visualization drivers, you must instantiate
+and initialize a subclass of <code class="literal">G4VisManager</code> that implements
+the pure virtual function <code class="literal">RegisterGraphicsSystems()</code>. This
+subclass must be compiled in the user's domain to force the loading
+of appropriate libraries in the right order. The easiest way to do
+this is to use <code class="literal">G4VisExecutive</code>, a provided class with
+included implementation. <code class="literal">G4VisExecutive</code> is sensitive to
+the <code class="literal">G4VIS_USE...</code> variables mentioned above.
+</p><p>
+If you do wish to write your own subclass, you may do so. You
+will see how to do this by looking at <code class="literal">G4VisExecutive.icc</code>.
+A typical extract is:
+
+</p><div class="informalexample"><pre class="programlisting">
+     ...
+       RegisterGraphicsSystem (new G4DAWNFILE);
+     ...
+     #ifdef G4VIS_USE_OPENGLX
+       RegisterGraphicsSystem (new G4OpenGLImmediateX);
+       RegisterGraphicsSystem (new G4OpenGLStoredX);
+     #endif
+     ...
+</pre></div><p>
+</p><p>
+If you wish to use <code class="literal">G4VisExecutive</code> but register an
+additional graphics system, <code class="literal">XXX</code> say, you may do so either
+before or after initializing:
+
+</p><div class="informalexample"><pre class="programlisting">
+     visManager-&gt;RegisterGraphicsSytem(new XXX);
+     visManager-&gt;Initialize();
+</pre></div><p>
+</p><p>
+An example of a typical <code class="literal">main()</code> function is given
+below.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.WritingMain"></a>2.10.4. 
+Writing the <code class="literal">main()</code> Method to Include Visualization
+</h3></div></div></div><p>
+Now we explain how to write a visualization manager and the
+<code class="literal">main()</code> function for Geant4 visualization. In order that
+your Geant4 executable is able to perform visualization, you must
+instantiate and initialize <span class="emphasis"><em>your</em></span> Visualization Manager 
+in the <code class="literal">main()</code> function. The typical
+<code class="literal">main()</code> 
+function available for visualization is written in the following style:
+
+</p><div class="example"><a name="programlist_HowToVis_1"></a><p class="title"><b>Example 2.26. 
+The typical <code class="literal">main()</code> routine available for visualization.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: main() function for visualization
+ #ifdef G4VIS_USE
+ #include "G4VisExecutive.hh"
+ #endif
+
+ .....
+
+ int main(int argc,char** argv) {
+
+ .....
+
+   // Instantiation and initialization of the Visualization Manager
+ #ifdef G4VIS_USE
+   // visualization manager
+   G4VisManager* visManager = new G4VisExecutive;
+   visManager-&gt;Initialize();
+ #endif
+
+ .....
+
+   // Job termination
+ #ifdef G4VIS_USE
+   delete visManager;
+ #endif
+
+ .....
+
+   return 0;
+ }
+
+ //----- end of C++
+</pre></div></div><p><br class="example-break">
+</p><p>
+In the instantiation, initialization, and deletion of the
+Visualization Manager, the use of the macro <code class="literal">G4VIS_USE</code> is
+recommended. This is set unless the environment variable
+<code class="literal">G4VIS_NONE</code> is set. This allows one easily to build an
+executable without visualization, if required, without changing the
+code (but remember you have to force recompilation whenever you
+change the environment). Note that it is your responsibility to
+delete the instantiated Visualization Manager by yourself. A
+complete description of a sample <code class="literal">main()</code> function is
+described in <code class="literal">examples/novice/N03/exampleN03.cc</code>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.SampleVis"></a>2.10.5. 
+Sample Visualization Sessions
+</h3></div></div></div><p>
+In this section we present typical sessions of Geant4
+visualization. You can test them with the sample program
+geant4/examples/novice/N03. Run a binary executable "exampleN03"
+without an argument, and then execute the commands below in the
+"Idle&gt;" state. Explanation of each command will be described
+later. (Note that the OpenGL-Xlib driver and the DAWNFILE driver
+are incorporated into the executable, and that Fukui Renderer DAWN
+is installed in your machine. )
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToVis.SampleVis.VisDetector"></a>2.10.5.1. 
+Visualization of detector components
+</h4></div></div></div><p>
+The following session visualizes detector components with the
+OpenGL-Xlib driver and then with the DAWNFILE driver. The former
+exhibits minimal visualization commands to visualize detector
+geometry, while the latter exhibits customized visualization
+(visualization of a selected physical volume, coordinate axes,
+texts, etc).
+
+</p><div class="informalexample"><pre class="programlisting">
+###################################################
+#  vis1.mac:
+#    A Sample macro to demonstrate visualization 
+#    of detector geometry.
+#
+#  USAGE: 
+#   Save the commands below as a macro file, say, 
+#   "vis1.mac", and execute it as follows:
+#
+#   % $(G4BINDIR)/exampleN03
+#   Idle&gt; /control/execute vis1.mac
+#############################################
+
+#############################################
+# Visualization of detector geometry 
+#  with the OGLIX (OpenGL Immediate X) driver
+#############################################
+
+# Invoke the OGLIX driver: 
+#  Create a scene handler and a viewer for the OGLIX driver
+/vis/open OGLIX
+
+# Visualize the whole detector geometry 
+#  with the default camera parameters.
+#  Command "/vis/drawVolume" visualizes the detector geometry,
+#  and command "/vis/viewer/flush" declares the end of visualization.
+#  (The command /vis/viewer/flush  can be omitted for the OGLIX 
+#   and OGLSX drivers.)
+#  The default argument of "/vis/drawVolume" is "world".
+/vis/drawVolume
+/vis/viewer/flush
+
+#########################################
+# Visualization with the DAWNFILE driver
+#########################################
+
+# Invoke the DAWNFILE driver 
+#  Create a scene handler and a viewer for the DAWNFILE driver
+/vis/open DAWNFILE
+
+# Bird's-eye view of a detector component (Absorber)
+#  drawing style: hidden-surface removal
+#  viewpoint  : (theta,phi) = (35*deg, 45*deg), 
+#  zoom factor: 1.1 of the full screen size
+#  coordinate axes:
+#     x-axis:red,  y-axis:green,  z-axis:blue
+#     origin: (0,0,0),  length: 500 mm
+#
+/vis/viewer/reset
+/vis/viewer/set/style          surface
+/vis/viewer/zoom               1.1 
+/vis/viewer/set/viewpointThetaPhi  35 45
+/vis/drawVolume                Absorber 
+/vis/scene/add/axes            0 0 0 500 mm
+/vis/scene/add/text            0 0 0 mm  40 -100 -140   Absorber 
+/vis/viewer/flush
+
+# Bird's-eye view of the whole detector components
+#  * "/vis/viewer/set/culling global false" makes the invisible 
+#    world volume visible.
+#    (The invisibility of the world volume is set 
+#     in ExN03DetectorConstruction.cc.)
+/vis/viewer/set/style     wireframe
+/vis/viewer/set/culling   global false
+/vis/drawVolume
+/vis/scene/add/axes       0 0 0 500 mm
+/vis/scene/add/text       0 0 0 mm 50 -50 -200   world
+/vis/viewer/flush
+################### END of vis1.mac ###################
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.HowToVis.SampleVis.VisEvents"></a>2.10.5.2. 
+Visualization of events
+</h4></div></div></div><p>
+The following session visualizes events (tajectories) with the
+OpenGL-Xlib driver and then with the DAWNFILE driver. The former
+exhibits minimal visualization commands to visualize events, while
+the latter exhibits customized visualization. Note that the run
+action and event action classes should be described properly. (See,
+for example, the following classes:
+"examples/novice/N03/src/ExN03RunAction.cc",
+
+</p><div class="informalexample"><pre class="programlisting">
+###################################################
+#  vis2.mac:
+#    A Sample macro to demonstrate visualization 
+#    of events (trajectories).
+#
+#  USAGE: 
+#   Save the commands below as a macro file, say, 
+#   "vis2.mac", and execute it as follows:
+#
+#   % $(G4BINDIR)/exampleN03
+#   Idle&gt; /control/execute vis1.mac
+#############################################
+
+#####################################################
+# Store particle trajectories for visualization
+/tracking/storeTrajectory 1
+#####################################################
+
+########################################################
+# Visualization with the OGLSX (OpenGL Stored X) driver
+########################################################
+
+# Invoke the OGLSX driver 
+#  Create a scene handler and a viewer for the OGLSX driver
+/vis/open OGLSX
+
+# Create an empty scene and add detector components to it
+/vis/drawVolume
+
+# Add trajectories to the current scene
+#  Note: This command is not necessary in, e.g., 
+#        examples/novice/N03, since the C++ method DrawTrajectory() 
+#        is described in the event action.
+#/vis/scene/add/trajectories
+
+# Set viewing parameters
+/vis/viewer/reset
+/vis/viewer/set/viewpointThetaPhi  10 20
+
+# Visualize one it.
+/run/beamOn 1
+
+##########################################################
+# Visualization with the DAWNFILE driver
+##########################################################
+
+# Invoke the DAWNFILE driver 
+#  Create a scene handler and a viewer for the DAWNFILE driver
+/vis/open DAWNFILE
+
+# Create an empty scene and add detector components to it
+/vis/drawVolume
+
+# Add trajectories to the current scene
+#  Note: This command is not necessary in exampleN03,
+#        since the C++ method DrawTrajectory() is 
+#        described in the event action.
+#/vis/scene/add/trajectories
+
+# Visualize plural events (bird's eye view)
+#  drawing style: wireframe
+#  viewpoint  : (theta,phi) = (45*deg, 45*deg) 
+#  zoom factor: 1.5 x (full screen size)
+/vis/viewer/reset
+/vis/viewer/set/style  wireframe
+/vis/viewer/set/viewpointThetaPhi   45 45
+/vis/viewer/zoom        1.5
+/run/beamOn             2
+
+# Set the drawing style to "surface" 
+#  Candidates: wireframe, surface
+/vis/viewer/set/style  surface
+
+# Visualize plural events (bird's eye view) again
+#  with another drawing style (surface)
+/run/beamOn             2
+
+################### END of vis2.mac ###################
+</pre></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HowToVis.MoreInfo"></a>2.10.6. 
+For More Information on Geant4 Visualization
+</h3></div></div></div><p>
+See the <a href="ch08.html" title="Chapter 8. 
+Visualization
+">Chapter 8</a> "Visualization" 
+part of this user guide.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.9. 
+How to Execute a Program
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 3. 
+Toolkit Fundamentals
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03.html	(revision 901)
@@ -0,0 +1,142 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 3.  Toolkit Fundamentals</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch02s10.html" title="2.10.  How to Visualize the Detector and Events"><link rel="next" href="ch03s02.html" title="3.2.  Global Usage Classes"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.ToolkitFundamentals"></a>Chapter 3. 
+Toolkit Fundamentals
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ClassCate"></a>3.1. 
+Class Categories and Domains
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ClassCate.WhatIsClassCate"></a>3.1.1. 
+What is a class category?
+</h3></div></div></div><p>
+In the design of a large software system such as Geant4, it is
+essential to partition it into smaller logical units. This makes
+the design well organized and easier to develop. Once the logical
+units are defined independent to each other as much as possible,
+they can be developed in parallel without serious interference.
+</p><p>
+In object-oriented analysis and design methodology by Grady Booch 
+[<span class="citation">
+<a href="bi01.html#biblio.booch1994">
+    Booch1994
+  </a>
+</span>]
+, class categories are used to
+create logical units. They are defined as "clusters of classes that
+are themselves cohesive, but are loosely coupled relative to other
+clusters." This means that a class category contains classes which
+have a close relationship (for example, the "has-a" relation).
+However, relationships between classes which belong to different
+class categories are weak, i.e., only limitted classes of these
+have "uses" relations. The class categories and their relations are
+presented by a class category diagram. The class category diagram
+designed for Geant4 is shown in the figure below. Each box in the
+figure represents a class category, and a "uses" relation by a
+straight line. The circle at an end of a straight line means the
+class category which has this circle uses the other category.
+
+</p><div class="figure"><a name="fig.G4ClassCategory"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Fundamentals/classCategory.gif" align="middle" alt="Geant4 class categories"></div></div><p class="title"><b>Figure 3.1. 
+Geant4 class categories
+</b></p></div><p><br class="figure-break">
+</p><p>
+The file organization of the Geant4 codes follows basically the
+structure of this class cateogory. This <span class="emphasis"><em>User's Manual</em></span> 
+is also organized according to class categories.
+</p><p>
+In the development and maintenance of Geant4, one software team
+will be assigned to a class category. This team will have a
+responsibility to develop and maintain all classes belonging to the
+class category.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ClassCate.ClassCateInGeant4"></a>3.1.2. 
+Class categories in Geant4
+</h3></div></div></div><p>
+The following is a brief summary of the role of each class category
+in Geant4.
+
+</p><div class="orderedlist"><ol type="1" compact><li><p><span class="bold"><strong>Run and Event</strong></span>
+            </p><p>These are categories related to the generation of events,
+                  interfaces to event generators, and any secondary particles
+                  produced. Their roles are principally to provide particles to be
+                  tracked to the Tracking Management.
+            </p><p>
+  </p></li><li><p><span class="bold"><strong>Tracking and Track</strong></span>
+            </p><p>These are categories related to propagating a particle by
+                  analyzing the factors limiting the step and applying the relevant
+                  physics processes. The important aspect of the design was that a
+                  generalized Geant4 physics process (or interaction) could perform
+                  actions, along a tracking step, either localized in space, or in
+                  time, or distributed in space and time (and all the possible
+                  combinations that could be built from these cases).
+            </p><p>
+  </p></li><li><p><span class="bold"><strong>Geometry and Magnetic Field</strong></span>
+            </p><p>These categories manage the geometrical definition of a detector
+                  (solid modeling) and the computation of distances to solids (also
+                  in a magnetic field). The Geant4 geometry solid modeler is based on
+                  the ISO STEP standard and it is fully compliant with it, in order
+                  to allow in future the exchange of geometrical information with CAD
+                  systems. A key feature of the Geant4 geometry is that the volume
+                  definitions are independent of the solid representation. By this
+                  abstract interface for the G4 solids, the tracking component works
+                  identically for various representations. The treatment of the
+                  propagation in the presence of fields has been provided within
+                  specified accuracy. An OO design allows us to exchange different
+                  numerical algorithms and/or different fields (not only B-field),
+                  without affecting any other component of the toolkit.
+            </p><p>
+  </p></li><li><p><span class="bold"><strong>Particle Definition and Matter</strong></span>
+            </p><p>These two categories manage the the definition of materials and
+                  particles.
+            </p><p>
+            </p></li><li><p><span class="bold"><strong>Physics</strong></span>
+            </p><p>This category manages all physics processes participating in the
+                  interactions of particles in matter. The abstract interface of
+                  physics processes allows multiple implementations of physics models
+                  per interaction or per channel. Models can be selected by energy
+                  range, particle type, material, etc. Data encapsulation and
+                  polymorphism make it possible to give transparent access to the
+                  cross sections (independently of the choice of reading from an
+                  ascii file, or of interpolating from a tabulated set, or of
+                  computing analytically from a formula). Electromagnetic and
+                  hadronic physics were handled in a uniform way in such a design,
+                  opening up the physics to the users.
+            </p><p>
+  </p></li><li><p><span class="bold"><strong>Hits and Digitization</strong></span>
+            </p><p>These two categories manage the creation of hits and their use
+                  for the digitization phase. The basic design and implementation of
+                  the Hits and Digi had been realized, and also several prototypes,
+                  test cases and scenarios had been developed before the
+                  alpha-release. Volumes (not necessarily the ones used by the
+                  tracking) are aggregated in sensitive detectors, while hits
+                  collections represent the logical read out of the detector.
+                  Different ways of creating and managing hits collections had been
+                  delivered and tested, notably for both single hits and calorimetry
+                  hits types. In all cases, hits collections had been successfully
+                  stored into and retrieved from an Object Data Base Management
+                  System.
+            </p><p>
+  </p></li><li><p><span class="bold"><strong>Visualization</strong></span>
+            </p><p>This manages the visualization of solids, trajectories and hits,
+                  and interacts with underlying graphical libraries (the
+                  Visualization class category). The basic and most frequently used
+                  graphics functionality had been implemented already by the
+                  alpha-release. The OO design of the visualization component allowed
+                  us to develop several drivers independently, such as for OpenGL and
+                  OpenInventor (for X11 and Windows), DAWN, Postscript (via DAWN) and
+                  VRML.
+            </p><p>
+  </p></li><li><p><span class="bold"><strong>Interfaces</strong></span>
+            </p><p>This category handles the production of the graphical user
+                  interface (GUI) and the interactions with external software
+                  (OODBMS, reconstruction etc.).
+            </p><p>
+  </p></li></ol></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch03s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">2.10. 
+How to Visualize the Detector and Events
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3.2. 
+Global Usage Classes
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s02.html	(revision 901)
@@ -0,0 +1,615 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.2.  Global Usage Classes</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="prev" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="next" href="ch03s03.html" title="3.3.  System of units"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.2. 
+Global Usage Classes
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th><td width="20%" align="right"> <a accesskey="n" href="ch03s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.GlobClass"></a>3.2. 
+Global Usage Classes
+</h2></div></div></div><p>
+The "global" category in Geant4 collects all classes, types,
+structures and constants which are considered of general use within
+the Geant4 toolkit. This category also defines the interface with
+third-party software libraries (CLHEP, STL, etc.) and
+system-related types, by defining, where appropriate,
+<code class="literal">typedef</code>s according to the Geant4 code conventions.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.GlobClass.SignClass"></a>3.2.1. 
+Signature of Geant4 classes
+</h3></div></div></div><p>
+In order to keep an homogeneous naming style, and according to
+the Geant4 coding style conventions, each class part of the Geant4
+kernel has its name beginning with the prefix <span class="emphasis"><em>G4</em></span>, e.g.,
+<span class="emphasis"><em>G4VHit, G4GeometryManager, G4ProcessVector,</em></span> etc. Instead of
+the raw C types, <span class="emphasis"><em>G4</em></span> types are used within the Geant4 code.
+For the basic numeric types (<code class="literal">int, float, double,</code> etc.),
+different compilers and different platforms provide different value
+ranges. In order to assure portability, the use of <span class="emphasis"><em>G4int,
+G4float, G4double,</em></span> which are base classes globally defined, is
+preferable. <span class="emphasis"><em>G4</em></span> types implement the right generic type for a
+given architecture.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.GlobClass.SignClass.BasicType"></a>3.2.1.1. 
+Basic types
+</h4></div></div></div><p>
+The basic types in Geant4 are considered to be the
+following:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     <span class="emphasis"><em>G4int</em></span>,
+   </p></li><li><p>
+     <span class="emphasis"><em>G4long</em></span>,
+   </p></li><li><p>
+     <span class="emphasis"><em>G4float</em></span>,
+   </p></li><li><p>
+     <span class="emphasis"><em>G4double</em></span>,
+   </p></li><li><p>
+     <span class="emphasis"><em>G4bool</em></span>,
+   </p></li><li><p>
+     <span class="emphasis"><em>G4complex</em></span>,
+   </p></li><li><p>
+     <span class="emphasis"><em>G4String</em></span>.
+   </p></li></ul></div><p>
+
+which currently consist of simple <code class="literal">typedef</code>s to
+respective types defined in the <span class="bold"><strong>CLHEP</strong></span>, 
+<span class="bold"><strong>STL</strong></span> or system
+libraries. Most definitions of these basic types come with the
+inclusion of a single header file, <code class="literal">globals.hh</code>. This file
+also provides inclusion of required system headers, as well as some
+global utility functions needed and used within the Geant4
+kernel.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.GlobClass.SignClass.Typedefs"></a>3.2.1.2. 
+Typedefs to CLHEP classes and their usage
+</h4></div></div></div><p>
+The following classes are <code class="literal">typedef</code>s to the corresponding
+classes of the <span class="bold"><strong>CLHEP</strong></span> 
+(<span class="bold"><strong>Computing Library for High Energy Physics</strong></span>) 
+distribution. For more detailed documentation please refer to the 
+<a href="http://cern.ch/clhep/manual/RefGuide/" target="_top">
+<span class="bold"><strong>CLHEP reference guide</strong></span>
+</a>
+and the 
+<a href="http://cern.ch/clhep/manual/UserGuide/" target="_top">
+<span class="bold"><strong>CLHEP user manual</strong></span>
+</a>
+.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>G4ThreeVector, G4RotationMatrix, G4LorentzVector</em></span> and
+    <span class="emphasis"><em>G4LorentzRotation</em></span>
+    </p><p>
+    Vector classes: defining 3-component (x,y,z) vector entities,
+    rotation of such objects as 3x3 matrices,
+    4-component (x,y,z,t) vector entities and their rotation as 4x4 matrices.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4Plane3D, G4Transform3D, G4Normal3D, G4Point3D</em></span>, and
+    <span class="emphasis"><em>G4Vector3D</em></span>
+    </p><p>
+    Geometrical classes: defining geometrical entities and
+    transformations in 3D space.
+    </p><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.GlobClass.HEPRandom"></a>3.2.2. 
+The <span class="emphasis"><em>HEPRandom</em></span> module in CLHEP
+</h3></div></div></div><p>
+The <span class="emphasis"><em>HEPRandom</em></span> module, originally part of the Geant4
+kernel, and now distributed as a module of <span class="bold"><strong>CLHEP</strong></span>, 
+has been designed and developed starting from the <span class="emphasis"><em>Random</em></span> 
+class of MC++, the original <span class="bold"><strong>CLHEP</strong></span>'s 
+<span class="emphasis"><em>HepRandom</em></span> module and the 
+<span class="bold"><strong>Rogue Wave</strong></span> approach in the 
+<span class="bold"><strong>Math.h++</strong></span> package. For
+detailed documentation on the <span class="emphasis"><em>HEPRandom</em></span> classes see the
+
+<a href="http://cern.ch/clhep/manual/RefGuide/" target="_top">
+<span class="bold"><strong>CLHEP reference guide</strong></span>
+</a>
+and the 
+<a href="http://cern.ch/clhep/manual/UserGuide/" target="_top">
+<span class="bold"><strong>CLHEP user manual</strong></span>
+</a>
+.
+</p><p>
+Information written in this manual is extracted from the
+original 
+<a href="http://cern.ch/clhep/manual/UserGuide/Random/Random.html" target="_top">
+manifesto
+</a>
+ distributed with the <span class="emphasis"><em>HEPRandom</em></span>
+package.</p><p>
+The <span class="emphasis"><em>HEPRandom</em></span> module consists of classes implementing
+different random ``engines'' and different random
+``distributions''. A distribution associated to an engine
+constitutes a random ``generator''. A distribution class can
+collect different algorithms and different calling sequences for
+each method to define distribution parameters or range-intervals.
+An engine implements the basic algorithm for pseudo-random numbers
+generation.
+</p><p>
+There are 3 different ways of shooting random values:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Using the static generator defined in the <span class="emphasis"><em>HepRandom</em></span>
+    class: random values are shot using static methods <code class="literal">shoot()</code>
+    defined for each distribution class. The static generator will use,
+    as default engine, a <span class="emphasis"><em>HepJamesRandom</em></span> object, and the user can
+    set its properties or change it with a new instantiated engine
+    object by using the static methods defined in the <span class="emphasis"><em>HepRandom</em></span>
+    class.
+  </p></li><li><p>
+    Skipping the static generator and specifying an engine object:
+    random values are shot using static methods
+    <code class="literal">shoot(*HepRandomEngine)</code> defined for each distribution
+    class. The user must instantiate an engine object and give it as
+    argument to the shoot method. The generator mechanism will then be
+    by-passed by using the basic <code class="literal">flat()</code> method of the
+    specified engine. The user must take care of the engine objects
+    he/she instantiates.
+  </p></li><li><p>
+    Skipping the static generator and instantiating a distribution
+    object: random values are shot using <code class="literal">fire()</code> methods (NOT
+    static) defined for each distribution class. The user must
+    instantiate a distribution object giving as argument to the
+    constructor an engine by pointer or by reference. By doing so, the
+    engine will be associated to the distribution object and the
+    generator mechanism will be by-passed by using the basic
+    <code class="literal">flat()</code> method of that engine.
+  </p></li></ol></div><p>
+</p><p>
+In this guide, we'll only focus on the static generator (point
+1.), since the static interface of <span class="emphasis"><em>HEPRandom</em></span> is the only one
+used within the Geant4 toolkit.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.GlobClass.HEPRandom.Engines"></a>3.2.2.1. 
+<span class="emphasis"><em>HEPRandom</em></span> engines
+</h4></div></div></div><p>
+The class <span class="emphasis"><em>HepRandomEngine</em></span> is the abstract class defining
+the interface for each random engine. It implements the
+<code class="literal">getSeed()</code> and <code class="literal">getSeeds()</code> methods which return the
+`initial seed' value and the initial array of seeds (if any)
+respectively. Many concrete random engines can be defined and added
+to the structure, simply making them inheriting from
+<span class="emphasis"><em>HepRandomEngine</em></span>. Several different engines are currently
+implemented in <span class="emphasis"><em>HepRandom</em></span>, we describe here five of them:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>HepJamesRandom</em></span>
+    </p><p>
+    It implements the algorithm described in ``F.James, Comp. Phys.
+    Comm. 60 (1990) 329'' for pseudo-random number generation. This is
+    the default random engine for the static generator; it will be
+    invoked by each distribution class unless the user sets a different one.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>DRand48Engine</em></span>
+    </p><p>
+    Random engine using the <code class="literal">drand48()</code> and
+    <code class="literal">srand48()</code> system functions from C standard library to
+    implement the <code class="literal">flat()</code> basic distribution and for setting
+    seeds respectively. <span class="emphasis"><em>DRand48Engine</em></span> uses the 
+    <code class="literal">seed48()</code>
+    function from C standard library to retrieve the current internal
+    status of the generator, which is represented by 3 short values.
+    <span class="emphasis"><em>DRand48Engine</em></span> is the only engine defined in 
+    <span class="emphasis"><em>HEPRandom</em></span>
+    which intrinsically works in 32 bits precision. Copies of an object
+    of this kind are not allowed.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RandEngine</em></span>
+    </p><p>
+    Simple random engine using the <code class="literal">rand()</code> and
+    <code class="literal">srand()</code> system functions from the C standard library to
+    implement the <code class="literal">flat()</code> basic distribution and for setting
+    seeds respectively. Please note that it's well known that the
+    spectral properties of <code class="literal">rand()</code> leave a great deal to be
+    desired, therefore the usage of this engine is not recommended if a
+    good randomness quality or a long period is required in your code.
+    Copies of an object of this kind are not allowed.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RanluxEngine</em></span>
+    </p><p>
+    The algorithm for <span class="emphasis"><em>RanluxEngine</em></span> has been taken from the
+    original implementation in FORTRAN77 by Fred James, part of the
+    <span class="bold"><strong>MATHLIB HEP</strong></span> library. The initialisation is 
+    carried out using
+    a Multiplicative Congruential generator using formula constants of
+    L'Ecuyer as described in ``F.James, Comp. Phys. Comm. 60 (1990)
+    329-344''. The engine provides five different luxury levels for
+    quality of random generation. When instantiating a
+    <span class="emphasis"><em>RanluxEngine</em></span>, the user can specify the luxury level to the
+    constructor (if not, the default value 3 is taken). For example:
+
+    </p><div class="informalexample"><pre class="programlisting">
+      RanluxEngine theRanluxEngine(seed,4);
+      // instantiates an engine with `seed' and the best luxury-level
+      ... or
+      RanluxEngine theRanluxEngine;
+      // instantiates an engine with default seed value and luxury-level
+      ...
+    </pre></div><p>
+
+    The class provides a <code class="literal">getLuxury()</code> method to get the
+    engine luxury level.
+    </p><p>
+    </p><p>
+    The <code class="literal">SetSeed()</code> and <code class="literal">SetSeeds()</code> 
+    methods to set the initial seeds for the engine, can be invoked specifying 
+    the luxury level. For example:
+
+    </p><div class="informalexample"><pre class="programlisting">
+      // static interface
+      HepRandom::setTheSeed(seed,4);  // sets the seed to `seed' and luxury to 4
+      HepRandom::setTheSeed(seed);    // sets the seed to `seed' keeping
+                                      // the current luxury level
+    </pre></div><p>
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RanecuEngine</em></span>
+    </p><p>
+    The algorithm for <span class="emphasis"><em>RanecuEngine</em></span> is taken from the one
+    originally written in FORTRAN77 as part of the 
+    <span class="bold"><strong>MATHLIB HEP</strong></span>
+    library. The initialisation is carried out using a Multiplicative
+    Congruential generator using formula constants of L'Ecuyer as
+    described in ``F.James, Comp. Phys. Comm. 60 (1990) 329-344''.
+    Handling of seeds for this engine is slightly different than the
+    other engines in <span class="emphasis"><em>HEPRandom</em></span>. Seeds are taken from a seed
+    table given an index, the <code class="literal">getSeed()</code> method returns the
+    current index of seed table. The <code class="literal">setSeeds()</code> method will
+    set seeds in the local <code class="literal">SeedTable</code> at a given position index
+    (if the index number specified exceeds the table's size,
+    <code class="literal">[index%size]</code> is taken). For example:
+
+    </p><div class="informalexample"><pre class="programlisting">                                     
+      // static interface
+      const G4long* table_entry;
+      table_entry = HepRandom::getTheSeeds();
+      // it returns a pointer `table_entry' to the local SeedTable
+      // at the current `index' position. The couple of seeds
+      // accessed represents the current `status' of the engine itself !
+      ...
+      G4int index=n;
+      G4long seeds[2];
+      HepRandom::setTheSeeds(seeds,index);
+      // sets the new `index' for seeds and modify the values inside
+      // the local SeedTable at the `index' position. If the index
+      // is not specified, the current index in the table is considered.
+      ...
+    </pre></div><p>                                     
+    </p><p>
+
+    </p><p>
+    The <code class="literal">setSeed()</code> method resets the current `status' of the
+    engine to the original seeds stored in the static table of seeds in
+    <span class="emphasis"><em>HepRandom</em></span>, at the specified index.
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+Except for the <span class="emphasis"><em>RanecuEngine</em></span>, for which the internal
+status is represented by just a couple of longs, all the other
+engines have a much more complex representation of their internal
+status, which currently can be obtained only through the methods
+<code class="literal">saveStatus()</code>, <code class="literal">restoreStatus()</code> and
+<code class="literal">showStatus()</code>, which can also be statically called from
+<span class="emphasis"><em>HepRandom</em></span>. The status of the generator is needed for example
+to be able to reproduce a run or an event in a run at a given stage
+of the simulation.
+</p><p>
+<span class="emphasis"><em>RanecuEngine</em></span> is probably the most suitable engine for
+this kind of operation, since its internal status can be
+fetched/reset by simply using
+<code class="literal">getSeeds()</code>/<code class="literal">setSeeds()</code>
+(<code class="literal">getTheSeeds()</code>/<code class="literal">setTheSeeds()</code> for the static
+interface in <span class="emphasis"><em>HepRandom</em></span>).
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.GlobClass.HEPRandom.StaticInt"></a>3.2.2.2. 
+The static interface in the <span class="emphasis"><em>HepRandom</em></span> class
+</h4></div></div></div><p>
+<span class="emphasis"><em>HepRandom</em></span> a singleton class and using a
+<span class="emphasis"><em>HepJamesRandom</em></span> engine as default algorithm for pseudo-random
+number generation. <span class="emphasis"><em>HepRandom</em></span> defines a static private data
+member, <code class="literal">theGenerator</code>, and a set of static methods to
+manipulate it. By means of <code class="literal">theGenerator</code>, the user can
+change the underlying engine algorithm, get and set the seeds, and
+use any kind of defined random distribution. The static methods
+<code class="literal">setTheSeed()</code> and <code class="literal">getTheSeed()</code> will set and get
+respectively the `initial' seed to the main engine used by the
+static generator. For example:
+
+</p><div class="informalexample"><pre class="programlisting">                                     
+      HepRandom::setTheSeed(seed);  // to change the current seed to 'seed'
+      int startSeed = HepRandom::getTheSeed();  // to get the current initial seed
+      HepRandom::saveEngineStatus();    // to save the current engine status on file
+      HepRandom::restoreEngineStatus(); // to restore the current engine to a previous
+                                        // saved configuration
+      HepRandom::showEngineStatus();    // to display the current engine status to stdout
+      ...
+      int index=n;
+      long seeds[2];
+      HepRandom::getTheTableSeeds(seeds,index);
+        // fills `seeds' with the values stored in the global
+        // seedTable at position `index'
+</pre></div><p>                                      
+</p><p>
+Only one random engine can be active at a time, the user can
+decide at any time to change it, define a new one (if not done
+already) and set it. For example:
+
+</p><div class="informalexample"><pre class="programlisting">                                      
+      RanecuEngine theNewEngine;
+      HepRandom::setTheEngine(&amp;theNewEngine);
+       ...
+</pre></div><p>                                      
+
+or simply setting it to an old instantiated engine (the old
+engine status is kept and the new random sequence will start
+exactly from the last one previously interrupted). For example:
+
+</p><div class="informalexample"><pre class="programlisting">                                      
+      HepRandom::setTheEngine(&amp;myOldEngine);
+</pre></div><p>                                       
+</p><p>
+Other static methods defined in this class are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">void setTheSeeds(const G4long* seeds, G4int)</code>
+  </p></li><li><p>
+    <code class="literal">const G4long* getTheSeeds()</code>
+    </p><p>
+    To set/get an array of seeds for the generator, in the case of a
+    <span class="emphasis"><em>RanecuEngine</em></span> this corresponds also to set/get the current
+    status of the engine.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">HepRandomEngine* getTheEngine()</code>
+    </p><p>
+    To get a pointer to the current engine used by the static
+    generator.
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.GlobClass.HEPRandom.Distri"></a>3.2.2.3. 
+<span class="emphasis"><em>HEPRandom</em></span> distributions
+</h4></div></div></div><p>
+A distribution-class can collect different algorithms and
+different calling sequences for each method to define distribution
+parameters or range-intervals; it also collects methods to fill
+arrays, of specified size, of random values, according to the
+distribution. This class collects either static and not static
+methods. A set of distribution classes are defined in
+<span class="emphasis"><em>HEPRandom</em></span>. Here is the description of some of them:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>RandFlat</em></span>
+    </p><p>
+    Class to shoot flat random values (integers or double) within a
+    specified interval. The class provides also methods to shoot just
+    random bits.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RandExponential</em></span>
+    </p><p>
+    Class to shoot exponential distributed random values, given a
+    mean (default mean = 1)
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RandGauss</em></span>
+    </p><p>
+    Class to shoot Gaussian distributed random values, given a mean
+    (default = 0) or specifying also a deviation (default = 1).
+    Gaussian random numbers are generated two at the time, so every
+    other time a number is shot, the number returned is the one
+    generated the time before.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RandBreitWigner</em></span>
+    </p><p>
+    Class to shoot numbers according to the Breit-Wigner
+    distribution algorithms (plain or mean^2).
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>RandPoisson</em></span>
+    </p><p>
+    Class to shoot numbers according to the Poisson distribution,
+    given a mean (default = 1) (Algorithm taken from ``W.H.Press et
+    al., Numerical Recipes in C, Second Edition'').
+    </p><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.HEPNumerics"></a>3.2.3. 
+The <span class="emphasis"><em>HEPNumerics</em></span> module
+</h3></div></div></div><p>
+A set of classes implementing numerical algorithms has been
+developed in Geant4. Most of the algorithms and methods have been
+implemented mainly based on recommendations given in the books:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    B.H. Flowers, ``An introduction to Numerical Methods In C++'',
+    Claredon Press, Oxford 1995.
+  </p></li><li><p>
+    M. Abramowitz, I. Stegun, ``Handbook of mathematical
+    functions'', DOVER Publications INC, New York 1965 ; chapters 9,
+    10, and 22.
+  </p></li></ul></div><p>
+</p><p>
+This set of classes includes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>G4ChebyshevApproximation</em></span>
+    </p><p>
+    Class creating the Chebyshev approximation for a function
+    pointed by fFunction data member. The Chebyshev polynomial
+    approximation provides an efficient evaluation of the minimax
+    polynomial, which (among all polynomials of the same degree) has
+    the smallest maximum deviation from the true function.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4DataInterpolation</em></span>
+    </p><p>
+    Class providing methods for data interpolations and
+    extrapolations: Polynomial, Cubic Spline, ...
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4GaussChebyshevQ</em></span>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4GaussHermiteQ</em></span>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4GaussJacobiQ</em></span>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4GaussLaguerreQ</em></span>
+    </p><p>
+    Classes implementing the Gauss-Chebyshev, Gauss-Hermite,
+    Gauss-Jacobi, Gauss-Laguerre and Gauss-Legendre quadrature methods.
+    Roots of orthogonal polynomials and corresponding weights are
+    calculated based on iteration method (by bisection Newton
+    algorithm).
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4Integrator</em></span>
+    </p><p>
+    Template class collecting integrator methods for generic
+    functions (Legendre, Simpson, Adaptive Gauss, Laguerre, Hermite,
+    Jacobi).
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4SimpleIntegration</em></span>
+    </p><p>
+    Class implementing simple numerical methods (Trapezoidal,
+    MidPoint, Gauss, Simpson, Adaptive Gauss, for integration of
+    functions with signature: double f(double).
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.GeneManage"></a>3.2.4. 
+General management classes
+</h3></div></div></div><p>
+The `global' category defines also a set of `utility' classes
+generally used within the kernel of Geant4. These classes
+include:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>G4Allocator</em></span>
+    </p><p>
+    A class for fast allocation of objects to the heap through
+    paging mechanism. It's meant to be used by associating it to the
+    object to be allocated and defining for it <code class="literal">new</code> and
+    <code class="literal">delete</code> operators via <code class="literal">MallocSingle()</code> and
+    <code class="literal">FreeSingle()</code> methods of <span class="emphasis"><em>G4Allocator</em></span>.
+    </p><p>
+    </p><p>
+    <span class="bold"><strong>Note</strong></span>: classes which are handled by
+    <code class="literal">G4Allocator</code> should <span class="emphasis"><em>avoid</em></span> to be used
+    as base classes for others and therefore define their (eventually empty)
+    destructors to be virtual (and/or inlined). Such measure is necessary in order
+    to prevent bad aliasing optimisations by compilers which may potentially
+    lead to crashes in the attempt to free the allocated chunks of memory.
+    </p><p>
+    </p><p>
+    The list of allocators implicitely defined and used in Geant4 is reported here:
+    </p><div class="informalexample"><pre class="programlisting">
+      - events (G4Event): anEventAllocator
+      - tracks (G4Track): aTrackAllocator
+      - stacked tracks (G4StackedTrack): aStackedTrackAllocator
+      - primary particles (G4PrimaryParticle): aPrimaryParticleAllocator
+      - primary vertices (G4PrimaryVertex): aPrimaryVertexAllocator
+      - decay products (G4DecayProducts): aDecayProductsAllocator
+      - digits collections of an event (G4DCofThisEvent): anDCoTHAllocator
+      - digits collections (G4DigiCollection): aDCAllocator
+      - hits collections of an event (G4HCofThisEvent): anHCoTHAllocator
+      - hits collections (G4HitsCollection): anHCAllocator
+      - trajectories (G4Trajectory): aTrajectoryAllocator
+      - trajectory points (G4TrajectoryPoint): aTrajectoryPointAllocator
+      - trajectory containers (G4TrajectoryContainer): aTrajectoryContainerAllocator
+      - navigation levels (G4NavigationLevel): aNavigationLevelAllocator
+      - navigation level nodes (G4NavigationLevelRep): aNavigLevelRepAllocator
+      - reference-counted handles (G4ReferenceCountedHandle&lt;X&gt;): aRCHAllocator
+      - counted objects (G4CountedObject&lt;X&gt;): aCountedObjectAllocator
+      - HEPEvt primary particles (G4HEPEvtParticle): aHEPEvtParticleAllocator
+      - electron occupancy objects(G4ElectronOccupancy): aElectronOccupancyAllocator
+      - "rich" trajectories (G4RichTrajectory): aRichTrajectoryAllocator
+      - "rich" trajectory points (G4RichTrajectoryPoint): aRichTrajectoryPointAllocator
+      - "smooth" trajectories (G4SmoothTrajectory): aSmoothTrajectoryAllocator
+      - "smooth" trajectory points (G4SmoothTrajectoryPoint): aSmoothTrajectoryPointAllocator
+      - "ray" trajectories (G4RayTrajectory): G4RayTrajectoryAllocator
+      - "ray" trajectory points (G4RayTrajectoryPoint): G4RayTrajectoryPointAllocator
+    </pre></div><p>
+    For each of these allocators, accessible from the global namespace, it is
+    possible to monitor the allocation in their memory pools or force them to
+    release the allocated memory (for example at the end of a run):
+    </p><div class="informalexample"><pre class="programlisting">
+      // Return the size of the total memory allocated for tracks
+      //
+      aTrackAllocator.GetAllocatedSize();
+
+      // Return allocated storage for tracks to the free store
+      //
+      aTrackAllocator.ResetStorage();
+    </pre></div><p>
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4ReferenceCountedHandle</em></span>
+    </p><p>
+    Template class acting as a smart pointer and wrapping the type
+    to be counted. It performs the reference counting during the
+    life-time of the counted object.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4FastVector</em></span>
+    </p><p>
+    Template class defining a vector of pointers, not performing
+    boundary checking.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4PhysicsVector</em></span>
+    </p><p>
+    Defines a physics vector which has values of energy-loss,
+    cross-section, and other physics values of a particle in matter in
+    a given range of the energy, momentum, etc. This class serves as
+    the base class for a vector having various energy scale, for
+    example like 'log' (<span class="emphasis"><em>G4PhysicsLogVector</em></span>) 'linear'
+    (<span class="emphasis"><em>G4PhysicsLinearVector</em></span>), 'free'
+    (<span class="emphasis"><em>G4PhysicsFreeVector</em></span>), etc.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4LPhysicsFreeVector</em></span>
+    </p><p>
+    Implements a free vector for low energy physics cross-section
+    data. A subdivision method is used to find the energy|momentum
+    bin.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4PhysicsOrderedFreeVector</em></span>
+    </p><p>
+    A physics ordered free vector inherits from
+    <span class="emphasis"><em>G4PhysicsVector</em></span>. It provides, in addition, a method
+    for the user to insert energy/value pairs in sequence. Methods to retrieve
+    the max and min energies and values from the vector are also
+    provided.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4Timer</em></span>
+    </p><p>
+    Utility class providing methods to measure elapsed user/system
+    process time.
+    Uses <code class="literal">&lt;sys/times.h&gt;</code> and <code class="literal">&lt;unistd.h&gt;</code> -
+    POSIX.1.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4UserLimits</em></span>
+    </p><p>
+    Class collecting methods for get and set any kind of step
+    limitation allowed in Geant4.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>G4UnitsTable</em></span>
+    </p><p>
+    Placeholder for the system of units in Geant4.
+    </p><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch03s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 3. 
+Toolkit Fundamentals
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3.3. 
+System of units
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s03.html	(revision 901)
@@ -0,0 +1,171 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.3.  System of units</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="prev" href="ch03s02.html" title="3.2.  Global Usage Classes"><link rel="next" href="ch03s04.html" title="3.4.  Run"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.3. 
+System of units
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.SysUni"></a>3.3. 
+System of units
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.SysUni.BasicUni"></a>3.3.1. 
+Basic units
+</h3></div></div></div><p>
+Geant4 offers the user the possibility to choose and use the
+units he prefers for any quantity. In fact, the Geant4 kernel takes
+care of the units. Internally it uses a consistent set on units
+based on the <code class="literal">HepSystemOfUnits</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+                millimeter              (mm)
+                nanosecond              (ns)
+                Mega electron Volt      (MeV)
+                positron charge         (eplus)
+                degree Kelvin           (kelvin)
+                the amount of substance (mole)
+                luminous intensity      (candela)
+                radian                  (radian)
+                steradian               (steradian)
+</pre></div><p>
+</p><p>
+All other units are defined from the basic ones.
+</p><p>
+For instance:
+
+</p><div class="informalexample"><pre class="programlisting">
+                 millimeter = mm = 1;
+                 meter = m = 1000*mm;
+                 ...
+                 m3 = m*m*m;
+                 ...
+</pre></div><p>
+</p><p>
+In the file
+<code class="literal">source/global/management/include/SystemOfUnits.h</code> you will
+find all of these definitions. That file is part of CLHEP.
+</p><p>
+Moreover, the user is free to change the system of units to be
+used by the kernel.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.SysUni.InputData"></a>3.3.2. 
+Input your data
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.SysUni.InputData.AvoidHardCoded"></a>3.3.2.1. 
+Avoid 'hard coded' data
+</h4></div></div></div><p>
+You <span class="bold"><strong>must</strong></span> give the units for the 
+data you are going to
+introduce:
+
+</p><div class="informalexample"><pre class="programlisting">
+ G4double Size = 15*km, KineticEnergy = 90.3*GeV, density = 11*mg/cm3;
+</pre></div><p>
+</p><p>
+Indeed, the full Geant4 code is written respecting these
+specifications, and this makes it independent of the units chosen
+by the user.
+</p><p>
+If the units are not specified, it is understood that the data
+is implicitly in the internal G4 system, but this is strongly
+discouraged.
+</p><p>
+If the data set comes from an array or from an external file, it
+is strongly recommended to set the units as soon as the data are
+read, before any treatment. For instance:
+
+</p><div class="informalexample"><pre class="programlisting">
+  for (int j=0, j&lt;jmax, j++) CrossSection[j] *= millibarn;
+  ...
+  my calculations
+  ...
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.SysUni.InputData.Interactive"></a>3.3.2.2. 
+Interactive commands
+</h4></div></div></div><p>
+Some built-in commands from the User Interface (UI) also require
+the units to be specified.
+</p><p>
+For instance:
+
+</p><div class="informalexample"><pre class="programlisting">
+    /gun/energy 15.2 keV
+    /gun/position 3 2 -7 meter
+</pre></div><p>
+</p><p>
+If the units are not specified, or are not valid, the command is
+refused.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.SysUni.OutputData"></a>3.3.3. 
+Output your data
+</h3></div></div></div><p>
+You can output your data with the units you wish. To do so, it is
+sufficient to <span class="bold"><strong>divide</strong></span> the data by the 
+corresponding unit:
+
+</p><div class="informalexample"><pre class="programlisting">     
+      G4cout &lt;&lt; KineticEnergy/keV &lt;&lt; " keV";
+      G4cout &lt;&lt; density/(g/cm3)   &lt;&lt; " g/cm3";
+</pre></div><p>     
+</p><p>
+Of course, <code class="literal">G4cout &lt;&lt; KineticEnergy</code> will print the
+energy in the internal units system.
+</p><p>
+There is another way to output your data. Let Geant4 choose the
+most appropriate units for the actual numerical value of your data.
+It is sufficient to specify to which category your data belong
+(Length, Time, Energy, etc.). For example
+
+</p><div class="informalexample"><pre class="programlisting">     
+      G4cout &lt;&lt; G4BestUnit(StepSize, "Length");
+</pre></div><p>     
+</p><p>
+<code class="literal">StepSize</code> will be printed in km, m, mm, fermi, etc.
+depending of its actual value.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.SysUni.IntroNewUnits"></a>3.3.4. 
+Introduce new units
+</h3></div></div></div><p>
+If you wish to introduce new units, there are two methods:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    You can complete the file <code class="literal">SystemOfUnits.h</code>
+
+    </p><div class="informalexample"><pre class="programlisting">       
+      #include "SystemOfUnits.h"
+      
+      static const G4double inch = 2.54*cm;
+    </pre></div><p>      
+
+    Using this method, it is not easy to define composed units. It
+    is better to do the following:
+  </p></li><li><p>
+    You can instantiate an object of the class
+    <span class="emphasis"><em>G4UnitDefinition</em></span>
+
+    </p><div class="informalexample"><pre class="programlisting">       
+      G4UnitDefinition ( name, symbol, category, value )
+    </pre></div><p>       
+
+    For example: define a few units for speed
+
+    </p><div class="informalexample"><pre class="programlisting">       
+      G4UnitDefinition ( "km/hour" , "km/h", "Speed", km/(3600*s) );
+      G4UnitDefinition ( "meter/ns", "m/ns", "Speed", m/ns );
+    </pre></div><p>       
+
+    The category "Speed" does not exist by default in
+    <span class="emphasis"><em>G4UnitsTable</em></span>, but it will be created automatically.
+    The class <span class="emphasis"><em>G4UnitDefinition</em></span> is located in
+    <code class="literal">source/global/management</code>.
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.SysUni.PrintUnits"></a>3.3.5. 
+Print the list of units
+</h3></div></div></div><p>
+You can print the list of units with the static function:
+<code class="literal">G4UnitDefinition::PrintUnitsTable();</code>
+</p><p>
+or with the interactive command: <code class="literal">/units/list</code>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch03s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3.2. 
+Global Usage Classes
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3.4. 
+Run
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s04.html	(revision 901)
@@ -0,0 +1,431 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.4.  Run</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="prev" href="ch03s03.html" title="3.3.  System of units"><link rel="next" href="ch03s05.html" title="3.5.  Event"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.4. 
+Run
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th><td width="20%" align="right"> <a accesskey="n" href="ch03s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Run"></a>3.4. 
+Run
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Run.Basic"></a>3.4.1. 
+Basic concept of <span class="emphasis"><em>Run</em></span>
+</h3></div></div></div><p>
+In Geant4, <span class="emphasis"><em>Run</em></span> is the largest unit of simulation. A run
+consists of a sequence of events. Within a run, the detector
+geometry, the set up of sensitive detectors, and the physics
+processes used in the simulation should be kept unchanged. A run is
+represented by a <span class="emphasis"><em>G4Run</em></span> class object. A run starts with
+<code class="literal">BeamOn()</code> method of <span class="emphasis"><em>G4RunManager</em></span>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Basic.Rep"></a>3.4.1.1. 
+Representation of a run
+</h4></div></div></div><p>
+<span class="emphasis"><em>G4Run</em></span> represents a run. It has a run identification
+number, which should be set by the user, and the number of events
+simulated during the run. Please note that the run identification
+number is not used by the Geant4 kernel, and thus can be
+arbitrarily assigned at the user's convenience.
+</p><p>
+<span class="emphasis"><em>G4Run</em></span> has pointers to the tables 
+<span class="emphasis"><em>G4VHitsCollection</em></span>
+and <span class="emphasis"><em>G4VDigiCollection</em></span>. These tables are associated 
+in case <span class="emphasis"><em>sensitive detectors</em></span> and 
+<span class="emphasis"><em>digitizer modules</em></span> are
+simulated, respectively. The usage of these tables will be
+mentioned in <a href="ch04s04.html" title="4.4. 
+Hits
+">Section 4.4</a> and <a href="ch04s05.html" title="4.5. 
+Digitization
+">Section 4.5</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Basic.Manage"></a>3.4.1.2. 
+Manage the run procedures
+</h4></div></div></div><p>
+<span class="emphasis"><em>G4RunManager</em></span> manages the procedures of a run. In the
+constructor of <span class="emphasis"><em>G4RunManager</em></span>, all of the manager classes in
+Geant4 kernel, except for some static managers, are constructed.
+These managers are deleted in the destructor of
+<span class="emphasis"><em>G4RunManager</em></span>. <span class="emphasis"><em>G4RunManager</em></span> 
+must be a singleton, and
+the pointer to this singleton object can be obtained by the
+<code class="literal">getRunManager()</code> static method.
+</p><p>
+As already mentioned in <a href="ch02.html#sect.HowToDefMain" title="2.1. 
+How to Define the main() Program
+">Section 2.1</a>, all of the
+<span class="emphasis"><em>user initialization</em></span> classes and 
+<span class="emphasis"><em>user action</em></span> classes
+defined by the user should be assigned to <span class="emphasis"><em>G4RunManager</em></span>
+before starting initialization of the Geant4 kernel. The
+assignments of these user classes are done by
+<code class="literal">SetUserInitialization()</code> and <code class="literal">SetUserAction()</code>
+methods. All user classes defined by the Geant4 kernel will be
+summarized in <a href="ch06.html" title="Chapter 6. 
+User Actions
+">Chapter 6</a>.
+</p><p>
+<span class="emphasis"><em>G4RunManager</em></span> has several public methods, which are listed
+below.
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term"><code class="literal">Initialize()</code></span></dt><dd>
+      All initializations required by the Geant4 kernel are triggered
+      by this method. Initializations are:
+
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+          construction of the detector geometry and set up of sensitive
+          detectors and/or digitizer modules,
+        </p></li><li><p>
+          construction of particles and physics processes,
+        </p></li><li><p>
+          calculation of cross-section tables.
+        </p></li></ul></div>
+
+      This method is thus mandatory before proceeding to the first run.
+      This method will be invoked automatically for the second and later
+      runs in case some of the initialized quantities need to be updated.
+    </dd><dt><span class="term"><code class="literal">BeamOn(G4int numberOfEvent)</code></span></dt><dd>
+      This method triggers the actual simulation of a run, that is,
+      an event loop. It takes an integer argument which represents the
+      number of events to be simulated.
+    </dd><dt><span class="term"><code class="literal">GetRunManager()</code></span></dt><dd>
+      This static method returns the pointer to the
+      <span class="emphasis"><em>G4RunManager</em></span> singleton object.
+    </dd><dt><span class="term"><code class="literal">GetCurrentEvent()</code></span></dt><dd>
+      This method returns the pointer to the <span class="emphasis"><em>G4Event</em></span> object
+      which is currently being simulated. This method is available only
+      when an event is being processed. At this moment, the application
+      state of Geant4, which is explained in the following sub-section,
+      is <span class="emphasis"><em>"EventProc"</em></span>. When Geant4 is in a state other than
+      <span class="emphasis"><em>"EventProc"</em></span>, this method returns
+      <code class="literal">null</code>. 
+      Please note that the return value of this method is 
+      <code class="literal">const G4Event *</code> and thus you cannot modify the
+      contents  of the object.
+    </dd><dt><span class="term"><code class="literal">SetNumberOfEventsToBeStored(G4int nPrevious)</code></span></dt><dd>
+      When simulating the "pile up" of more than one event, it is
+      essential to access more than one event at the same moment. By
+      invoking this method, <span class="emphasis"><em>G4RunManager</em></span> keeps <code class="literal">nPrevious
+      G4Event</code> objects. This method must be invoked before proceeding
+      to <code class="literal">BeamOn()</code>.
+    </dd><dt><span class="term"><code class="literal">GetPreviousEvent(G4int i_thPrevious)</code></span></dt><dd>
+      The pointer to the <code class="literal">i_thPrevious G4Event</code> object can be
+      obtained through this method. A pointer to a <code class="literal">const</code> object
+      is returned. It is inevitable that <code class="literal">i_thPrevious</code> events
+      must have already been simulated in the same run for getting the
+      <code class="literal">i_thPrevious</code> event. Otherwise, this method returns
+      <code class="literal">null</code>.
+    </dd><dt><span class="term"><code class="literal">AbortRun()</code></span></dt><dd>
+      This method should be invoked whenever the processing of a run
+      must be stopped. It is valid for <span class="emphasis"><em>GeomClosed</em></span> and
+      <span class="emphasis"><em>EventProc</em></span> states. Run processing will be safely aborted even
+      in the midst of processing an event. However, the last event of the
+      aborted run will be incomplete and should not be used for further
+      analysis.
+    </dd></dl></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Basic.UserRunAction"></a>3.4.1.3. 
+<span class="emphasis"><em>G4UserRunAction</em></span>
+</h4></div></div></div><p>
+<span class="emphasis"><em>G4UserRunAction</em></span> is one of the <span class="emphasis"><em>user action</em></span> 
+classes from which you can derive your own concrete class. This base class
+has two virtual methods, as follows:
+
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term"><code class="literal">BeginOfRunAction()</code></span></dt><dd>
+      This method is invoked at the beginning of the
+      <code class="literal">BeamOn()</code> method but after confirmation of the conditions
+      of the Geant4 kernel. Likely uses of this method include:
+
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+          setting a run identification number,
+        </p></li><li><p>
+          booking histograms,
+        </p></li><li><p>
+          setting run specific conditions of the sensitive detectors
+          and/or digitizer modules (e.g., dead channels).
+        </p></li></ul></div></dd><dt><span class="term"><code class="literal">EndOfRunAction()</code></span></dt><dd>
+      This method is invoked at the very end of the <code class="literal">BeamOn()</code>
+      method. Typical use cases of this method are
+
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+          store/print histograms,
+        </p></li><li><p>
+          manipulate run summaries.
+        </p></li></ul></div></dd></dl></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Run.StateMac"></a>3.4.2. 
+Geant4 as a state machine
+</h3></div></div></div><p>
+Geant4 is designed as a state machine. Some methods in Geant4 are
+available for only a certain state(s). <span class="emphasis"><em>G4RunManager</em></span> controls
+the state changes of the Geant4 application. States of Geant4 are
+represented by the enumeration <span class="emphasis"><em>G4ApplicationState</em></span>. It has
+six states through the life cycle of a Geant4 application.
+
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term"><span class="emphasis"><em>G4State_PreInit</em></span> state</span></dt><dd>
+      A Geant4 application starts with this state. The application
+      needs to be initialized when it is in this state. The application
+      occasionally comes back to this state if geometry, physics
+      processes, and/or cut-off have been changed after processing a
+      run.
+    </dd><dt><span class="term"><span class="emphasis"><em>G4State_Init</em></span> state</span></dt><dd>
+      The application is in this state while the
+      <code class="literal">Initialize()</code> method of <span class="emphasis"><em>G4RunManager</em></span> 
+      is being invoked. Methods defined in any 
+      <span class="emphasis"><em>user initialization</em></span> classes 
+      are invoked during this state.
+    </dd><dt><span class="term"><span class="emphasis"><em>G4State_Idle</em></span> state</span></dt><dd>
+      The application is ready for starting a run.
+    </dd><dt><span class="term"><span class="emphasis"><em>G4State_GeomClosed</em></span> state</span></dt><dd>
+      When <code class="literal">BeamOn()</code> is invoked, the application proceeds to
+      this state to process a run. Geometry, physics processes, and
+      cut-off cannot be changed during run processing.
+    </dd><dt><span class="term"><span class="emphasis"><em>G4State_EventProc</em></span> state</span></dt><dd>
+      A Geant4 application is in this state when a particular event
+      is being processed. <code class="literal">GetCurrentEvent()</code> and
+      <code class="literal">GetPreviousEvent()</code> methods of 
+      <span class="emphasis"><em>G4RunManager</em></span> are
+      available only at this state.
+    </dd><dt><span class="term"><span class="emphasis"><em>G4State_Quit</em></span> state</span></dt><dd>
+      When the destructor of <span class="emphasis"><em>G4RunManager</em></span> is invoked, the
+      application comes to this "dead end" state. Managers of the Geant4
+      kernel are being deleted and thus the application cannot come back
+      to any other state.
+    </dd><dt><span class="term"><span class="emphasis"><em>G4State_Abort</em></span> state</span></dt><dd>
+      When a <span class="emphasis"><em>G4Exception</em></span> occurs, the application comes to this
+      "dead end" state and causes a core dump. The user still has a hook
+      to do some "safe" opperations, e.g. storing histograms, by
+      implementing a user concrete class of <span class="emphasis"><em>G4VStateDependent</em></span>. The
+      user also has a choice to suppress the occurence of
+      <span class="emphasis"><em>G4Exception</em></span> by a UI command
+      <span class="emphasis"><em>/control/suppressAbortion</em></span>. When abortion is suppressed, you
+      will still get error messages issued by G4Exception, and there is
+      NO guarantee of a correct result after the G4Exception error
+      message.
+    </dd></dl></div><p>
+
+<span class="emphasis"><em>G4StateManager</em></span> belongs to the <span class="emphasis"><em>intercoms</em></span> 
+category.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Run.UserHook"></a>3.4.3. 
+User's hook for state change
+</h3></div></div></div><p>
+In case the user wants to do something at the moment of state
+change of Geant4, the user can create a concrete class of the
+<span class="emphasis"><em>G4VStateDependent</em></span> base class. For example, the user can
+store histograms when G4Exception occurs and Geant4 comes to the
+<span class="emphasis"><em>Abort</em></span> state, but before the actual core dump.
+</p><p>
+The following is an example user code which stores histograms
+when Geant4 becomes to the <span class="emphasis"><em>Abort</em></span> state. This class object
+should be mabe in, for example <span class="emphasis"><em>main()</em></span>, by the user code.
+This object will be automatically registered to
+<span class="emphasis"><em>G4StateManager</em></span> at its construction.
+</p><div class="example"><a name="programlist_Run_1"></a><p class="title"><b>Example 3.1. 
+Header file of UserHookForAbortState
+</b></p><div class="example-contents"><pre class="programlisting">
+#ifndef UserHookForAbortState_H
+#define UserHookForAbortState_H 1
+
+#include "G4VStateDependent.hh"
+
+class UserHookForAbortState : public G4VStateDependent
+{
+ public:
+  UserHookForAbortState();   // constructor
+  ~UserHookForAbortState();  // destructor
+
+  virtual G4bool Notify(G4ApplicationState requiredState);
+};
+</pre></div></div><br class="example-break"><div class="example"><a name="programlist_Run_2"></a><p class="title"><b>Example 3.2. 
+Source file of UserHookForAbortState
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "UserHookForAbortState.hh"
+
+UserHookForAbortState::UserHookForAbortState() {;}
+UserHookForAbortState::~UserHookForAbortState() {;}
+
+G4bool UserHookForAbortState::Notify(G4ApplicationState requiredState)
+{
+  if(requiredState!=Abort) return true;
+  
+  // Do book keeping here
+
+  return true;
+}
+</pre></div></div><br class="example-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Run.Custom"></a>3.4.4. 
+Customizing the Run Manager
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Custom.VirMeth"></a>3.4.4.1. 
+Virtual Methods in the Run Manager
+</h4></div></div></div><p>
+<code class="literal">G4RunManager</code> is a concrete class with a complete set of
+functionalities for managing the Geant4 kernel. It is the only
+manager class in the Geant4 kernel which must be constructed in the
+<code class="literal">main()</code> method of the user's application. Thus, instead of
+constructing the <code class="literal">G4RunManager</code> provided by Geant4, you are
+free to construct your own <code class="literal">RunManager</code>. It is recommended,
+however, that your <code class="literal">RunManager</code> inherit
+<code class="literal">G4RunManager</code>. For this purpose, <code class="literal">G4RunManager</code> has
+various virtual methods which provide all the functionalities
+required to handle the Geant4 kernel. Hence, your customized run
+manager need only override the methods particular to your needs;
+the remaining methods in <code class="literal">G4RunManager</code> base class can still
+be used. A summary of the available methods is presented here:
+
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term"><code class="literal">public: virtual void Initialize();</code></span></dt><dd>
+      main entry point of Geant4 kernel initialization
+    </dd><dt><span class="term"><code class="literal">protected: virtual void InitializeGeometry();</code></span></dt><dd>
+      geometry construction
+    </dd><dt><span class="term"><code class="literal">protected: virtual void InitializePhysics();</code></span></dt><dd>
+      physics processes construction
+    </dd><dt><span class="term"><code class="literal">public: virtual void BeamOn(G4int n_event);</code></span></dt><dd>
+      main entry point of the event loop
+    </dd><dt><span class="term"><code class="literal">protected: virtual G4bool ConfirmBeamOnCondition();</code></span></dt><dd>
+      check the kernel conditions for the event loop
+    </dd><dt><span class="term"><code class="literal">protected: virtual void RunInitialization();</code></span></dt><dd>
+      prepare a run
+    </dd><dt><span class="term"><code class="literal">protected: virtual void DoEventLoop(G4int n_events);</code></span></dt><dd>
+      manage an event loop
+    </dd><dt><span class="term"><code class="literal">protected: virtual G4Event* GenerateEvent(G4int i_event);</code></span></dt><dd>
+      generation of <span class="emphasis"><em>G4Event</em></span> object
+    </dd><dt><span class="term"><code class="literal">protected: virtual void AnalyzeEvent(G4Event* anEvent);</code></span></dt><dd>
+      storage/analysis of an event
+    </dd><dt><span class="term"><code class="literal">protected: virtual void RunTermination();</code></span></dt><dd>
+      terminate a run
+    </dd><dt><span class="term"><code class="literal">public: virtual void DefineWorldVolume(G4VPhysicalVolume * worldVol);</code></span></dt><dd>
+      set the world volume to <span class="emphasis"><em>G4Navigator</em></span></dd><dt><span class="term"><code class="literal">public: virtual void AbortRun();</code></span></dt><dd>
+      abort the run
+    </dd></dl></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Custom.EventLoop"></a>3.4.4.2. 
+Customizing the Event Loop
+</h4></div></div></div><p>
+In <code class="literal">G4RunManager</code> the event loop is handled by the
+virtual method <code class="literal">DoEventLoop()</code>. This method is implemented
+by a <code class="literal">for</code> loop consisting of the following steps:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    construct a <code class="literal">G4Event</code> object and assign to it primary
+    vertex(es) and primary particles. This is done by the virtual
+    <code class="literal">GeneratePrimaryEvent()</code> method.
+  </p></li><li><p>
+    send the <code class="literal">G4Event</code> object to <code class="literal">G4EventManager</code> 
+    for the detector simulation. <span class="emphasis"><em>Hits</em></span> and 
+    <span class="emphasis"><em>trajectories</em></span> will
+    be associated with the <code class="literal">G4Event</code> object as a
+    consequence.
+  </p></li><li><p>
+    perform bookkeeping for the current <code class="literal">G4Event</code> object.
+    This is done by the virtual <code class="literal">AnalyzeEvent()</code> method.
+  </p></li></ol></div><p>
+</p><p>
+<code class="literal">DoEventLoop()</code> performs the entire simulation of an
+event. However, it is often useful to split the above three steps
+into isolated application programs. If, for example, you wish to
+examine the effects of changing discriminator thresholds, ADC gate
+widths and/or trigger conditions on simulated events, much time can
+be saved by performing steps 1 and 2 in one program and step 3 in
+another. The first program need only generate the hit/trajectory
+information once and store it, perhaps in a database. The second
+program could then retrieve the stored <code class="literal">G4Event</code> objects and
+perform the digitization (analysis) using the above threshold, gate
+and trigger settings. These settings could then be changed and the
+digitization program re-run without re-generating the
+<code class="literal">G4Event</code>s.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Custom.Geometry"></a>3.4.4.3. 
+Changing the Detector Geometry
+</h4></div></div></div><p>
+The detector geometry defined in your
+<span class="emphasis"><em>G4VUserDetectorConstruction</em></span> concrete class can be changed
+during a run break (between two runs). Two different cases are
+considered.
+</p><p>
+The first is the case in which you want to delete the entire
+structure of your old geometry and build up a completely new set of
+volumes. For this case, you need to set the new world physical
+volume pointer to the <span class="emphasis"><em>RunManager</em></span>. Thus, you should proceed
+in the following way.
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4RunManager* runManager = G4RunManager::GetRunManager();
+  runManager-&gt;DefineWorldVolume( newWorldPhys );
+</pre></div><p>
+
+Presumably this case is rather rare. The second case is more
+frequent for the user.
+</p><p>
+The second case is the following. Suppose you want to move
+and/or rotate a particular piece of your detector component. This
+case can easily happen for a beam test of your detector. It is
+obvious for this case that you need not change the world volume.
+Rather, it should be said that your world volume (experimental hall
+for your beam test) should be big enough for moving/rotating your
+test detector. For this case, you can still use all of your
+detector geometries, and just use a <code class="literal">Set</code> method of a
+particular physical volume to update the transformation vector as
+you want. Thus, you don't need to re-set your world volume pointer
+to <span class="emphasis"><em>RunManager</em></span>.
+</p><p>
+If you want to change your geometry for every run, you can
+implement it in the <code class="literal">BeginOfRunAction()</code> method of
+<span class="emphasis"><em>G4UserRunAction</em></span> class, which will be invoked at the
+beginning of each run, or, derive the <code class="literal">RunInitialization()</code>
+method. Please note that, for both of the above mentioned cases,
+you need to let <span class="emphasis"><em>RunManager</em></span> know "the geometry needs to be
+closed again". Thus, you need to invoke
+
+</p><div class="informalexample"><pre class="programlisting">
+  runManager-&gt;GeometryHasBeenModified();
+</pre></div><p>
+
+before proceeding to the next run. An example of changing geometry
+is given in a Geant4 tutorial in Geant4 Training kit #2.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Run.Custom.SwitchPhys"></a>3.4.4.4. 
+Switch physics processes
+</h4></div></div></div><p>
+In the <code class="literal">InitializePhysics()</code> method,
+<code class="literal">G4VUserPhysicsList::Construct</code> is invoked in order to
+define particles and physics processes in your application.
+Basically, you can not add nor remove any particles during
+execution, because particles are static objects in Geant4 (see 
+<a href="ch02s04.html" title="2.4. 
+How to Specify Particles
+">Section 2.4</a> and 
+<a href="ch05s03.html" title="5.3. 
+Particles
+">Section 5.3</a> for details). 
+In addition, it is very difficult to add and/or remove physics
+processes during execution, because registration procedures are
+very complex, except for experts (see <a href="ch02s05.html" title="2.5. 
+How to Specify Physics Processes
+">Section 2.5</a>
+and <a href="ch05s02.html" title="5.2. 
+Physics Processes
+">Section 5.2</a>). 
+This is why the <code class="literal">initializePhysics()</code> method is assumed 
+to be invoked at once in Geant4 kernel initialization.
+</p><p>
+However, you can switch on/off physics processes defined in your
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> concrete class and also change parameters
+in physics processes during the run break.
+</p><p>
+You can use <code class="literal">ActivateProcess()</code> and
+<code class="literal">InActivateProcess()</code> methods of <span class="emphasis"><em>G4ProcessManager</em></span>
+anywhere outside the event loop to switch on/off some process. You
+should be very careful to switch on/off processes inside the event
+loop, though it is not prohibited to use these methods even in the
+<span class="emphasis"><em>EventProc</em></span> state.
+</p><p>
+It is a likely case to change cut-off values in a run. You can
+change <code class="literal">defaultCutValue</code> in
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> 
+during the <span class="emphasis"><em>Idle</em></span> state. In this case, all cross section 
+tables need to be recalculated before the event loop. You should use the
+<code class="literal">CutOffHasBeenModified()</code> method when you change cut-off
+values so that the <code class="literal">SetCuts</code> method of your
+<span class="emphasis"><em>PhysicsList</em></span> concrete class will be invoked.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch03s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3.3. 
+System of units
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3.5. 
+Event
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s05.html	(revision 901)
@@ -0,0 +1,133 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.5.  Event</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="prev" href="ch03s04.html" title="3.4.  Run"><link rel="next" href="ch03s06.html" title="3.6.  Event Generator Interface"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.5. 
+Event
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th><td width="20%" align="right"> <a accesskey="n" href="ch03s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Event"></a>3.5. 
+Event
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Event.Represent"></a>3.5.1. 
+Representation of an event
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4Event</em></span> represents an event. An object of this class
+contains all inputs and outputs of the simulated event. This class
+object is constructed in <span class="emphasis"><em>G4RunManager</em></span> and sent to
+<span class="emphasis"><em>G4EventManager</em></span>. The event currently being processed can be
+obtained via the <code class="literal">getCurrentEvent()</code> method of
+<span class="emphasis"><em>G4RunManager</em></span>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Event.Struct"></a>3.5.2. 
+Structure of an event
+</h3></div></div></div><p>
+A <span class="emphasis"><em>G4Event</em></span> object has four major types of information. Get
+methods for this information are available in <span class="emphasis"><em>G4Event</em></span>.
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">Primary vertexes and primary particles</span></dt><dd><p>
+      Details are given in <a href="ch03s06.html" title="3.6. 
+Event Generator Interface
+">Section 3.6</a>.
+    </p></dd><dt><span class="term">Trajectories</span></dt><dd><p>
+      Trajectories are stored in G4TrajectoryContainer class objects
+      and the pointer to this container is stored in <span class="emphasis"><em>G4Event</em></span>. 
+      The contents of a trajectory are given in 
+      <a href="ch05.html#sect.Track.Traj" title="5.1.6. 
+Trajectory and Trajectory Point
+">Section 5.1.6</a>.
+    </p></dd><dt><span class="term">Hits collections</span></dt><dd><p>
+      Collections of hits generated by <span class="emphasis"><em>sensitive detectors</em></span> are
+      kept in <span class="emphasis"><em>G4HCofThisEvent</em></span> class object and the pointer to this
+      container class object is stored in <span class="emphasis"><em>G4Event</em></span>. See 
+      <a href="ch04s04.html" title="4.4. 
+Hits
+">Section 4.4</a> for the details.
+    </p></dd><dt><span class="term">Digits collections</span></dt><dd><p>
+      Collections of digits generated by <span class="emphasis"><em>digitizer modules</em></span> are
+      kept in <span class="emphasis"><em>G4DCofThisEvent</em></span> class object and the pointer to this
+      container class object is stored in <span class="emphasis"><em>G4Event</em></span>. See 
+      <a href="ch04s05.html" title="4.5. 
+Digitization
+">Section 4.5</a> for the details.
+    </p></dd></dl></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Event.ManEvtMan"></a>3.5.3. 
+Mandates of <span class="emphasis"><em>G4EventManager</em></span>
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4EventManager</em></span> is the manager class to take care of one
+event. It is responsible for:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    converting <span class="emphasis"><em>G4PrimaryVertex</em></span> and 
+    <span class="emphasis"><em>G4PrimaryParticle</em></span>
+    objects associated with the current <span class="emphasis"><em>G4Event</em></span> object to
+    <span class="emphasis"><em>G4Track</em></span> objects. All of <span class="emphasis"><em>G4Track</em></span> 
+    objects representing the primary particles are sent to 
+    <span class="emphasis"><em>G4StackManager</em></span>.
+  </p></li><li><p>
+    Pop one <span class="emphasis"><em>G4Track</em></span> object from 
+    <span class="emphasis"><em>G4StackManager</em></span> and send it to 
+    <span class="emphasis"><em>G4TrackingManager</em></span>. The current <span class="emphasis"><em>G4Track</em></span>
+    object is deleted by <span class="emphasis"><em>G4EventManager</em></span> after the track is
+    simulated by <span class="emphasis"><em>G4TrackingManager</em></span>, if the track is marked as
+    "killed".
+  </p></li><li><p>
+    In case the primary track is "suspended" or "postponed to next
+    event" by <span class="emphasis"><em>G4TrackingManager</em></span>, it is sent back to the
+    <span class="emphasis"><em>G4StackManager</em></span>. Secondary 
+    <span class="emphasis"><em>G4Track</em></span> objects returned by
+    <span class="emphasis"><em>G4TrackingManager</em></span> are also sent to
+    <span class="emphasis"><em>G4StackManager</em></span>.
+  </p></li><li><p>
+    When <span class="emphasis"><em>G4StackManager</em></span> returns  <code class="literal">NULL</code> 
+    for the "pop" request, <span class="emphasis"><em>G4EventManager</em></span> terminates the 
+    current processing event.
+  </p></li><li><p>
+    invokes the user-defined methods <code class="literal">beginOfEventAction()</code>
+    and <code class="literal">endOfEventAction()</code> from the 
+    <span class="emphasis"><em>G4UserEventAction</em></span> class. See 
+    <a href="ch06s03.html" title="6.3. 
+User Information Classes
+">Section 6.3</a> for details.
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Event.Stack"></a>3.5.4. 
+Stacking mechanism
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4StackManager</em></span> has three stacks, named 
+<span class="emphasis"><em>urgent</em></span>, <span class="emphasis"><em>waiting</em></span> and 
+<span class="emphasis"><em>postpone-to-next-event</em></span>, which are objects
+of the <span class="emphasis"><em>G4TrackStack</em></span> class. By default, all <span class="emphasis"><em>G4Track</em></span>
+objects are stored in the <span class="emphasis"><em>urgent</em></span> stack and handled in a
+"last in first out" manner. In this case, the other two stacks are
+not used. However, tracks may be routed to the other two stacks by
+the user-defined <span class="emphasis"><em>G4UserStackingAction</em></span> concrete class.
+</p><p>
+If the methods of <span class="emphasis"><em>G4UserStackingAction</em></span> have been
+overridden by the user, the <span class="emphasis"><em>postpone-to-next-event</em></span> and
+<span class="emphasis"><em>waiting</em></span> stacks may contain tracks. At the beginning of an
+event, <span class="emphasis"><em>G4StackManager</em></span> checks to see if any tracks left over
+from the previous event are stored in the <span class="emphasis"><em>postpone-to-next-event
+stack</em></span>. If so, it attemps to move them to the <span class="emphasis"><em>urgent</em></span>
+stack. But first the <code class="literal">PrepareNewEvent()</code> method of
+<span class="emphasis"><em>G4UserStackingAction</em></span> is called. Here tracks may be
+re-classified by the user and sent to the <span class="emphasis"><em>urgent</em></span> or
+<span class="emphasis"><em>waiting</em></span> stacks, or deferred again to the
+<span class="emphasis"><em>postpone-to-next-event</em></span> stack. As the event is processed
+<span class="emphasis"><em>G4StackManager</em></span> pops tracks from the <span class="emphasis"><em>urgent</em></span> stack
+until it is empty. At this point the <code class="literal">NewStage()</code> method of
+<span class="emphasis"><em>G4UserStackingAction</em></span> is called. In this method tracks from
+the <span class="emphasis"><em>waiting</em></span> stack may be sent to the <span class="emphasis"><em>urgent</em></span> stack,
+retained in the <span class="emphasis"><em>waiting</em></span> stack or postponed to the next
+event.
+</p><p>
+Details of the user-defined methods of
+<span class="emphasis"><em>G4UserStackingAction</em></span> and how they affect track stack
+management are given in <a href="ch06s03.html" title="6.3. 
+User Information Classes
+">Section 6.3</a>.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch03s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3.4. 
+Run
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3.6. 
+Event Generator Interface
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s06.html	(revision 901)
@@ -0,0 +1,242 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.6.  Event Generator Interface</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="prev" href="ch03s05.html" title="3.5.  Event"><link rel="next" href="ch03s07.html" title="3.7.  Event Biasing Techniques"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.6. 
+Event Generator Interface
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th><td width="20%" align="right"> <a accesskey="n" href="ch03s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.EventGen"></a>3.6. 
+Event Generator Interface
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EventGen.StructPriEvt"></a>3.6.1. 
+Structure of a primary event
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.StructPriEvt.VtxPart"></a>3.6.1.1. 
+Primary vertex and primary particle
+</h4></div></div></div><p>
+The <span class="emphasis"><em>G4Event</em></span> class object should have a set of primary
+particles when it is sent to <span class="emphasis"><em>G4EventManager</em></span> via
+<code class="literal">processOneEvent()</code> method. It is the mandate of your
+<span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> concrete class to send primary
+particles to the <span class="emphasis"><em>G4Event</em></span> object.
+</p><p>
+The <span class="emphasis"><em>G4PrimaryParticle</em></span> class represents a primary particle
+with which Geant4 starts simulating an event. This class object has
+information on particle type and its three momenta. The positional
+and time information of primary particle(s) are stored in the
+<span class="emphasis"><em>G4PrimaryVertex</em></span> class object and, thus, this class object
+can have one or more <span class="emphasis"><em>G4PrimaryParticle</em></span> class objects which
+share the same vertex. As shown in Fig.?.?, primary vertexes and
+primary particles are associated with the <span class="emphasis"><em>G4Event</em></span> object by
+a form of linked list.
+</p><p>
+A concrete class of <span class="emphasis"><em>G4VPrimaryGenerator</em></span>, the
+<span class="emphasis"><em>G4PrimaryParticle</em></span> object is constructed with either a
+pointer to <span class="emphasis"><em>G4ParticleDefinition</em></span> or an integer number which
+represents P.D.G. particle code. For the case of some artificial
+particles, e.g., geantino, optical photon, etc., or exotic nuclear
+fragments, which the P.D.G. particle code does not cover, the
+<span class="emphasis"><em>G4PrimaryParticle</em></span> should be constructed by
+<span class="emphasis"><em>G4ParticleDefinition</em></span> pointer. On the other hand, elementary
+particles with very short life time, e.g., weak bosons, or
+quarks/gluons, can be instantiated as <span class="emphasis"><em>G4PrimaryParticle</em></span>
+objects using the P.D.G. particle code. It should be noted that,
+even though primary particles with such a very short life time are
+defined, Geant4 will simulate only the particles which are defined
+as <span class="emphasis"><em>G4ParticleDefinition</em></span> class objects. Other primary
+particles will be simply ignored by <span class="emphasis"><em>G4EventManager</em></span>. But it
+may still be useful to construct such "intermediate" particles for
+recording the origin of the primary event.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.StructPriEvt.ForcedDecay"></a>3.6.1.2. 
+Forced decay channel
+</h4></div></div></div><p>
+The <span class="emphasis"><em>G4PrimaryParticle</em></span> class object can have a list of its
+daughter particles. If the parent particle is an "intermediate"
+particle, which Geant4 does not have a corresponding
+<span class="emphasis"><em>G4ParticleDefinition</em></span>, this parent particle is ignored and
+daughters are assumed to start from the vertex with which their
+parent is associated. For example, a Z boson is associated with a
+vertex and it has positive and negative muons as its daughters,
+these muons will start from that vertex.
+</p><p>
+There are some kinds of particles which should fly some
+reasonable distances and, thus, should be simulated by Geant4, but
+you still want to follow the decay channel generated by an event
+generator. A typical case of these particles is B meson. Even for
+the case of a primary particle which has a corresponding
+<span class="emphasis"><em>G4ParticleDefinition</em></span>, it can have daughter primary
+particles. Geant4 will trace the parent particle until it comes to
+decay, obeying multiple scattering, ionization loss, rotation with
+the magnetic field, etc. according to its particle type. When the
+parent comes to decay, instead of randomly choosing its decay
+channel, it follows the "pre-assigned" decay channel. To conserve
+the energy and the momentum of the parent, daughters will be
+Lorentz transformed according to their parent's frame.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EventGen.InterPriGen"></a>3.6.2. 
+Interface to a primary generator
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.InterPriGen.HEPEvt"></a>3.6.2.1. 
+G4HEPEvtInterface
+</h4></div></div></div><p>
+Unfortunately, almost all event generators presently in use,
+commonly are written in FORTRAN. For Geant4, it was decided to not
+link with any FORTRAN program or library, even though the C++
+language syntax itself allows such a link. Linking to a FORTRAN
+package might be convenient in some cases, but we will lose many
+advantages of object-oriented features of C++, such as robustness.
+Instead, Geant4 provides an ASCII file interface for such event
+generators.
+</p><p>
+<span class="emphasis"><em>G4HEPEvtInterface</em></span> is one of <span class="emphasis"><em>G4VPrimaryGenerator</em></span>
+concrete class and thus it can be used in your
+<span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> concrete class.
+<span class="emphasis"><em>G4HEPEvtInterface</em></span> reads an ASCII file produced by an event
+generator and reproduces <span class="emphasis"><em>G4PrimaryParticle</em></span> objects
+associated with a <span class="emphasis"><em>G4PrimaryVertex</em></span> object. It reproduces a
+full production chain of the event generator, starting with primary
+quarks, etc. In other words, <span class="emphasis"><em>G4HEPEvtInterface</em></span> converts
+information stored in the <code class="literal">/HEPEVT/</code> common block to an
+object-oriented data structure. Because the <code class="literal">/HEPEVT/</code>
+common block is commonly used by almost all event generators
+written in FORTRAN, <span class="emphasis"><em>G4HEPEvtInterface</em></span> can interface to
+almost all event generators currently used in the HEP community.
+The constructor of <span class="emphasis"><em>G4HEPEvtInterface</em></span> takes the file name.
+<a href="ch03s06.html#programlist_EventGen_1" title="Example 3.3. 
+An example code for G4HEPEvtInterface
+">Example 3.3</a> shows an example how to use
+<span class="emphasis"><em>G4HEPEvtInterface</em></span>. Note that an event generator is not
+assumed to give a place of the primary particles, the interaction
+point must be set before invoking <span class="emphasis"><em>GeneratePrimaryVertex()</em></span>
+method.
+</p><div class="example"><a name="programlist_EventGen_1"></a><p class="title"><b>Example 3.3. 
+An example code for <span class="emphasis"><em>G4HEPEvtInterface</em></span>
+</b></p><div class="example-contents"><pre class="programlisting">
+#ifndef ExN04PrimaryGeneratorAction_h
+#define ExN04PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "globals.hh"
+
+class G4VPrimaryGenerator;
+class G4Event;
+
+class ExN04PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN04PrimaryGeneratorAction();
+    ~ExN04PrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event* anEvent);
+
+  private:
+    G4VPrimaryGenerator* HEPEvt;
+};
+
+#endif
+
+
+#include "ExN04PrimaryGeneratorAction.hh"
+
+#include "G4Event.hh"
+#include "G4HEPEvtInterface.hh"
+
+ExN04PrimaryGeneratorAction::ExN04PrimaryGeneratorAction()
+{
+  HEPEvt = new G4HEPEvtInterface("pythia_event.data");
+}
+
+ExN04PrimaryGeneratorAction::~ExN04PrimaryGeneratorAction()
+{
+  delete HEPEvt;
+}
+
+void ExN04PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  HEPEvt-&gt;SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
+  HEPEvt-&gt;GeneratePrimaryVertex(anEvent);
+}
+</pre></div></div><br class="example-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.InterPriGen.FormASCII"></a>3.6.2.2. 
+Format of the ASCII file
+</h4></div></div></div><p>
+An ASCII file, which will be fed by <span class="emphasis"><em>G4HEPEvtInterface</em></span>
+should have the following format.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The first line of each primary event should be an integer which
+    represents the number of the following lines of primary
+    particles.
+  </p></li><li><p>
+    Each line in an event corresponds to a particle in the
+    <code class="literal">/HEPEVT/</code> common. Each line has <code class="literal">ISTHEP, IDHEP,
+    JDAHEP(1), JDAHEP(2), PHEP(1), PHEP(2), PHEP(3), PHEP(5).</code>
+    Refer to the <code class="literal">/HEPEVT/</code> manual for the meanings of these
+    variables.
+  </p></li></ul></div><p>
+</p><p>
+<a href="ch03s06.html#programlist_EventGen_2" title="Example 3.4. 
+A FORTRAN example using the /HEPEVT/ common.
+">Example 3.4</a> shows an example FORTRAN code to 
+generate an ASCII file.
+</p><div class="example"><a name="programlist_EventGen_2"></a><p class="title"><b>Example 3.4. 
+A FORTRAN example using the <code class="literal">/HEPEVT/</code> common.
+</b></p><div class="example-contents"><pre class="programlisting">
+***********************************************************
+      SUBROUTINE HEP2G4
+*
+* Convert /HEPEVT/ event structure to an ASCII file
+* to be fed by G4HEPEvtInterface
+*
+***********************************************************
+      PARAMETER (NMXHEP=2000)
+      COMMON/HEPEVT/NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP),
+     &gt;JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),VHEP(4,NMXHEP)
+      DOUBLE PRECISION PHEP,VHEP
+*
+      WRITE(6,*) NHEP
+      DO IHEP=1,NHEP
+       WRITE(6,10) 
+     &gt;  ISTHEP(IHEP),IDHEP(IHEP),JDAHEP(1,IHEP),JDAHEP(2,IHEP),
+     &gt;  PHEP(1,IHEP),PHEP(2,IHEP),PHEP(3,IHEP),PHEP(5,IHEP)
+10     FORMAT(4I10,4(1X,D15.8))
+      ENDDO
+*
+      RETURN
+      END
+</pre></div></div><br class="example-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EventGen.InterPriGen.FutureInt"></a>3.6.2.3. 
+Future interface to the new generation generators
+</h4></div></div></div><p>
+Several activities have already been started for developing
+object-oriented event generators. Such new generators can be easily
+linked and used with a Geant4 based simulation. Furthermore, we
+need not distinguish a primary generator from the physics processes
+used in Geant4. Future generators can be a kind of physics process
+plugged-in by inheriting <span class="emphasis"><em>G4VProcess</em></span>.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EventGen.EvtOverlap"></a>3.6.3. 
+Event overlap using multiple generators
+</h3></div></div></div><p>
+Your <span class="emphasis"><em>G4VUserPrimaryGeneratorAction</em></span> concrete class can have
+more than one <span class="emphasis"><em>G4VPrimaryGenerator</em></span> concrete class. Each
+<span class="emphasis"><em>G4VPrimaryGenerator</em></span> concrete class can be accessed more than
+once per event. Using these class objects, one event can have more
+than one primary event.
+</p><p>
+One possible use is the following. Within an event, a
+<span class="emphasis"><em>G4HEPEvtInterface</em></span> class object instantiated with a minimum
+bias event file is accessed 20 times and another
+<span class="emphasis"><em>G4HEPEvtInterface</em></span> class object instantiated with a signal
+event file is accessed once. Thus, this event represents a typical
+signal event of LHC overlapping 20 minimum bias events. It should
+be noted that a simulation of event overlapping can be done by
+merging hits and/or digits associated with several events, and
+these events can be simulated independently. Digitization over
+multiple events will be mentioned in 
+<a href="ch04s05.html" title="4.5. 
+Digitization
+">Section 4.5</a>.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch03s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3.5. 
+Event
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 3.7. 
+Event Biasing Techniques
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch03s07.html	(revision 901)
@@ -0,0 +1,786 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3.7.  Event Biasing Techniques</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch03.html" title="Chapter 3.  Toolkit Fundamentals"><link rel="prev" href="ch03s06.html" title="3.6.  Event Generator Interface"><link rel="next" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3.7. 
+Event Biasing Techniques
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 3. 
+Toolkit Fundamentals
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.EvtBias"></a>3.7. 
+Event Biasing Techniques
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EvtBias.ScorImpRoul"></a>3.7.1. 
+Scoring, Geometrical Importance Sampling and Weight Roulette
+</h3></div></div></div><p>
+Geant4 provides event biasing techniques which may be used to save
+computing time in such applications as the simulation of radiation
+shielding. These are <span class="emphasis"><em>geometrical splitting
+</em></span> and <span class="emphasis"><em>Russian roulette</em></span> 
+(also called geometrical importance sampling), and
+<span class="emphasis"><em>weight roulette</em></span>. Scoring is carried out by <span class="emphasis"><em>G4MultiFunctionalDetector</em></span> (see <a href="ch04s04.html#sect.Hits.G4Multi" title="4.4.5. 
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+">Section 4.4.5</a> and <a href="ch04s04.html#sect.Hits.G4VPrim" title="4.4.6. 
+Concrete classes of G4VPrimitiveScorer
+">Section 4.4.6</a>) using the standard Geant4 scoring technique.
+Biasing specific scorers have been implemented and are described within
+<span class="emphasis"><em>G4MultiFunctionDetector</em></span> documentation. In this chapter, it is assumed that
+the reader is familiar with both the usage of Geant4 and the
+concepts of importance sampling. More detailed documentation may be
+found in the documents
+<a href="http://geant4.web.cern.ch/geant4/collaboration/working_groups/geometry/index.shtml" target="_top">
+'Latest development in importance sampling and scoring'
+</a>. 
+A detailed description of different use-cases which employ the sampling 
+and scoring techniques can be found in the document
+<a href="http://geant4.web.cern.ch/geant4/collaboration/working_groups/geometry/index.shtml" target="_top">
+'Scoring and geometrical importance sampling use cases'
+</a>.
+</p><p>
+The purpose of importance sampling is to save computing time by
+sampling less often the particle histories entering "less
+important" geometry regions, and more often in more "important"
+regions. Given the same amount of computing time, an
+importance-sampled and an analogue-sampled simulation must show
+equal mean values, while the importance-sampled simulation will
+have a decreased variance.
+</p><p>
+The implementation of scoring is independent of the implementation
+of importance sampling. However both share common concepts.
+<span class="emphasis"><em>Scoring and importance sampling apply to particle types chosen
+by the user</em></span>, which should be borne in mind when interpreting the
+output of any biased simulation.
+</p><p>
+Examples on how to use scoring and importance sampling may be found
+in <code class="literal">examples/extended/biasing</code> and
+<code class="literal">examples/advanced/Tiara</code>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.Geom"></a>3.7.1.1. 
+Geometries
+</h4></div></div></div><p>
+The kind of scoring referred to in this note and the importance
+sampling apply to spatial cells provided by the user.
+</p><p>
+A <span class="bold"><strong>cell</strong></span> is a physical volume (further specified 
+by it's replica number, if the volume is a replica). Cells may be defined
+in two kinds of geometries:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <span class="bold"><strong>mass geometry</strong></span>: the geometry setup of the 
+    experiment to be simulated. Physics processes apply to this geometry.
+  </p></li><li><p>
+    <span class="bold"><strong>parallel-geometry</strong></span>: a geometry constructed 
+    to define the physical volumes according to which scoring and/or importance
+    sampling is applied.
+  </p></li></ol></div><p>
+</p><p>
+The user has the choice to score and/or sample by importance the
+particles of the chosen type, according to mass geometry or to
+parallel geometry. It is possible to utilize several parallel
+geometries in addition to the mass geometry. This provides the user
+with a lot of flexibility to define separate geometries for
+different particle types in order to apply scoring or/and
+importance sampling.
+</p><p>
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
+  Parallel geometries should be constructed using the implementation as
+  described in <a href="ch04s07.html" title="4.7. 
+Parallel Geometries
+">Section 4.7</a>.
+
+  There are a few conditions for parallel geometries:
+
+  <div class="itemizedlist"><ul type="disc" compact><li><p>
+    The world volume for parallel and mass geometries must be identical copies.
+  </p></li><li><p>
+    Scoring and importance cells must not share boundaries with the world volume.
+  </p></li></ul></div></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.ChgSamp"></a>3.7.1.2. 
+Changing the Sampling
+</h4></div></div></div><p>
+Samplers are higher level tools which perform the necessary
+changes of the Geant4 sampling in order to apply importance
+sampling and weight roulette. 
+</p><p>
+Variance reduction (and scoring through the
+<span class="emphasis"><em>G4MultiFunctionalDetector</em></span>) 
+may be combined arbitrarily for chosen particle types and may be applied to the
+mass or to parallel geometries. 
+</p><p>
+The <code class="literal">G4GeometrySampler</code> can be applied equally to mass or
+parallel geometries with an abstract interface supplied by <code class="literal">G4VSampler</code>.
+<code class="literal">G4VSampler</code> provides
+<code class="literal">Prepare...</code> methods and a <code class="literal">Configure</code>
+method:
+
+<a name="anchor_EvtBias_G4VSampler"></a>
+</p><div class="informalexample"><pre class="programlisting">
+ class G4VSampler
+ {
+   public:  
+    G4VSampler();
+    virtual ~G4VSampler();
+    virtual void PrepareImportanceSampling(G4VIStore *istore,
+                                           const G4VImportanceAlgorithm 
+                                           *ialg = 0) = 0;
+    virtual void PrepareWeightRoulett(G4double wsurvive = 0.5,
+                                      G4double wlimit = 0.25,
+                                      G4double isource = 1) = 0;
+    virtual void PrepareWeightWindow(G4VWeightWindowStore *wwstore,
+                                     G4VWeightWindowAlgorithm *wwAlg = 0,
+                                     G4PlaceOfAction placeOfAction = 
+                                     onBoundary) = 0;
+    virtual void Configure() = 0;
+    virtual void ClearSampling() = 0;
+    virtual G4bool IsConfigured() const = 0;
+ };
+</pre></div><p>
+</p><p>
+The methods for setting up the desired combination need specific
+information:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Importance sampling: message <code class="literal">PrepareImportanceSampling</code>
+    with a 
+    <a href="ch03s07.html#anchor_EvtBias_G4VIStore">
+    <code class="literal">G4VIStore</code></a>
+    and optionally a <code class="literal">G4VImportanceAlgorithm</code>
+  </p></li><li><p>
+    Weight window: message <code class="literal">PrepareWeightWindow</code> with the
+    arguments:
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        <span class="emphasis"><em>*wwstore</em></span>: a 
+        <code class="literal">G4VWeightWindowStore</code> for retrieving the lower 
+        weight bounds for the energy-space cells
+      </p></li><li><p>
+        <span class="emphasis"><em>*wwAlg</em></span>: a
+        <code class="literal">G4VWeightWindowAlgorithm</code> if a customized algorithm 
+        should be used
+      </p></li><li><p>
+        <span class="emphasis"><em>placeOfAction</em></span>: a
+        <code class="literal">G4PlaceOfAction</code> specifying where to perform the
+        biasing
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Weight roulette: message <code class="literal">PrepareWeightRoulett</code> with the
+    optional parameters:
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        <span class="emphasis"><em>wsurvive</em></span>: survival weight
+      </p></li><li><p>
+        <span class="emphasis"><em>wlimit</em></span>: minimal allowed
+        value of weight * source importance / cell importance
+      </p></li><li><p>
+        <span class="emphasis"><em>isource</em></span>: importance of the source cell
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><p>
+Each object of a sampler class is responsible for one particle
+type. The particle type is given to the constructor of the sampler
+classes via the particle type name, e.g. "neutron". Depending on
+the specific purpose, the <code class="literal">Configure()</code> of a sampler will
+set up specialized processes (derived from <code class="literal">G4VProcess</code>) for
+transportation in the parallel geometry, importance
+sampling and weight roulette for the given particle type. When
+<code class="literal">Configure()</code> is invoked the sampler places the processes in
+the correct order independent of the order in which user invoked
+the <code class="literal">Prepare...</code> methods.
+</p><p>
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+  </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The <code class="literal">Prepare...()</code> functions may each only be invoked
+    once.
+  </p></li><li><p>
+    To configure the sampling the function <code class="literal">Configure()</code>
+    must be called <span class="emphasis"><em>after</em></span> the
+    <code class="literal">G4RunManager</code> has been initialized and the PhysicsList has
+    been instantiated.
+  </p></li></ul></div><p>
+  </p></div><p>
+</p><p>
+The interface and framework are demonstrated in the
+<code class="literal">examples/extended/biasing</code> directory, with the main changes being to the
+G4GeometrySampler class and the fact that in the parallel case the WorldVolume
+is a copy of the Mass World.
+
+The parallel geometry now has to inherit from
+<span class="emphasis"><em>G4VUserParallelWorld</em></span> which also has the <span class="emphasis"><em>GetWorld()</em></span> method
+in order to retrieve a copy of the mass geometry WorldVolume.
+
+</p><div class="informalexample"><pre class="programlisting">
+  class B02ImportanceDetectorConstruction : public G4VUserParallelWorld
+  ghostWorld = GetWorld();
+</pre></div><p>
+
+</p><p>
+The constructor for <span class="emphasis"><em>G4GeometrySampler</em></span> takes a pointer to
+the physical world volume and the particle type name (e.g. "neutron") as arguments. 
+In a single mass geometry the sampler is created as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4GeometrySampler mgs(detector-&gt;GetWorldVolume(),"neutron");
+  mgs.SetParallel(false);
+</pre></div><p>
+
+
+Whilst the following lines of code are required in order to set up the sampler for the
+parallel geometry case:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4VPhysicalVolume* ghostWorld = pdet-&gt;GetWorldVolume();
+
+  G4GeometrySampler pgs(ghostWorld,"neutron");
+
+  pgs.SetParallel(true);
+</pre></div><p>
+
+
+Also note that the preparation and configuration of the samplers has to be
+carried out <span class="emphasis"><em>after</em></span> the instantiation of the UserPhysicsList
+and after the initialisation of the <span class="emphasis"><em>G4RunManager</em></span>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  pgs.PrepareImportanceSampling(&amp;aIstore, 0);
+  pgs.Configure();
+</pre></div><p>
+
+Due to the fact that biasing is a process and has to be inserted after all the
+other processes have been created.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.ImpSamp"></a>3.7.1.3. 
+Importance Sampling
+</h4></div></div></div><p>
+Importance sampling acts on particles crossing boundaries
+between "importance cells". The action taken depends on the
+importance values assigned to the cells. In general a particle
+history is either split or Russian roulette is played if the
+importance increases or decreases, respectively. A weight assigned
+to the history is changed according to the action taken.
+</p><p>
+The tools provided for importance sampling require the user to
+have a good understanding of the physics in the problem. This is
+because the user has to decide which particle types require
+importance sampled, define the cells, and assign importance values
+to the cells. If this is not done properly the results cannot be
+expected to describe a real experiment.
+</p><p>
+The assignment of importance values to a cell is done using an
+importance store described below.
+</p><p>
+An "importance store" with the interface <code class="literal">G4VIStore</code> is
+used to store importance values related to cells. In order to do
+importance sampling the user has to create an object (e.g. of class
+<code class="literal">G4IStore</code>) of type <code class="literal">G4VIStore</code>. The samplers may be
+given a <code class="literal">G4VIStore</code>. The user fills the store with cells and
+their importance values.
+</p><p>
+An importance store has to be constructed with a reference to
+the world volume of the geometry used for importance sampling. This
+may be the world volume of the mass or of a parallel geometry.
+Importance stores derive from the interface <code class="literal">G4VIStore</code>:
+
+<a name="anchor_EvtBias_G4VIStore"></a>
+</p><div class="informalexample"><pre class="programlisting">
+ class  G4VIStore
+ {
+   public: 
+     G4VIStore();
+     virtual  ~G4VIStore();
+     virtual G4double GetImportance(const G4GeometryCell &amp;gCell) const = 0;
+     virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const = 0;
+     virtual const G4VPhysicalVolume &amp;GetWorldVolume() const = 0;
+ };
+</pre></div><p>
+</p><p>
+A concrete implementation of an importance store is provided by
+the class <code class="literal">G4VStore</code>. The <span class="emphasis"><em>public</em></span>
+part of the class is:
+
+</p><div class="informalexample"><pre class="programlisting">
+ class G4IStore : public G4VIStore
+ {
+   public:
+     explicit G4IStore(const G4VPhysicalVolume &amp;worldvolume);
+     virtual ~G4IStore();
+     virtual G4double GetImportance(const G4GeometryCell &amp;gCell) const;
+     virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const;
+     virtual const G4VPhysicalVolume &amp;GetWorldVolume() const;
+     void AddImportanceGeometryCell(G4double importance,
+                              const G4GeometryCell &amp;gCell);
+     void AddImportanceGeometryCell(G4double importance,
+                              const G4VPhysicalVolume &amp;,
+                                    G4int aRepNum = 0);
+     void ChangeImportance(G4double importance,
+                           const G4GeometryCell &amp;gCell);
+     void ChangeImportance(G4double importance,
+                           const G4VPhysicalVolume &amp;,
+                                 G4int aRepNum = 0);
+     G4double GetImportance(const G4VPhysicalVolume &amp;,
+                                  G4int aRepNum = 0) const ;
+   private: .....
+ };
+</pre></div><p>
+</p><p>
+The member function <code class="literal">AddImportanceGeometryCell()</code> enters
+a cell and an importance value into the importance store. The
+importance values may be returned either according to a physical
+volume and a replica number or according to a
+<code class="literal">G4GeometryCell</code>. The user must be aware of the
+interpretation of assigning importance values to a cell.
+If scoring is also implemented then this is attached to logical volumes, in
+which case the physical volume and replica number method should be used for
+assigning importance values. See <code class="literal">examples/extended/biasing
+B01</code> and <code class="literal">B02</code> for examples of this.
+</p><p>
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+  </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    An importance value must be assigned to every cell.
+  </p></li></ul></div><p>
+  </p></div><p>
+</p><p>
+The different cases:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>Cell is not in store</em></span>
+    </p><p>
+    Not filling a certain cell in the store will cause an
+    exception.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>Importance value = zero</em></span>
+    </p><p>
+    Tracks of the chosen particle type will be killed.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>importance values &gt; 0</em></span>
+    </p><p>
+    Normal allowed values
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>Importance value smaller zero</em></span>
+    </p><p>
+    Not allowed!
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.SampAlgor"></a>3.7.1.4. 
+The Importance Sampling Algorithm
+</h4></div></div></div><p>
+Importance sampling supports using a customized importance
+sampling algorithm. To this end, the sampler interface 
+<a href="ch03s07.html#anchor_EvtBias_G4VSampler">
+<code class="literal">G4VSampler</code></a>
+may be given a pointer to the interface 
+<code class="literal">G4VImportanceAlgorithm</code>:
+
+</p><div class="informalexample"><pre class="programlisting">      
+ class G4VImportanceAlgorithm
+ {
+   public:  
+     G4VImportanceAlgorithm();
+     virtual ~G4VImportanceAlgorithm();
+     virtual G4Nsplit_Weight Calculate(G4double ipre,
+                                       G4double ipost,
+                                       G4double init_w) const = 0;
+ };
+</pre></div><p>      
+</p><p>
+The method <code class="literal">Calculate()</code> takes the arguments:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>ipre, ipost</em></span>: importance
+    of the previous cell and the importance of the current cell,
+    respectively.
+  </p></li><li><p>
+    <span class="emphasis"><em>init_w</em></span>: the particles weight
+  </p></li></ul></div><p>
+</p><p>
+It returns the struct:
+
+</p><div class="informalexample"><pre class="programlisting">      
+ class G4Nsplit_Weight
+ {
+   public:
+
+   G4int fN;
+   G4double fW;
+ };
+</pre></div><p>      
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>fN</em></span>: the calculated
+    number of particles to exit the importance sampling
+  </p></li><li><p>
+    <span class="emphasis"><em>fW</em></span>: the weight of the particles
+  </p></li></ul></div><p>
+</p><p>
+The user may have a customized algorithm used by providing a
+class inheriting from <code class="literal">G4VImportanceAlgorithm</code>.
+</p><p>
+If no customized algorithm is given to the sampler the default
+importance sampling algorithm is used. This algorithm is
+implemented in <code class="literal">G4ImportanceAlgorithm</code>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.WeightWin"></a>3.7.1.5. 
+The Weight Window Technique
+</h4></div></div></div><p>
+The weight window technique is a weight-based alternative to
+importance sampling:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    applies splitting and Russian roulette depending on space
+    (cells) and energy
+  </p></li><li><p>
+    user defines weight windows in contrast to defining importance
+    values as in importance sampling
+  </p></li></ul></div><p>
+</p><p>
+In contrast to importance sampling this technique is not weight
+blind. Instead the technique is applied according to the particle
+weight with respect to the current energy-space cell.
+</p><p>
+Therefore the technique is convenient to apply in combination
+with other variance reduction techniques such as cross-section
+biasing and implicit capture.
+</p><p>
+A weight window may be specified for every cell and for several
+energy regions: <span class="emphasis"><em>space-energy cell</em></span>.
+
+</p><div class="figure"><a name="fig.EvtBias.WeightWindow"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Fundamentals/wwconcept.gif" align="middle" alt="Weight window concept"></div></div><p class="title"><b>Figure 3.2. 
+  Weight window concept
+</b></p></div><p><br class="figure-break">
+</p><h5><a name="id374547"></a>
+Weight window concept
+</h5><p>
+  The user specifies a <span class="emphasis"><em>lower weight bound W_L</em></span> 
+  for every space-energy cell.
+
+  </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+      The upper weight bound W_U and the survival weight W_S are
+      calculated as:
+      </p><p>
+      W_U = C_U <span class="emphasis"><em>W_L</em></span> and
+      </p><p>
+      </p><p>
+      W_S = C_S <span class="emphasis"><em>W_L</em></span>.
+      </p><p>
+    </p></li><li><p>
+      The user specifies C_S and C_U once for the whole problem.
+    </p></li><li><p>
+      The user may give different sets of energy bounds for every cell
+      or one set for all geometrical cells
+    </p></li><li><p>
+      Special case: if C_S = C_U = 1 for all energies then weight
+      window is equivalent to importance sampling
+    </p></li><li><p>
+      The user can choose to apply the technique: at boundaries, on
+      collisions or on boundaries and collisions
+    </p></li></ul></div><p>
+</p><p>
+The energy-space cells are realized by <code class="literal">G4GeometryCell</code>
+as in importance sampling. The cells are stored in a weight window
+store defined by <code class="literal">G4VWeightWindowStore</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+ class  G4VWeightWindowStore {
+  public:  
+    G4VWeightWindowStore();
+    virtual  ~G4VWeightWindowStore();
+    virtual G4double GetLowerWeitgh(const G4GeometryCell &amp;gCell, 
+                                  G4double partEnergy) const = 0;
+    virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const = 0;
+    virtual const G4VPhysicalVolume &amp;GetWorldVolume() const = 0;
+ };
+</pre></div><p>
+</p><p>
+A concrete implementation is provided:
+
+</p><div class="informalexample"><pre class="programlisting">
+  class G4WeightWindowStore: public G4VWeightWindowStore {
+   public:  
+     explicit G4WeightWindowStore(const G4VPhysicalVolume &amp;worldvolume);
+     virtual ~G4WeightWindowStore();
+     virtual G4double GetLowerWeitgh(const G4GeometryCell &amp;gCell, 
+                                     G4double partEnergy) const;
+     virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const;
+     virtual const G4VPhysicalVolume &amp;GetWorldVolume() const;
+     void AddLowerWeights(const G4GeometryCell &amp;gCell,
+                          const std::vector&lt;G4double&gt; &amp;lowerWeights);
+     void AddUpperEboundLowerWeightPairs(const G4GeometryCell &amp;gCell,
+                                         const G4UpperEnergyToLowerWeightMap&amp;
+                                         enWeMap);
+     void SetGeneralUpperEnergyBounds(const 
+         std::set&lt;G4double, std::less&lt;G4double&gt; &gt; &amp; enBounds);
+  
+   private::
+   ...  
+  };
+</pre></div><p>
+</p><p>
+The user may choose equal energy bounds for all cells. In this
+case a set of upper energy bounds must be given to the store using
+the method <code class="literal">SetGeneralUpperEnergyBounds</code>. If a general set
+of energy bounds have been set <code class="literal">AddLowerWeights</code> can be used
+to add the cells.
+</p><p>
+Alternatively, the user may chose different energy regions for
+different cells. In this case the user must provide a mapping of
+upper energy bounds to lower weight bounds for every cell using the
+method <code class="literal">AddUpperEboundLowerWeightPairs</code>.
+</p><p>
+Weight window algorithms implementing the interface class
+<code class="literal">G4VWeightWindowAlgorithm</code> can be used to define a
+customized algorithm:
+
+</p><div class="informalexample"><pre class="programlisting">
+ class G4VWeightWindowAlgorithm {
+  public:  
+    G4VWeightWindowAlgorithm();
+    virtual ~G4VWeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+                                      G4double lowerWeightBound) const = 0;
+ };
+</pre></div><p>
+</p><p>
+A concrete implementation is provided and used as a default:
+
+</p><div class="informalexample"><pre class="programlisting">
+ class G4WeightWindowAlgorithm : public G4VWeightWindowAlgorithm {
+  public:  
+    G4WeightWindowAlgorithm(G4double upperLimitFaktor = 5,
+                            G4double survivalFaktor = 3,
+                            G4int maxNumberOfSplits = 5);
+    virtual ~G4WeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+                                      G4double lowerWeightBound) const;
+  private:
+   ...
+};
+</pre></div><p>
+</p><p>
+The constructor takes three parameters which are used to:
+calculate the upper weight bound (upperLimitFaktor), calculate the
+survival weight (survivalFaktor), and introduce a maximal number
+(maxNumberOfSplits) of copies to be created in one go.
+</p><p>
+In addition, the inverse of the maxNumberOfSplits is used to
+specify the minimum survival probability in case of Russian
+roulette.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.ScorImpRoul.WeigRoul"></a>3.7.1.6. 
+The Weight Roulette Technique
+</h4></div></div></div><p>
+Weight roulette (also called weight cutoff) is usually applied
+if importance sampling and implicit capture are used together.
+Implicit capture is not described here but it is useful to note
+that this procedure reduces a particle weight in every collision
+instead of killing the particle with some probability.
+</p><p>
+Together with importance sampling the weight of a particle may
+become so low that it does not change any result significantly.
+Hence tracking a very low weight particle is a waste of computing
+time. Weight roulette is applied in order to solve this
+problem.
+</p><h5><a name="id374768"></a>
+The weight roulette concept
+</h5><p>
+Weight roulette takes into account the importance "Ic" of the
+current cell and the importance "Is" of the cell in which the
+source is located, by using the ratio "R=Is/Ic".
+</p><p>
+Weight roulette uses a relative minimal weight limit and a
+relative survival weight. When a particle falls below the weight
+limit Russian roulette is applied. If the particle survives,
+tracking will be continued and the particle weight will be set to
+the survival weight.
+</p><p>
+The weight roulette uses the following parameters with their
+default values:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>wsurvival</em></span>: 0.5
+  </p></li><li><p>
+    <span class="emphasis"><em>wlimit</em></span>: 0.25
+  </p></li><li><p>
+    <span class="emphasis"><em>isource</em></span>: 1
+  </p></li></ul></div><p>
+</p><p>
+The following algorithm is applied:
+</p><p>
+If a particle weight "w" is lower than R*wlimit:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the weight of the particle will be changed to "ws = wsurvival*R"
+  </p></li><li><p>
+    the probability for the particle to survive is "p = w/ws"
+  </p></li></ul></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EvtBias.PhysBias"></a>3.7.2. 
+Physics Based Biasing
+</h3></div></div></div><p>
+Geant4 supports physics based biasing through a number of general
+use, built in biasing techniques. A utility class,
+G4WrapperProcess, is also available to support user defined
+biasing.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt"></a>3.7.2.1. 
+Built in Biasing Options
+</h4></div></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.PrimPart"></a>3.7.2.1.1. 
+Primary Particle Biasing
+</h5></div></div></div><p>
+Primary particle biasing can be used to increase the number of
+primary particles generated in a particular phase space region of
+interest. The weight of the primary particle is modified as
+appropriate. A general implementation is provided through the
+G4GeneralParticleSource class. It is possible to bias position,
+angular and energy distributions.
+</p><p>
+G4GeneralParticleSource is a concrete implementation of
+G4VPrimaryGenerator. To use, instantiate G4GeneralParticleSource in
+the G4VUserPrimaryGeneratorAction class, as demonstrated below.
+
+</p><div class="informalexample"><pre class="programlisting">
+   MyPrimaryGeneratorAction::MyPrimaryGeneratorAction() { 
+      generator = new G4GeneralParticleSource; 
+   } 
+
+   void 
+   MyPrimaryGeneratorAction::GeneratePrimaries(G4Event*anEvent){ 
+      generator-&gt;GeneratePrimaryVertex(anEvent); 
+   }
+</pre></div><p>
+</p><p>
+The biasing can be configured through interactive commands.
+Extensive documentation can be found in 
+<a href="http://reat.space.qinetiq.com/gps/" target="_top">
+Primary particle biasing</a>.  Examples are also distributed
+with the Geant4 distribution in
+<span class="bold"><strong>examples/extended/eventgenerator/exgps</strong></span>.
+</p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.RadDcy"></a>3.7.2.1.2. 
+Radioactive Decay Biasing
+</h5></div></div></div><p>
+The G4RadioactiveDecay class simulates the decay of radioactive
+nuclei and implements the following biasing options:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Increase the sampling rate of radionuclides within observation
+    times through a user defined probability distribution function
+  </p></li><li><p>
+    Nuclear splitting, where the parent nuclide is split into a
+    user defined number of nuclides
+  </p></li><li><p>
+    Branching ratio biasing where branching ratios are sampled with
+    equal probability
+  </p></li></ul></div><p>
+</p><p>
+G4RadioactiveDecay is a process which must be registered with a
+process manager, as demonstrated below.
+
+</p><div class="informalexample"><pre class="programlisting">
+   void MyPhysicsList::ConstructProcess() 
+   { 
+      ... 
+      G4RadioactiveDecay* theRadioactiveDecay = 
+         new  G4RadioactiveDecay(); 
+
+      G4ProcessManager* pmanager = ... 
+      pmanager -&gt;AddProcess(theRadioactiveDecay); 
+      ... 
+   }
+</pre></div><p>
+</p><p>
+The biasing can be controlled either in compiled code or through
+interactive commands. Extensive documentation can be found in
+
+<a href="http://reat.space.qinetiq.com/septimess/exrdm/" target="_top">
+Radioactive decay biasing example
+</a>
+ and 
+<a href="http://www.space.qinetiq.com/geant4/rdm.html" target="_top">
+Radioactive decay biasing
+</a>. 
+</p><p>
+Radioactive decay biasing examples are also distributed with the Geant4
+distribution in
+<span class="bold"><strong>examples/extended/radioactivedecay/exrdm</strong></span>.
+</p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.HadLeadPar"></a>3.7.2.1.3. 
+Hadronic Leading Particle Biasing
+</h5></div></div></div><p>
+One hadronic leading particle biasing technique is
+implemented in the G4HadLeadBias utility. This method keeps only
+the most important part of the event, as well as representative
+tracks of each given particle type. So the track with the highest
+energy as well as one of each of Baryon, pi0, mesons and leptons.
+As usual, appropriate weights are assigned to the particles.
+Setting the <span class="bold"><strong>SwitchLeadBiasOn</strong></span> 
+environmental variable will activate this utility.
+</p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.EvtBias.PhysBias.BuiltInOpt.HadCrsSect"></a>3.7.2.1.4. 
+Hadronic Cross Section Biasing
+</h5></div></div></div><p>
+Cross section biasing artificially enhances/reduces the cross
+section of a process. This may be useful for studying thin layer
+interactions or thick layer shielding. The built in hadronic cross
+section biasing applies to photon inelastic, electron nuclear and
+positron nuclear processes.
+</p><p>
+The biasing is controlled through the
+<span class="bold"><strong>BiasCrossSectionByFactor</strong></span> method 
+in G4HadronicProcess, as demonstrated below. 
+
+</p><div class="informalexample"><pre class="programlisting">
+   void MyPhysicsList::ConstructProcess() 
+   { 
+      ... 
+      G4ElectroNuclearReaction * theElectroReaction = 
+         new G4ElectroNuclearReaction; 
+
+      G4ElectronNuclearProcess theElectronNuclearProcess;    
+      theElectronNuclearProcess.RegisterMe(theElectroReaction); 
+      theElectronNuclearProcess.BiasCrossSectionByFactor(100);
+  
+      pManager-&gt;AddDiscreteProcess(&amp;theElectronNuclearProcess); 
+      ...  
+   }
+</pre></div><p>
+</p><p>
+More details can be found in 
+<a href="http://www.triumf.ca/geant4-03/talks/03-Wednesday-AM-1/03-J.Wellisch/biasing.hadronics.pdf" target="_top">
+Hadronic cross section biasing
+</a>.
+</p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EvtBias.PhysBias."></a>3.7.2.2. 
+G4WrapperProcess
+</h4></div></div></div><p>
+G4WrapperProcess can be used to implement user defined event
+biasing. G4WrapperProcess, which is a process itself, wraps an
+existing process. By default, all function calls are forwared to
+the wrapped process. It is a non-invasive way to modify the
+behaviour of an existing process.
+</p><p>
+To use this utility, first create a derived class inheriting
+from G4WrapperProcess. Override the methods whose behaviour you
+would like to modify, for example, PostStepDoIt, and register the
+derived class in place of the process to be wrapped. Finally,
+register the wrapped process with G4WrapperProcess. The code
+snippets below demonstrate its use.
+
+</p><div class="informalexample"><pre class="programlisting">
+   class MyWrapperProcess  : public G4WrapperProcess { 
+   ... 
+    G4VParticleChange* PostStepDoIt(const G4Track&amp; track, 
+                                    const G4Step&amp; step) { 
+       // Do something interesting 
+    } 
+   }; 
+
+
+   void MyPhysicsList::ConstructProcess() 
+   { 
+   ... 
+      G4LowEnergyBremsstrahlung* bremProcess = 
+         new G4LowEnergyBremsstrahlung(); 
+
+      MyWrapperProcess* wrapper = new MyWrapperProcess(); 
+      wrapper-&gt;RegisterProcess(bremProcess); 
+
+      processManager-&gt;AddProcess(wrapper, -1, -1, 3); 
+   } 
+</pre></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3.6. 
+Event Generator Interface
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 4. 
+Detector Definition and Response
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04.html	(revision 901)
@@ -0,0 +1,4631 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 4.  Detector Definition and Response</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch03s07.html" title="3.7.  Event Biasing Techniques"><link rel="next" href="ch04s02.html" title="4.2.  Material"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. 
+Detector Definition and Response
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.DetectorDefRespond"></a>Chapter 4. 
+Detector Definition and Response
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Geom"></a>4.1. 
+Geometry
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Intro"></a>4.1.1. 
+Introduction
+</h3></div></div></div><p>
+The detector definition requires the representation of its
+geometrical elements, their materials and electronics properties,
+together with visualization attributes and user defined properties.
+The geometrical representation of detector elements focuses on the
+definition of solid models and their spatial position, as well as
+their logical relations to one another, such as in the case of
+containment.
+</p><p>
+Geant4 uses the concept of "Logical Volume" to manage the
+representation of detector element properties. The concept of
+"Physical Volume" is used to manage the representation of the
+spatial positioning of detector elements and their logical
+relations. The concept of "Solid" is used to manage the
+representation of the detector element solid modeling.
+Volumes and solids must be dynamically allocated in the user
+program; objects allocated are automatically registered in
+dedicated stores which also take care to free the memory at
+the end of a job.
+</p><p>
+The Geant4 solid modeler is STEP compliant. STEP is the ISO
+standard defining the protocol for exchanging geometrical data
+between CAD systems. This is achieved by standardizing the
+representation of solid models via the EXPRESS object definition
+language, which is part of the STEP ISO standard.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Solids"></a>4.1.2. 
+Solids
+</h3></div></div></div><p>
+The STEP standard supports multiple solid representations.
+Constructive Solid Geometry (CSG) representations and Boundary
+Represented Solids (BREPs) are available. Different representations
+are suitable for different purposes, applications, required
+complexity, and levels of detail. CSG representations are easy to
+use and normally give superior performance, but they cannot
+reproduce complex solids such as those used in CAD systems. BREP
+representations can handle more extended topologies and reproduce
+the most complex solids.
+</p><p>
+All constructed solids can stream out their contents via
+appropriate methods and streaming operators.
+</p><p>
+For all solids it is possible to estimate the geometrical volume and the
+surface area by invoking the methods:
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4double GetCubicVolume()
+   G4double GetSurfaceArea()
+</pre></div><p>
+
+which return an estimate of the solid volume and total area in internal
+units respectively. For elementary solids the functions compute the exact
+geometrical quantities, while for composite or complex solids an estimate
+is made using Monte Carlo techniques.
+</p><p>
+For all solids it is also possible to generate pseudo-random
+points lying on their surfaces, by invoking the method
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4ThreeVector GetPointOnSurface() const
+</pre></div><p>
+
+which returns the generated point in local coordinates relative to
+the solid.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Solids.CSG"></a>4.1.2.1. 
+Constructed Solid Geometry (CSG) Solids
+</h4></div></div></div><p>
+CSG solids are defined directly as three-dimensional primitives.
+They are described by a minimal set of parameters necessary to
+define the shape and size of the solid. CSG solids are Boxes, Tubes
+and their sections, Cones and their sections, Spheres, Wedges, and
+Toruses.
+</p><h5><a name="id383938"></a>
+Box:
+</h5><p>  
+To create a <span class="bold"><strong>box</strong></span> one can use the constructor:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">
+   G4Box(const G4String&amp; pName,                         
+               G4double  pX,
+               G4double  pY,
+               G4double  pZ)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aBox.jpg"></div>
+
+    <a href="javascript:remote_win('pic1.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pX = 30, pY = 40, pZ = 60                                                       
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+by giving the box a name and its half-lengths along the X, Y and
+Z axis:
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pX</code>
+  </td><td>
+    half length in X
+  </td><td>
+    <code class="literal">pY</code>
+  </td><td>
+    half length in Y
+  </td><td>
+    <code class="literal">pZ</code>
+  </td><td>
+    half length in Z
+  </td></tr></tbody></table></div><p>
+</p><p>
+This will create a box that extends from <code class="literal">-pX</code> to
+<code class="literal">+pX</code> in X, from <code class="literal">-pY</code> to 
+<code class="literal">+pY</code> in Y, and from
+<code class="literal">-pZ</code> to <code class="literal">+pZ</code> in Z.
+</p><p>
+For example to create a box that is 2 by 6 by 10 centimeters in
+full length, and called <code class="literal">BoxA</code> one should use the following
+code:
+</p><div class="informalexample"><pre class="programlisting">  
+   G4Box* aBox = new G4Box("BoxA", 1.0*cm, 3.0*cm, 5.0*cm);
+</pre></div><p>
+</p><h5><a name="id384169"></a>
+Cylindrical Section or Tube:
+</h5><p>  
+Similarly to create a <span class="bold"><strong>cylindrical section</strong></span> 
+or <span class="bold"><strong>tube</strong></span>, one would use the constructor:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Tubs(const G4String&amp; pName,                        
+                G4double  pRMin,
+                G4double  pRMax,
+                G4double  pDz,
+                G4double  pSPhi,
+                G4double  pDPhi)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTubs.jpg"></div>
+
+    <a href="javascript:remote_win('pic2.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pRMin = 10, pRMax = 15, pDz = 20
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+giving its name <code class="literal">pName</code> and its parameters which are:
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pRMin</code>
+  </td><td>
+    Inner radius
+  </td><td>
+    <code class="literal">pRMax</code>
+  </td><td>
+    Outer radius
+  </td></tr><tr><td>
+    <code class="literal">pDz</code>
+  </td><td>
+    half length in z
+  </td><td>
+    <code class="literal">pSPhi</code>
+  </td><td>
+    the starting phi angle in radians
+  </td></tr><tr><td>
+    <code class="literal">pDPhi</code>
+  </td><td>
+    the angle of the segment in radians
+  </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div><p>
+</p><h5><a name="id384385"></a>
+Cone or Conical section:
+</h5><p>  
+Similarly to create a <span class="bold"><strong>cone</strong></span>, or
+<span class="bold"><strong>conical section</strong></span>, one would use the constructor
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Cons(const G4String&amp; pName,                        
+                G4double  pRmin1,
+                G4double  pRmax1,
+                G4double  pRmin2,
+                G4double  pRmax2,
+                G4double  pDz,
+                G4double  pSPhi,
+                G4double  pDPhi)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aCons.jpg"></div>
+
+    <a href="javascript:remote_win('pic3.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pRmin1 = 5, pRmax1 = 10,
+    pRmin2 = 20, pRmax2 = 25,
+    pDz = 40, pSPhi = 0, pDPhi = 4/3*Pi
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+giving its name <code class="literal">pName</code>, and its parameters which are:
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pRmin1</code>
+  </td><td>
+    inside radius at <code class="literal">-pDz</code>
+  </td><td>
+    <code class="literal">pRmax1</code>
+  </td><td>
+    outside radius at <code class="literal">-pDz</code>
+  </td></tr><tr><td>
+    <code class="literal">pRmin2</code>
+  </td><td>
+    inside radius at <code class="literal">+pDz</code>
+  </td><td>
+    <code class="literal">pRmax2</code>
+  </td><td>
+    outside radius at <code class="literal">+pDz</code>
+  </td></tr><tr><td>
+    <code class="literal">pDz</code>
+  </td><td>
+    half length in z
+  </td><td>
+    <code class="literal">pSPhi</code>
+  </td><td>
+    starting angle of the segment in radians
+  </td></tr><tr><td>
+    <code class="literal">pDPhi</code>
+  </td><td>
+    the angle of the segment in radians
+  </td><td class="auto-generated"> </td><td class="auto-generated"> </td></tr></tbody></table></div><p>
+</p><h5><a name="id384653"></a>
+Parallelepiped:
+</h5><p>  
+A <span class="bold"><strong>parallelepiped</strong></span> is constructed
+using:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Para(const G4String&amp; pName,                                  
+                G4double   dx,
+                G4double   dy,
+                G4double   dz,
+                G4double   alpha,
+                G4double   theta,
+                G4double   phi)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aPara.jpg"></div>
+
+    <a href="javascript:remote_win('pic4.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    dx = 30, dy = 40, dz = 60
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+giving its name <code class="literal">pName</code> and its parameters which are:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">dx,dy,dz</code>    
+  </td><td>
+    Half-length in x,y,z
+  </td></tr><tr><td>
+    <code class="literal">alpha</code>
+  </td><td>
+    Angle formed by the y axis and by the plane joining the centre
+    of the faces <span class="emphasis"><em>parallel</em></span> to the z-x plane at -dy and +dy
+  </td></tr><tr><td>
+    <code class="literal">theta</code>
+  </td><td>
+    Polar angle of the line joining the centres of the faces at -dz
+    and +dz in z
+  </td></tr><tr><td>
+    <code class="literal">phi</code>
+  </td><td>
+    Azimuthal angle of the line joining the centres of the faces at
+    -dz and +dz in z
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id384860"></a>
+Trapezoid:
+</h5><p>  
+To construct a <span class="bold"><strong>trapezoid</strong></span> use:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Trd(const G4String&amp; pName,                            
+               G4double  dx1,
+               G4double  dx2,
+               G4double  dy1,
+               G4double  dy2,
+               G4double  dz)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTrd.jpg"></div>
+
+    <a href="javascript:remote_win('pic5.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    dx1 = 30, dx2 = 10, 
+    dy1 = 40, dy2 = 15, 
+    dz = 60
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+to obtain a solid with name <code class="literal">pName</code> and parameters
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">dx1</code>
+  </td><td>
+    Half-length along x at the surface positioned at <code class="literal">-dz</code>
+  </td></tr><tr><td>
+    <code class="literal">dx2</code>
+  </td><td>
+    &gt;Half-length along x at the surface positioned at <code class="literal">+dz</code>
+  </td></tr><tr><td>
+    <code class="literal">dy1</code>
+  </td><td>
+    Half-length along y at the surface positioned at <code class="literal">-dz</code>
+  </td></tr><tr><td>
+    <code class="literal">dy2</code>
+  </td><td>
+    &gt;Half-length along y at the surface positioned at <code class="literal">+dz</code>
+  </td></tr><tr><td>
+    <code class="literal">dz</code>
+  </td><td>
+    Half-length along z axis
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id385097"></a>
+Generic Trapezoid:
+</h5><p>  
+To build a <span class="bold"><strong>generic trapezoid</strong></span>,
+the <code class="literal">G4Trap</code> class is provided. Here are the two costructors
+for a Right Angular Wedge and for the general trapezoid for it:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+ G4Trap(const G4String&amp; pName,                        
+              G4double   pZ,
+              G4double   pY,
+              G4double   pX,
+              G4double   pLTX)
+
+ G4Trap(const G4String&amp; pName,                         
+              G4double   pDz,   G4double   pTheta,
+              G4double   pPhi,  G4double   pDy1,
+              G4double   pDx1,  G4double   pDx2,
+              G4double   pAlp1, G4double   pDy2,
+              G4double   pDx3,  G4double   pDx4,
+              G4double   pAlp2)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTrap.jpg"></div>
+
+    <a href="javascript:remote_win('pic6.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pDx1 = 30, pDx2 = 40, pDy1 = 40,
+    pDx3 = 10, pDx4 = 14, pDy2 = 16,
+    pDz = 60, pTheta = 20*Degree,
+    pPhi = 5*Degree, pAlp1 = pAlp2 = 10*Degree
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+to obtain a Right Angular Wedge with name <code class="literal">pName</code> and
+parameters:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pZ</code>
+  </td><td>
+    Length along z
+  </td></tr><tr><td>
+    <code class="literal">pY</code>
+  </td><td>
+    Length along y
+  </td></tr><tr><td>
+    <code class="literal">pX</code>
+  </td><td>
+    Length along x at the wider side
+  </td></tr><tr><td>
+    <code class="literal">pLTX</code>
+  </td><td>
+    Length along x at the narrower side (<code class="literal">plTX&lt;=pX</code>)
+  </td></tr></tbody></table></div><p>
+</p><p>
+or to obtain the general trapezoid (see the Software Reference
+Manual):
+</p><p>
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+   <code class="literal">pDx1</code> 
+  </td><td>
+    Half x length of the side at y=-pDy1 of the face at -pDz
+  </td></tr><tr><td>
+    <code class="literal">pDx2</code>
+  </td><td>
+    Half x length of the side at y=+pDy1 of the face at -pDz
+  </td></tr><tr><td>
+    <code class="literal">pDz</code>
+  </td><td>
+    Half z length
+  </td></tr><tr><td>
+    <code class="literal">pTheta</code>
+  </td><td>
+    Polar angle of the line joining the centres of the faces at -/+pDz
+  </td></tr><tr><td>
+    <code class="literal">pPhi</code>
+  </td><td>
+    Azimuthal angle of the line joining the centre of the face at -pDz to the centre of the face at +pDz
+  </td></tr><tr><td>
+    <code class="literal">pDy1</code>
+  </td><td>
+    Half y length at -pDz
+  </td></tr><tr><td>
+    <code class="literal">pDy2</code>
+  </td><td>
+    Half y length at +pDz
+  </td></tr><tr><td>
+    <code class="literal">pDx3</code>
+  </td><td>
+    Half x length of the side at y=-pDy2 of the face at +pDz
+  </td></tr><tr><td>
+    <code class="literal">pDx4</code>
+  </td><td>
+    Half x length of the side at y=+pDy2 of the face at +pDz
+  </td></tr><tr><td>
+    <code class="literal">pAlp1</code>
+  </td><td>
+    Angle with respect to the y axis from the centre of the side
+    (lower endcap)
+  </td></tr><tr><td>
+    <code class="literal">pAlp2</code>
+  </td><td>
+    Angle with respect to the y axis from the centre of the side
+    (upper endcap)
+  </td></tr></tbody></table></div><p>
+</p><p>
+<span class="bold"><strong>Note on <code class="literal">pAlph1/2</code></strong></span>: the
+two angles have to be the
+same due to the planarity condition.
+</p><h5><a name="id385530"></a>
+Sphere or Spherical Shell Section:
+</h5><p>  
+To build a <span class="bold"><strong>sphere</strong></span>, or a
+<span class="bold"><strong>spherical shell section</strong></span>, use:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Sphere(const G4String&amp; pName,                      
+                  G4double   pRmin,
+                  G4double   pRmax,
+                  G4double   pSPhi,
+                  G4double   pDPhi,
+                  G4double   pSTheta,
+                  G4double   pDTheta )
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aSphere.jpg"></div>
+
+    <a href="javascript:remote_win('pic7.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+      pRmin = 100, pRmax = 120, 
+      pSPhi = 0*Degree, pDPhi = 180*Degree,
+      pSTheta = 0 Degree, pDTheta = 180*Degree
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+to obtain a solid with name <code class="literal">pName</code> and parameters:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    pRmin
+  </td><td>
+    Inner radius
+  </td></tr><tr><td>
+    pRmax
+  </td><td>
+    Outer radius
+  </td></tr><tr><td>
+    pSPhi
+  </td><td>
+    Starting Phi angle of the segment in radians
+  </td></tr><tr><td>
+    pDPhi
+  </td><td>
+    Delta Phi angle of the segment in radians
+  </td></tr><tr><td>
+    pSTheta
+  </td><td>
+    Starting Theta angle of the segment in radians
+  </td></tr><tr><td>
+    pDTheta
+  </td><td>
+    Delta Theta angle of the segment in radians
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id385737"></a>
+Full Solid Sphere:
+</h5><p>  
+To build a <span class="bold"><strong>full solid sphere</strong></span>
+use:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Orb(const G4String&amp; pName,                                   
+               G4double  pRmax)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aOrb.jpg"></div>
+
+    <a href="javascript:remote_win('pic8.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+      pRmax = 100
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+The Orb can be obtained from a Sphere with:
+<code class="literal">pRmin</code> = 0, <code class="literal">pSPhi</code> = 0, 
+<code class="literal">pDPhi</code> = 2*Pi,
+<code class="literal">pSTheta</code> = 0, <code class="literal">pDTheta</code> = Pi
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    pRmax
+  </td><td>
+    Outer radius
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id385906"></a>
+Torus:
+</h5><p>  
+To build a <span class="bold"><strong>torus</strong></span> use:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Torus(const G4String&amp; pName,                       
+                 G4double   pRmin,
+                 G4double   pRmax,
+                 G4double   pRtor,
+                 G4double   pSPhi,
+                 G4double   pDPhi)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTorus.jpg"></div>
+
+    <a href="javascript:remote_win('pic9.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+      pRmin = 40, pRmax = 60, pRtor = 200,
+      pSPhi = 0, pDPhi = 90*Degree
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+to obtain a solid with name <code class="literal">pName</code> and parameters:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    pRmin
+  </td><td>
+    Inside radius
+  </td></tr><tr><td>
+    pRmax
+  </td><td>
+    Outside radius
+  </td></tr><tr><td>
+    pRtor
+  </td><td>
+    Swept radius of torus
+  </td></tr><tr><td>
+    pSPhi
+  </td><td>
+    Starting Phi angle in radians (<code class="literal">fSPhi+fDPhi&lt;=2PI</code>,
+    <code class="literal">fSPhi&gt;-2PI</code>)
+  </td></tr><tr><td>
+    pDPhi
+  </td><td>
+    Delta angle of the segment in radians
+  </td></tr></tbody></table></div><p>
+</p><p>
+In addition, the Geant4 Design Documentation shows in the Solids
+Class Diagram the complete list of CSG classes, and the STEP
+documentation contains a detailed EXPRESS description of each CSG
+solid.
+</p><h4><a name="id386112"></a>
+Specific CSG Solids
+</h4><h5><a name="id386121"></a>
+Polycons:
+</h5><p>  
+<span class="bold"><strong>Polycons</strong></span> (PCON) are implemented in Geant4 through the
+<code class="literal">G4Polycon</code> class:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Polycone(const G4String&amp; pName,                    
+                    G4double   phiStart,
+                    G4double   phiTotal,
+                    G4int      numZPlanes,
+                    const G4double   zPlane[],
+                    const G4double   rInner[],
+                    const G4double   rOuter[])
+
+   G4Polycone(const G4String&amp; pName,                      
+                    G4double   phiStart,
+                    G4double   phiTotal,
+                    G4int      numRZ,
+                    const G4double  r[],
+                    const G4double  z[])
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aBREPSolidPCone.jpg"></div>
+
+    <a href="javascript:remote_win('pic10.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+      phiStart = 1/4*Pi, phiTotal = 3/2*Pi, numZPlanes = 9,
+      rInner = { 0, 0, 0, 0, 0, 0, 0, 0, 0},
+      rOuter = { 0, 10, 10, 5 , 5, 10 , 10 , 2, 2},
+      z = { 5, 7, 9, 11, 25, 27, 29, 31, 35 }
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    phiStart
+  </td><td>
+    Initial Phi starting angle
+  </td></tr><tr><td>
+    phiTotal
+  </td><td>
+    Total Phi angle
+  </td></tr><tr><td>
+    numZPlanes
+  </td><td>
+    Number of z planes
+  </td></tr><tr><td>
+    numRZ
+  </td><td>
+    Number of corners in r,z space
+  </td></tr><tr><td>
+    zPlane
+  </td><td>
+    Position of z planes
+  </td></tr><tr><td>
+    rInner
+  </td><td>
+    Tangent distance to inner surface
+  </td></tr><tr><td>
+    rOuter
+  </td><td>
+    Tangent distance to outer surface
+  </td></tr><tr><td>
+    r
+  </td><td>
+    r coordinate of corners
+  </td></tr><tr><td>
+    z
+  </td><td>
+    z coordinate of corners
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id386355"></a>
+Polyhedra (PGON):
+</h5><p>  
+<span class="bold"><strong>Polyhedra</strong></span> (PGON) are implemented through 
+<code class="literal">G4Polyhedra</code>:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Polyhedra(const G4String&amp; pName,                   
+                     G4double  phiStart,
+                     G4double  phiTotal,
+                     G4int     numSide,
+                     G4int     numZPlanes,
+               const G4double  zPlane[],
+               const G4double  rInner[],
+               const G4double  rOuter[] )
+
+   G4Polyhedra(const G4String&amp; pName,
+                     G4double  phiStart,
+                     G4double  phiTotal,
+                     G4int     numSide,
+                     G4int     numRZ,
+               const G4double  r[],
+               const G4double  z[] )
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aBREPSolidPolyhedra.jpg"></div>
+
+    <a href="javascript:remote_win('pic11.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    phiStart = -1/4*Pi, phiTotal= 5/4*Pi, 
+    numSide = 3, nunZPlanes = 7,
+    rInner = { 0, 0, 0, 0, 0, 0, 0 },
+    rOuter = { 0, 15, 15, 4, 4, 10, 10 },
+    z = { 0, 5, 8, 13 , 30, 32, 35 }
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+where:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">phiStart</code>
+  </td><td>
+    Initial Phi starting angle
+  </td></tr><tr><td>
+    <code class="literal">phiTotal</code>
+  </td><td>
+    Total Phi angle
+  </td></tr><tr><td>
+    <code class="literal">numSide</code>
+  </td><td>
+    Number of sides
+  </td></tr><tr><td>
+    <code class="literal">numZPlanes</code>
+  </td><td>
+    Number of z planes
+  </td></tr><tr><td>
+    <code class="literal">numRZ</code>
+  </td><td>
+    Number of corners in r,z space
+  </td></tr><tr><td>
+    zPlane
+  </td><td>
+    Position of z planes
+  </td></tr><tr><td>
+    <code class="literal">rInner</code>
+  </td><td>
+    Tangent distance to inner surface
+  </td></tr><tr><td>
+    rOuter
+  </td><td>
+    Tangent distance to outer surface
+  </td></tr><tr><td>
+    <code class="literal">r</code>
+  </td><td>
+    r coordinate of corners
+  </td></tr><tr><td>
+    <code class="literal">z</code>
+  </td><td>
+    z coordinate of corners
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id386642"></a>
+Tube with an elliptical cross section:
+</h5><p>  
+A <span class="bold"><strong>tube with an elliptical cross
+section</strong></span> (ELTU) can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4EllipticalTube(const G4String&amp; pName,                   
+                          G4double  Dx,
+                          G4double  Dy,
+                          G4double  Dz)
+    </pre></div>
+
+    The equation of the surface in x/y is <code class="literal">1.0 = (x/dx)**2 +(y/dy)**2</code>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aEllipticalTube.jpg"></div>
+
+    <a href="javascript:remote_win('pic12.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    Dx = 5, Dy = 10, Dz = 20
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col><col><col></colgroup><tbody><tr><td>
+    Dx
+  </td><td>
+    Half length X
+  </td><td>
+    Dy
+  </td><td>
+    Half length Y
+  </td><td>
+    Dz
+  </td><td>
+    Half length Z
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id386804"></a>
+General Ellipsoid:
+</h5><p>  
+The general <span class="bold"><strong>ellipsoid</strong></span> with
+possible cut in <code class="literal">Z</code> can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Ellipsoid(const G4String&amp; pName,                   
+                     G4double  pxSemiAxis,
+                     G4double  pySemiAxis,
+                     G4double  pzSemiAxis,
+                     G4double  pzBottomCut=0,
+                     G4double  pzTopCut=0)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aEllipsoid.jpg"></div>
+
+    <a href="javascript:remote_win('pic13.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pxSemiAxis = 10, pySemiAxis = 20, pzSemiAxis = 50, 
+    pzBottomCut = -10, pzTopCut = 40
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+A general (or triaxial) ellipsoid is a quadratic surface which is
+given in Cartesian coordinates by:
+
+</p><div class="informalexample"><pre class="programlisting">
+   1.0 = (x/pxSemiAxis)**2 + (y/pySemiAxis)**2 + (z/pzSemiAxis)**2
+</pre></div><p>
+
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pxSemiAxis</code>
+  </td><td>
+    Semiaxis in X
+  </td></tr><tr><td>
+    pySemiAxis
+  </td><td>
+    Semiaxis in Y
+  </td></tr><tr><td>
+    pzSemiAxis
+  </td><td>
+    Semiaxis in Z
+  </td></tr><tr><td>
+    pzBottomCut
+  </td><td>
+    lower cut plane level, z
+  </td></tr><tr><td>
+    pzTopCut
+  </td><td>
+    upper cut plane level, z
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id387009"></a>
+Cone with Elliptical Cross Section:
+</h5><p>  
+A <span class="bold"><strong>cone with an elliptical cross section</strong></span> 
+can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4EllipticalCone(const G4String&amp; pName,              
+                          G4double  pxSemiAxis,
+                          G4double  pySemiAxis,
+                          G4double  zMax,
+                          G4double  pzTopCut)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aEllipticalCone.jpg"></div>
+
+    <a href="javascript:remote_win('pic14.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pxSemiAxis = 30/75, pySemiAxis = 60/75, zMax = 50, pzTopCut = 25
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    pxSemiAxis
+  </td><td>
+    Semiaxis in X
+  </td></tr><tr><td>
+    pySemiAxis
+  </td><td>
+    Semiaxis in Y
+  </td></tr><tr><td>
+    zMax
+  </td><td>
+    Height of elliptical cone
+  </td></tr><tr><td>
+    pzTopCut
+  </td><td>
+    upper cut plane level
+  </td></tr></tbody></table></div><p>
+</p><p>
+An elliptical cone of height <code class="literal">zMax</code>, semiaxis
+<code class="literal">pxSemiAxis</code>, and semiaxis <code class="literal">pySemiAxis</code> 
+is given by the parametric equations:
+
+</p><div class="informalexample"><pre class="programlisting">  
+   x = pxSemiAxis * ( zMax - u ) / u * Cos(v)
+   y = pySemiAxis * ( zMax - u ) / u * Sin(v)
+   z = u
+</pre></div><p>  
+
+Where <code class="literal">v</code> is between <code class="literal">0</code> and 
+<code class="literal">2*Pi</code>, and
+<code class="literal">u</code> between <code class="literal">0</code> and 
+<code class="literal">h</code> respectively.
+</p><h5><a name="id387250"></a>
+Paraboloid, a solid with parabolic profile:
+</h5><p>  
+A <span class="bold"><strong>solid with parabolic profile</strong></span> and possible cuts along
+the <code class="literal">Z</code> axis can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Parabolid(const G4String&amp; pName,                   
+                     G4double  R1,
+                     G4double  R2,
+                     G4double  Dz)
+    </pre></div>
+
+    The equation for the solid is:
+<div class="informalexample"><pre class="programlisting">  
+   rho**2 &lt;= k1 * z + k2;
+       -dz &lt;= z &lt;= dz
+   r1**2 = k1 * (-dz) + k2
+   r2**2 = k1 * ( dz) + k2
+</pre></div>  
+
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aParaboloid.jpg"></div>
+
+    <a href="javascript:remote_win('pic21.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    R1 = 20, R2 = 35, Dz = 20
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col><col><col></colgroup><tbody><tr><td>
+    R1
+  </td><td>
+    Radius at -Dz
+  </td><td>
+    R2
+  </td><td>
+    Radius at +Dz greater than R1
+  </td><td>
+    Dz
+  </td><td>
+    Half length Z
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id387420"></a>
+Tube with Hyperbolic Profile:
+</h5><p>  
+A <span class="bold"><strong>tube with a hyperbolic
+profile</strong></span> (HYPE) can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Hype(const G4String&amp; pName,                        
+                G4double  innerRadius,
+                G4double  outerRadius,
+                G4double  innerStereo,
+                G4double  outerStereo,
+                G4double  halfLenZ)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aHyperboloid.jpg"></div>
+
+    <a href="javascript:remote_win('pic15.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    innerStereo = 0.7, outerStereo = 0.7,
+    halfLenZ = 50,
+    innerRadius = 20, outerRadius = 30
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+<code class="literal">G4Hype</code> is shaped with curved sides parallel to the
+<code class="literal">z</code>-axis, has a specified half-length along the <code class="literal">z</code>
+axis about which it is centred, and a given minimum and maximum
+radius.
+</p><p>
+A minimum radius of <code class="literal">0</code> defines a filled Hype (with
+hyperbolic inner surface), i.e. inner radius = 0 AND inner stereo
+angle = 0.
+</p><p>
+The inner and outer hyperbolic surfaces can have different stereo
+angles. A stereo angle of <code class="literal">0</code> gives a cylindrical
+surface:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">innerRadius</code>
+  </td><td>
+    Inner radius
+  </td></tr><tr><td>
+    <code class="literal">outerRadius</code>
+  </td><td>
+    Outer radius
+  </td></tr><tr><td>
+    <code class="literal">innerStereo</code>
+  </td><td>
+    Inner stereo angle in radians
+  </td></tr><tr><td>
+    <code class="literal">outerStereo</code>
+  </td><td>
+    Outer stereo angle in radians
+  </td></tr><tr><td>
+    <code class="literal">halfLenZ</code>
+  </td><td>
+    Half length in Z
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id387670"></a>
+Tetrahedra:
+</h5><p>  
+A <span class="bold"><strong>tetrahedra</strong></span> solid can be
+defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4Tet(const G4String&amp; pName,                         
+               G4ThreeVector  anchor,
+               G4ThreeVector  p2,
+               G4ThreeVector  p3,
+               G4ThreeVector  p4,
+               G4bool         *degeneracyFlag=0)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTet.jpg"></div>
+
+    <a href="javascript:remote_win('pic16.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    anchor = {0, 0, sqrt(3)},
+    p2 = { 0, 2*sqrt(2/3), -1/sqrt(3) },
+    p3 = { -sqrt(2), -sqrt(2/3),-1/sqrt(3) },
+    p4 = { sqrt(2), -sqrt(2/3) , -1/sqrt(3) }
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+The solid is defined by 4 points in space:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">anchor</code>
+  </td><td>
+    Anchor point
+  </td></tr><tr><td>
+    <code class="literal">p2</code>
+  </td><td>
+    Point 2
+  </td></tr><tr><td>
+    <code class="literal">p3</code>
+  </td><td>
+    Point 3
+  </td></tr><tr><td>
+    <code class="literal">p4</code>
+  </td><td>
+    Point 4
+  </td></tr><tr><td>
+    degeneracyFlag
+  </td><td>
+    Flag indicating degeneracy of points
+  </td></tr><tr><td>
+    
+  </td><td>
+    
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id387885"></a>
+Extruded Polygon:
+</h5><p>
+The extrusion of an arbitrary polygon
+(<span class="bold"><strong>extruded solid</strong></span>) with fixed outline
+in the defined <code class="literal">Z</code> sections can be defined as follows
+(in a general way, or as special construct with two <code class="literal">Z</code>
+sections):
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4ExtrudedSolid(const G4String&amp;                pName,
+                         std::vector&lt;G4TwoVector&gt; polygon,
+                         std::vector&lt;ZSection&gt;    zsections)
+
+   G4ExtrudedSolid(const G4String&amp;                pName,
+                         std::vector&lt;G4TwoVector&gt; polygon,
+                         G4double                 hz,
+                         G4TwoVector off1, G4double scale1,
+                         G4TwoVector off2, G4double scale2)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aExtrudedSolid.jpg"></div>
+
+    <a href="javascript:remote_win('pic22.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    poligon = {-30,-30},{-30,30},{30,30},{30,-30},
+              {15,-30},{15,15},{-15,15},{-15,-30}</p>
+    <p>
+    zsections = [-60,{0,30},0.8], [-15, {0,-30},1.],
+                [10,{0,0},0.6], [60,{0,30},1.2]</p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+The z-sides of the solid are the scaled versions of the same polygon.
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">polygon</code>
+  </td><td>
+    the vertices of the outlined polygon defined in clock-wise order
+  </td></tr><tr><td>
+    <code class="literal">zsections</code>
+  </td><td>
+     the z-sections defined by z position in increasing order
+  </td></tr><tr><td>
+    <code class="literal">hz</code>
+  </td><td>
+    Half length in Z
+  </td></tr><tr><td>
+    <code class="literal">off1, off2</code>
+  </td><td>
+    Offset of the side in -hz and +hz respectively
+  </td></tr><tr><td>
+    <code class="literal">scale1, scale2</code>
+  </td><td>
+    Scale of the side in -hz and +hz respectively
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id388115"></a>
+Box Twisted:
+</h5><p>  
+A <span class="bold"><strong>box twisted</strong></span> along one axis
+can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4TwistedBox(const G4String&amp; pName,                  
+                      G4double  twistedangle,
+                      G4double  pDx,
+                      G4double  pDy,
+                      G4double  pDz)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTwistedBox.jpg"></div>
+
+    <a href="javascript:remote_win('pic17.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    twistedangle = 30*Degree, pDx = 30, pDy =40, pDz = 60
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+<code class="literal">G4TwistedBox</code> is a box twisted along the z-axis. The
+twist angle cannot be greater than 90 degrees:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">twistedangle</code>
+  </td><td>
+    Twist angle
+  </td></tr><tr><td>
+    <code class="literal">pDx</code>
+  </td><td>
+    Half x length
+  </td></tr><tr><td>
+    <code class="literal">pDy</code>
+  </td><td>
+    Half y length
+  </td></tr><tr><td>
+    <code class="literal">pDz</code>
+  </td><td>
+    Half z length
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id388315"></a>
+Trapezoid Twisted along One Axis:
+</h5><p>  
+<span class="emphasis"><em>trapezoid twisted</em></span> along one axis can be defined as
+follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4TwistedTrap(const G4String&amp; pName,                 
+                       G4double  twistedangle,
+                       G4double  pDxx1, 
+                       G4double  pDxx2,
+                       G4double  pDy, 
+                       G4double   pDz)
+  
+   G4TwistedTrap(const G4String&amp; pName,
+                       G4double  twistedangle,
+                       G4double  pDz,
+                       G4double  pTheta, 
+                       G4double  pPhi,
+                       G4double  pDy1, 
+                       G4double  pDx1,
+                       G4double  pDx2, 
+                       G4double  pDy2,
+                       G4double  pDx3, 
+                       G4double  pDx4,
+                       G4double  pAlph)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTwistedTrap.jpg"></div>
+
+    <a href="javascript:remote_win('pic18.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    pDx1 = 30, pDx2 = 40, pDy1 = 40,
+    pDx3 = 10, pDx4 = 14, pDy2 = 16,
+    pDz = 60,
+    pTheta = 20*Degree, pDphi = 5*Degree,
+    pAlph = 10*Degree, twistedangle = 30*Degree
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+The first constructor of <code class="literal">G4TwistedTrap</code> produces a
+regular trapezoid twisted along the <code class="literal">z</code>-axis, where the caps
+of the trapezoid are of the same shape and size.
+</p><p>
+The second constructor produces a generic trapezoid with polar,
+azimuthal and tilt angles.
+</p><p>
+The twist angle cannot be greater than 90 degrees:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">twistedangle</code>
+  </td><td>
+    Twisted angle
+  </td></tr><tr><td>
+    <code class="literal">pDx1</code>
+  </td><td>
+    Half x length at y=-pDy
+  </td></tr><tr><td>
+    <code class="literal">pDx2</code>
+  </td><td>
+    Half x length at y=+pDy
+  </td></tr><tr><td>
+    <code class="literal">pDy</code>
+  </td><td>
+    Half y length
+  </td></tr><tr><td>
+    <code class="literal">pDz</code>
+  </td><td>
+    Half z length
+  </td></tr><tr><td>
+    <code class="literal">pTheta</code>
+  </td><td>
+    Polar angle of the line joining the centres of the faces at -/+pDz
+  </td></tr><tr><td>
+    <code class="literal">pDy1</code>
+  </td><td>
+    Half y length at -pDz
+  </td></tr><tr><td>
+    <code class="literal">pDx1</code>
+  </td><td>
+    Half x length at -pDz, y=-pDy1
+  </td></tr><tr><td>
+    <code class="literal">pDx2</code>
+  </td><td>
+    Half x length at -pDz, y=+pDy1
+  </td></tr><tr><td>
+    <code class="literal">pDy2</code>
+  </td><td>
+    Half y length at +pDz
+
+  </td></tr><tr><td>
+    <code class="literal">pDx3</code>
+  </td><td>
+    Half x length at +pDz, y=-pDy2
+  </td></tr><tr><td>
+    <code class="literal">pDx4</code>
+  </td><td>
+    Half x length at +pDz, y=+pDy2
+  </td></tr><tr><td>
+    <code class="literal">pAlph</code>
+  </td><td>
+    Angle with respect to the y axis from the centre of the side
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id388684"></a>
+Twisted Trapezoid with <code class="literal">x</code> and <code class="literal">y</code> dimensions 
+varying along <code class="literal">z</code>:
+</h5><p>  
+A <span class="bold"><strong>twisted trapezoid</strong></span> with the
+<code class="literal">x</code> and <code class="literal">y</code> dimensions 
+<span class="bold"><strong>varying along <code class="literal">z</code></strong></span> can be
+defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4TwistedTrd(const G4String&amp; pName,                  
+                      G4double  pDx1,
+                      G4double  pDx2,
+                      G4double  pDy1,
+                      G4double  pDy2,
+                      G4double  pDz,
+                      G4double  twistedangle)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTwistedTrd.jpg"></div>
+
+    <a href="javascript:remote_win('pic19.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    dx1 = 30, dx2 = 10,
+    dy1 = 40, dy2 = 15,
+    dz = 60, twistedangle = 30*Degree
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+where:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pDx1</code>
+  </td><td>
+    Half x length at the surface positioned at -dz
+  </td></tr><tr><td>
+    <code class="literal">pDx2</code>
+  </td><td>
+    Half x length at the surface positioned at +dz
+  </td></tr><tr><td>
+    <code class="literal">pDy1</code>
+  </td><td>
+    Half y length at the surface positioned at -dz
+  </td></tr><tr><td>
+    <code class="literal">pDy2</code>
+  </td><td>
+    Half y length at the surface positioned at +dz
+  </td></tr><tr><td>
+    <code class="literal">pDz</code>
+  </td><td>
+    Half z length
+  </td></tr><tr><td>
+    <code class="literal">twistedangle</code>
+  </td><td>
+    Twisted angle
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id388951"></a>
+Tube Section Twisted along Its Axis:
+</h5><p>  
+A <span class="bold"><strong>tube section twisted</strong></span> along
+its axis can be defined as follows:
+
+</p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td align="left" valign="top">
+    <div class="informalexample"><pre class="programlisting">  
+   G4TwistedTubs(const G4String&amp; pName,                 
+                       G4double  twistedangle,
+                       G4double  endinnerrad,
+                       G4double  endouterrad,
+                       G4double  halfzlen,
+                       G4double  dphi)
+    </pre></div>
+  </td><td align="center" valign="top">
+    <div class="mediaobject"><img src="./AllResources/Detector/geometry.src/aTwistedTubs.jpg"></div>
+
+    <a href="javascript:remote_win('pic20.html ')" onMouseOver="window.status='Get alive picture...'; return true">[Rotate the Picture]<br />
+  </a>
+  
+    <span class="underline">In the picture</span>:
+    <code class="literal">
+    <p>
+    endinnerrad = 10, endouterrad = 15,
+    halfzlen = 20, dphi = 90*Degree,
+    twistedangle = 60*Degree
+    </p>
+    </code>
+  </td></tr></tbody></table></div><p>
+</p><p>
+<code class="literal">G4TwistedTubs</code> is a sort of twisted cylinder which,
+placed along the <code class="literal">z</code>-axis and divided into
+<code class="literal">phi</code>-segments is shaped like an hyperboloid, where each of
+its segmented pieces can be tilted with a stereo angle.
+</p><p>
+It can have inner and outer surfaces with the same stereo angle:
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">twistedangle</code>
+  </td><td>
+    Twisted angle
+  </td></tr><tr><td>
+    <code class="literal">endinnerrad</code>
+  </td><td>
+    Inner radius at endcap
+  </td></tr><tr><td>
+    <code class="literal">endouterrad</code>
+  </td><td>
+    Outer radius at endcap
+  </td></tr><tr><td>
+    <code class="literal">halfzlen</code>
+  </td><td>
+    Half z length
+  </td></tr><tr><td>
+    <code class="literal">dphi</code>
+  </td><td>
+    Phi angle of a segment
+  </td></tr></tbody></table></div><p>
+</p><p>
+Additional constructors are provided, allowing the shape to be
+specified either as:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the number of segments in <code class="literal">phi</code> and the total angle for
+    all segments, or
+  </p></li><li><p>
+    a combination of the above constructors providing instead the
+    inner and outer radii at <code class="literal">z=0</code> with different
+    <code class="literal">z</code>-lengths along negative and positive
+    <code class="literal">z</code>-axis.
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Solids.BoolOp"></a>4.1.2.2. 
+Solids made by Boolean operations
+</h4></div></div></div><p>
+Simple solids can be combined using Boolean operations. For
+example, a cylinder and a half-sphere can be combined with the
+union Boolean operation.
+</p><p>
+Creating such a new <span class="emphasis"><em>Boolean</em></span> solid, requires:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Two solids
+  </p></li><li><p>
+    A Boolean operation: union, intersection or subtraction.
+  </p></li><li><p>
+    Optionally a transformation for the second solid.
+  </p></li></ul></div><p>
+</p><p>
+The solids used should be either CSG solids (for examples a box,
+a spherical shell, or a tube) or another Boolean solid: the product
+of a previous Boolean operation. An important purpose of Boolean
+solids is to allow the description of solids with peculiar shapes
+in a simple and intuitive way, still allowing an efficient
+geometrical navigation inside them.
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"></h3><p>
+The solids used can actually be of any type. However, in
+order to fully support the export of a Geant4 solid model via STEP
+to CAD systems, we restrict the use of Boolean operations to this
+subset of solids. But this subset contains all the most interesting
+use cases.
+</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"></h3><p>
+The tracking cost for navigating in a Boolean solid in the
+current implementation, is proportional to the number of
+constituent solids. So care must be taken to avoid extensive,
+unecessary use of Boolean solids in performance-critical areas of a
+geometry description, where each solid is created from Boolean
+combinations of many other solids.
+</p></div><p>
+Examples of the creation of the simplest Boolean solids are
+given below:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4Box*  box =
+    new G4Box("Box",20*mm,30*mm,40*mm);
+  G4Tubs* cyl =
+    new G4Tubs("Cylinder",0,50*mm,50*mm,0,twopi);  // r:     0 mm -&gt; 50 mm
+                                                   // z:   -50 mm -&gt; 50 mm
+                                                   // phi:   0 -&gt;  2 pi
+  G4UnionSolid* union =
+    new G4UnionSolid("Box+Cylinder", box, cyl); 
+  G4IntersectionSolid* intersection =
+    new G4IntersectionSolid("Box*Cylinder", box, cyl); 
+  G4SubtractionSolid* subtraction =
+    new G4SubtractionSolid("Box-Cylinder", box, cyl);
+ </pre></div><p>
+
+where the union, intersection and subtraction of a box and cylinder
+are constructed.
+</p><p>
+The more useful case where one of the solids is displaced from
+the origin of coordinates also exists. In this case the second
+solid is positioned relative to the coordinate system (and thus
+relative to the first). This can be done in two ways:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Either by giving a rotation matrix and translation vector that
+    are used to transform the coordinate system of the second solid to
+    the coordinate system of the first solid. This is called the
+    <span class="emphasis"><em>passive</em></span> method.
+  </p></li><li><p>
+    Or by creating a transformation that moves the second solid
+    from its desired position to its standard position, e.g., a box's
+    standard position is with its centre at the origin and sides
+    parallel to the three axes. This is called the 
+    <span class="emphasis"><em>active</em></span> method.
+  </p></li></ul></div><p>
+</p><p>
+In the first case, the translation is applied first to move the
+origin of coordinates. Then the rotation is used to rotate the
+coordinate system of the second solid to the coordinate system of
+the first.
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4RotationMatrix* yRot = new G4RotationMatrix;  // Rotates X and Z axes only
+    yRot-&gt;rotateY(M_PI/4.*rad);                     // Rotates 45 degrees
+    G4ThreeVector zTrans(0, 0, 50);
+
+    G4UnionSolid* unionMoved =
+      new G4UnionSolid("Box+CylinderMoved", box, cyl, yRot, zTrans);
+    //
+    // The new coordinate system of the cylinder is translated so that
+    // its centre is at +50 on the original Z axis, and it is rotated
+    // with its X axis halfway between the original X and Z axes.
+
+    // Now we build the same solid using the alternative method
+    //
+    G4RotationMatrix invRot = *(yRot-&gt;invert());
+    G4Transform3D transform(invRot, zTrans);  
+    G4UnionSolid* unionMoved =
+      new G4UnionSolid("Box+CylinderMoved", box, cyl, transform);
+</pre></div><p>
+</p><p>
+Note that the first constructor that takes a pointer to the
+rotation-matrix (<code class="literal">G4RotationMatrix*</code>), does NOT copy it.
+Therefore once used a rotation-matrix to construct a Boolean solid,
+it must NOT be modified.
+</p><p>
+In contrast, with the alternative method shown, a
+<code class="literal">G4Transform3D</code> is provided to the constructor by value, and
+its transformation is stored by the Boolean solid. The user may
+modify the <code class="literal">G4Transform3D</code> and eventually use it again.
+</p><p>
+When positioning a volume associated to a Boolean solid, the
+relative center of coordinates considered for the positioning is
+the one related to the <span class="emphasis"><em>first</em></span> of the two constituent
+solids.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Solids.BREPS"></a>4.1.2.3. 
+Boundary Represented (BREPS) Solids
+</h4></div></div></div><p>
+BREP solids are defined via the description of their boundaries.
+The boundaries can be made of planar and second order surfaces.
+Eventually these can be trimmed and have holes. The resulting
+solids, such as polygonal, polyconical solids are known as
+Elementary BREPS.
+</p><p>
+In addition, the boundary surfaces can be made of Bezier
+surfaces and B-Splines, or of NURBS
+(Non-Uniform-Rational-B-Splines) surfaces. The resulting solids are
+Advanced BREPS.
+</p><p>
+
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"></h3><p>
+Currently, the implementation for surfaces
+generated by Beziers, B-Splines or NURBS is only at the level of
+prototype and not fully functional.
+</p><p>
+Extensions in this area are foreseen in future.
+</p></div><p>
+
+</p><p>
+We have defined a few simple Elementary BREPS, that can be
+instantiated simply by a user in a manner similar to the
+construction of Constructed Solids (CSGs). We summarize their
+capabilities in the following section.
+</p><p>
+
+</p><p>
+Most BREPS Solids are however defined by creating each surface
+separately and tying them together.
+</p><p>
+
+
+</p><h5><a name="id389460"></a>
+Specific BREP Solids:
+</h5><p>
+
+</p><p>
+We have defined one polygonal and one polyconical shape using
+BREPS. The polycone provides a shape defined by a series of conical
+sections with the same axis, contiguous along it.
+</p><p>
+
+</p><p>
+The polyconical solid <code class="literal">G4BREPSolidPCone</code> is a shape
+defined by a set of inner and outer conical or cylindrical surface
+sections and two planes perpendicular to the Z axis. Each conical
+surface is defined by its radius at two different planes
+perpendicular to the Z-axis. Inner and outer conical surfaces are
+defined using common Z planes.
+</p><p>
+
+</p><div class="informalexample"><pre class="programlisting">  
+  G4BREPSolidPCone( const G4String&amp; pName,
+                          G4double  start_angle,
+                          G4double  opening_angle,                   
+                          G4int     num_z_planes,    // sections,
+                          G4double  z_start,                   
+                    const G4double  z_values[],
+                    const G4double  RMIN[],
+                    const G4double  RMAX[]  )
+</pre></div><p>  
+
+</p><p>
+The conical sections do not need to fill 360 degrees, but can have
+a common start and opening angle.
+</p><p>
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">start_angle</code>
+  </td><td>
+    starting angle
+  </td></tr><tr><td>
+    <code class="literal">opening_angle</code>
+  </td><td>
+    opening angle
+  </td></tr><tr><td>
+    <code class="literal">num_z_planes</code>
+  </td><td>
+    number of planes perpendicular to the z-axis used.
+  </td></tr><tr><td>
+    <code class="literal">z_start</code>
+  </td><td>
+    starting value of z
+  </td></tr><tr><td>
+    <code class="literal">z_values</code>
+  </td><td>
+    z coordinates of each plane
+  </td></tr><tr><td>
+    <code class="literal">RMIN</code>
+  </td><td>
+    radius of inner cone at each plane
+  </td></tr><tr><td>
+    <code class="literal">RMAX</code>
+  </td><td>
+    radius of outer cone at each plane
+  </td></tr></tbody></table></div><p>
+</p><p>
+The polygonal solid <code class="literal">G4BREPSolidPolyhedra</code> is a shape
+defined by an inner and outer polygonal surface and two planes
+perpendicular to the Z axis. Each polygonal surface is created by
+linking a series of polygons created at different planes
+perpendicular to the Z-axis. All these polygons all have the same
+number of sides (<code class="literal">sides</code>) and are defined at the same Z
+planes for both inner and outer polygonal surfaces.
+</p><p>
+The polygons do not need to fill 360 degrees, but have a start
+and opening angle.
+</p><p>
+The constructor takes the following parameters:
+
+</p><div class="informalexample"><pre class="programlisting">  
+  G4BREPSolidPolyhedra( const G4String&amp; pName,
+                              G4double  start_angle,
+                              G4double  opening_angle,
+                              G4int     sides,
+                              G4int     num_z_planes,      
+                              G4double  z_start,
+                        const G4double  z_values[],
+                        const G4double  RMIN[],
+                        const G4double  RMAX[]  )
+</pre></div><p>  
+
+which in addition to its name have the following meaning:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">start_angle</code>
+  </td><td>
+    starting angle
+  </td></tr><tr><td>
+    <code class="literal">opening_angle</code>
+  </td><td>
+    opening angle
+  </td></tr><tr><td>
+    <code class="literal">sides</code>
+  </td><td>
+    number of sides of each polygon in the x-y plane
+  </td></tr><tr><td>
+    <code class="literal">num_z_planes</code>
+  </td><td>
+    number of planes perpendicular to the z-axis used.
+  </td></tr><tr><td>
+    <code class="literal">z_start</code>
+  </td><td>
+    starting value of z
+  </td></tr><tr><td>
+    <code class="literal">z_values</code>
+  </td><td>
+    z coordinates of each plane
+  </td></tr><tr><td>
+    <code class="literal">RMIN</code>
+  </td><td>
+    radius of inner polygon at each corner
+  </td></tr><tr><td>
+    <code class="literal">RMAX</code>
+  </td><td>
+    radius of outer polygon at each corner
+  </td></tr></tbody></table></div><p>
+   
+the shape is defined by the number of sides <code class="literal">sides</code> of
+the polygon in the plane perpendicular to the z-axis.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Solids.Tessel"></a>4.1.2.4. 
+Tessellated Solids
+</h4></div></div></div><p>
+In Geant4 it is also implemented a class
+<code class="literal">G4TessellatedSolid</code> which can be used to generate a generic
+solid defined by a number of facets (<code class="literal">G4VFacet</code>). Such
+constructs are especially important for conversion of complex
+geometrical shapes imported from CAD systems bounded with generic
+surfaces into an approximate description with facets of defined
+dimension (see <a href="ch04.html#fig.Geom.Solid_1" title="Figure 4.1. 
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+">Figure 4.1</a>).
+
+</p><div class="figure"><a name="fig.Geom.Solid_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/geometry.src/cad-tess-combined.jpg" align="middle" alt="Example of geometries imported from CAD system and converted to tessellated solids."></div></div><p class="title"><b>Figure 4.1. 
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+</b></p></div><p><br class="figure-break">
+</p><p>
+They can also be used to generate a solid bounded with a generic
+surface made of planar facets. It is important that the supplied
+facets shall form a fully enclose space to represent the solid.
+</p><p>
+Two types of facet can be used for the construction of a
+<code class="literal">G4TessellatedSolid</code>: a triangular facet
+(<code class="literal">G4TriangularFacet</code>) and a quadrangular facet
+(<code class="literal">G4QuadrangularFacet</code>).
+</p><p>
+An example on how to generate a simple tessellated shape is
+given below.
+
+</p><div class="example"><a name="programlist_Geom_1"></a><p class="title"><b>Example 4.1. 
+An example of a simple tessellated solid with
+<code class="literal">G4TessellatedSolid</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+        // First declare a tessellated solid
+        //
+        G4TessellatedSolid solidTarget = new G4TessellatedSolid("Solid_name");
+
+        // Define the facets which form the solid
+        //
+        G4double targetSize = 10*cm ;
+        G4TriangularFacet *facet1 = new
+        G4TriangularFacet (G4ThreeVector(-targetSize,-targetSize,        0.0),
+                           G4ThreeVector(+targetSize,-targetSize,        0.0),
+                           G4ThreeVector(        0.0,        0.0,+targetSize),
+                           ABSOLUTE);
+        G4TriangularFacet *facet2 = new
+        G4TriangularFacet (G4ThreeVector(+targetSize,-targetSize,        0.0),
+                           G4ThreeVector(+targetSize,+targetSize,        0.0),
+                           G4ThreeVector(        0.0,        0.0,+targetSize),
+                           ABSOLUTE);
+        G4TriangularFacet *facet3 = new
+        G4TriangularFacet (G4ThreeVector(+targetSize,+targetSize,        0.0),
+                           G4ThreeVector(-targetSize,+targetSize,        0.0),
+                           G4ThreeVector(        0.0,        0.0,+targetSize),
+                           ABSOLUTE);
+        G4TriangularFacet *facet4 = new
+        G4TriangularFacet (G4ThreeVector(-targetSize,+targetSize,        0.0),
+                           G4ThreeVector(-targetSize,-targetSize,        0.0),
+                           G4ThreeVector(        0.0,        0.0,+targetSize),
+                           ABSOLUTE);
+        G4QuadrangularFacet *facet5 = new
+        G4QuadrangularFacet (G4ThreeVector(-targetSize,-targetSize,        0.0),
+                             G4ThreeVector(-targetSize,+targetSize,        0.0),
+                             G4ThreeVector(+targetSize,+targetSize,        0.0),
+                             G4ThreeVector(+targetSize,-targetSize,        0.0),
+                             ABSOLUTE);
+
+        // Now add the facets to the solid
+        //
+        solidTarget-&gt;AddFacet((G4VFacet*) facet1);
+        solidTarget-&gt;AddFacet((G4VFacet*) facet2);
+        solidTarget-&gt;AddFacet((G4VFacet*) facet3);
+        solidTarget-&gt;AddFacet((G4VFacet*) facet4);
+        solidTarget-&gt;AddFacet((G4VFacet*) facet5);
+
+        Finally declare the solid is complete
+        //
+        solidTarget-&gt;SetSolidClosed(true);
+</pre></div></div><p><br class="example-break">
+</p><p>
+The <code class="literal">G4TriangularFacet</code> class is used for the contruction
+of <code class="literal">G4TessellatedSolid</code>. It is defined by three vertices,
+which shall be supplied in <span class="emphasis"><em>anti-clockwise order</em></span> looking from
+the outside of the solid where it belongs. Its constructor looks
+like:
+
+</p><div class="informalexample"><pre class="programlisting">
+        G4TriangularFacet ( const G4ThreeVector     Pt0,
+                            const G4ThreeVector     vt1,
+                            const G4ThreeVector     vt2,
+                                  G4FacetVertexType fType )
+</pre></div><p> 
+
+i.e., it takes 4 parameters to define the three vertices:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">G4FacetVertexType</code>
+  </td><td>
+    <code class="literal">ABSOLUTE</code> in which case <code class="literal">Pt0</code>, 
+    <code class="literal">vt1</code> and <code class="literal">vt2</code> 
+    are the three vertices in anti-clockwise order looking from the outside.
+  </td></tr><tr><td>
+    <code class="literal">G4FacetVertexType</code>
+  </td><td>
+    <code class="literal">RELATIVE</code> in which case the first vertex is
+    <code class="literal">Pt0</code>, the second vertex is <code class="literal">Pt0+vt1</code> and 
+    the third vertex is <code class="literal">Pt0+vt2</code>, all in anti-clockwise order 
+    when looking from the outside.
+</td></tr></tbody></table></div><p>
+</p><p>
+The <code class="literal">G4QuadrangularFacet</code> class can be used for the
+contruction of <code class="literal">G4TessellatedSolid</code> as well. It is defined
+by four vertices, which shall be in the same plane and be supplied
+in <span class="emphasis"><em>anti-clockwise order</em></span> looking from the outside of the
+solid where it belongs. Its constructor looks like:
+
+</p><div class="informalexample"><pre class="programlisting">
+        G4QuadrangularFacet ( const G4ThreeVector     Pt0,
+                              const G4ThreeVector     vt1,
+                              const G4ThreeVector     vt2,
+                              const G4ThreeVector     vt3,
+                                    G4FacetVertexType fType )
+</pre></div><p>
+
+i.e., it takes 5 parameters to define the four vertices:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">G4FacetVertexType</code>
+  </td><td>
+    <code class="literal">ABSOLUTE</code> in which case <code class="literal">Pt0</code>, 
+    <code class="literal">vt1</code>, <code class="literal">vt2</code> and <code class="literal">vt3</code> 
+    are the four vertices required in anti-clockwise order when looking 
+    from the outside.
+  </td></tr><tr><td>
+    <code class="literal">G4FacetVertexType</code>
+  </td><td>
+    <code class="literal">RELATIVE</code> in which case the first vertex is
+    <code class="literal">Pt0</code>, the second vertex is <code class="literal">Pt0+vt</code>, 
+    the third vertex is <code class="literal">Pt0+vt2</code> and the fourth vertex is
+    <code class="literal">Pt0+vt3</code>, in anti-clockwise order when looking from the
+    outside.
+  </td></tr></tbody></table></div><p>
+</p><h5><a name="id390254"></a>
+Importing CAD models as tessellated shapes
+</h5><p>
+Tessellated solids can also be used to import geometrical models from CAD
+systems (see <a href="ch04.html#fig.Geom.Solid_1" title="Figure 4.1. 
+  Example of geometries imported from CAD system and converted to
+  tessellated solids.
+">Figure 4.1</a>). In order to do this, it
+is required to convert first the CAD shapes into tessellated surfaces. A
+way to do this is to save the shapes in the geometrical model as STEP files
+and convert them using a tool like
+<a href="http://www.steptools.com/products/stviewer/" target="_top">STViewer</a> or
+<a href="http://www.trad.fr/en/" target="_top">FASTRAD</a> to
+tessellated (faceted surfaces) solids. This strategy allows to import any shape
+with some degree of approximation; the converted CAD models can then be
+imported through <a href="http://cern.ch/gdml/" target="_top">GDML (Geometry Description
+Markup Language)</a> into Geant4 and be represented as
+<code class="literal">G4TessellatedSolid</code> shapes.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.LogVol"></a>4.1.3. 
+Logical Volumes
+</h3></div></div></div><p>
+The Logical Volume manages the information associated with
+detector elements represented by a given Solid and Material,
+independently from its physical position in the detector.
+</p><p>
+A Logical Volume knows which physical volumes are contained
+within it. It is uniquely defined to be their mother volume. A
+Logical Volume thus represents a hierarchy of unpositioned volumes
+whose positions relative to one another are well defined. By
+creating Physical Volumes, which are placed instances of a Logical
+Volume, this hierarchy or tree can be repeated.
+</p><p>
+A Logical Volume also manages the information relative to the
+Visualization attributes (<a href="ch08s06.html" title="8.6. 
+Visualization Attributes
+">Section 8.6</a>) and 
+user-defined parameters related to tracking, electro-magnetic field
+or cuts (through the <code class="literal">G4UserLimits</code> interface).
+</p><p>
+By default, tracking optimization of the geometry (voxelization)
+is applied to the volume hierarchy identified by a logical volume.
+It is possible to change the default behavior by choosing not to
+apply geometry optimization for a given logical volume. This
+feature does not apply to the case where the associated physical
+volume is a parameterised volume; in this case, optimization is
+always applied.
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4LogicalVolume( G4VSolid*             pSolid,
+                     G4Material*           pMaterial,
+                     const G4String&amp;       Name,
+                     G4FieldManager*       pFieldMgr=0,
+                     G4VSensitiveDetector* pSDetector=0,
+                     G4UserLimits*         pULimits=0,
+                     G4bool                Optimise=true )
+</pre></div><p>
+</p><p>
+The logical volume provides a way to estimate the <span class="emphasis"><em>mass</em></span> of
+a tree of volumes defining a detector or sub-detector. This can be
+achieved by calling the method:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4double GetMass(G4bool forced=false)
+</pre></div><p>
+</p><p>
+The mass of the logical volume tree is computed from the estimated
+geometrical volume of each solid and material associated with the
+logical volume and its daughters. Note that this computation may
+require a considerable amount of time, depending on the complexity
+of the geometry tree. The returned value is cached by default and
+can be used for successive calls, unless recomputation is forced by
+providing <code class="literal">true</code> for the boolean argument 
+<code class="literal">forced</code> in input. 
+Computation should be forced if the geometry setup has
+changed after the previous call.
+</p><p>
+Finally, the Logical Volume manages the information relative to
+the Envelopes hierarchy required for fast Monte Carlo
+parameterisations (<a href="ch05s02.html#sect.PhysProc.Param" title="5.2.6. 
+Parameterization
+">Section 5.2.6</a>).
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.LogVol.SubReg"></a>4.1.3.1. 
+Sub-detector Regions
+</h4></div></div></div><p>
+In complex geometry setups, such as those found in large detectors
+in particle physics experiments, it is useful to think of specific
+Logical Volumes as representing parts (sub-detectors) of the entire
+detector setup which perform specific functions. In such setups,
+the processing speed of a real simulation can be increased by
+assigning specific production <span class="emphasis"><em>cuts</em></span> to each of these detector
+parts. This allows a more detailed simulation to occur only in
+those regions where it is required.
+</p><p>
+The concept of detector <span class="emphasis"><em>Region</em></span> was introduced to address
+this need. Once the final geometry setup of the detector has been
+defined, a region can be specified by constructing it with:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4Region( const G4String&amp;          rName )
+</pre></div><p>
+
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+      <code class="literal">rName</code>
+    </td><td>
+      String identifier for the detector region
+    </td></tr></tbody></table></div><p>
+</p><p>
+A <code class="literal">G4Region</code> must then be assigned to a logical volume,
+in order to make it a <span class="emphasis"><em>Root Logical Volume</em></span>:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4Region* emCalorimeter = new G4Region("EM-Calorimeter");
+    emCalorimeter-&gt;AddRootLogicalVolume(emCalorimeter);
+</pre></div><p>
+</p><p>
+A root logical volume is the first volume at the top of the
+hierarchy to which a given region is assigned. Once the region is
+assigned to the root logical volume, the information is
+automatically propagated to the volume tree, so that each daughter
+volume shares the same region. Propagation on a tree branch will be
+interrupted if an already existing root logical volume is
+encountered.
+</p><p>
+A specific <span class="emphasis"><em>Production Cut</em></span> can be assigned to the region,
+by defining and assigning to it a <code class="literal">G4ProductionCut</code>
+object
+
+</p><div class="informalexample"><pre class="programlisting">
+    emCalorimeter-&gt;SetProductionCuts(emCalCuts);
+</pre></div><p>
+</p><p>
+<a href="ch05s04.html#sect.ProThres.Set" title="5.4.2. 
+Set production threshold (SetCut methods)
+">Section 5.4.2</a> describes how to define a 
+production cut. The same region can be assigned to more than one 
+root logical volume, and root logical volumes can be removed from 
+an existing region. A logical volume can have only 
+<span class="emphasis"><em>one</em></span> region assigned to it. Regions will
+be automatically registered in a store which will take care of
+destroying them at the end of the job. A default region with a
+default production cut is automatically created and assigned to the
+world volume.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.PhysVol"></a>4.1.4. 
+Physical Volumes
+</h3></div></div></div><p>
+Physical volumes represent the spatial positioning of the
+volumes describing the detector elements. Several techniques can be
+used. They range from the simple placement of a single copy to the
+repeated positioning using either a simple linear formula or a user
+specified function.
+</p><p>
+The simple placement involves the definition of a transformation
+matrix for the volume to be positioned. Repeated positioning is
+defined using the number of times a volume should be replicated at
+a given distance along a given direction. Finally it is possible to
+define a parameterised formula to specify the position of multiple
+copies of a volume. Details about these methods are given
+below.
+</p><p>
+<span class="bold"><strong>Note</strong></span> - For geometries which vary between runs and for
+which components of the old geometry setup are explicitely
+-deleted-, it is required to consider the proper order of deletion
+(which is the exact inverse of the actual construction, i.e., first
+delete physical volumes and then logical volumes). Deleting a
+logical volume does NOT delete its daughter volumes.
+</p><p>
+It is not necessary to delete the geometry setup at the end of a
+job, the system will take care to free the volume and solid stores
+at the end of the job. The user has to take care of the deletion of
+any additional transformation or rotation matrices allocated
+dinamically in his/her own application.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.PhysVol.PlaceSingle"></a>4.1.4.1. 
+Placements: single positioned copy
+</h4></div></div></div><p>
+In this case, the Physical Volume is created by associating a
+Logical Volume with a Rotation Matrix and a Translation vector. The
+Rotation Matrix represents the rotation of the reference frame of
+the considered volume relatively to its mother volume's reference
+frame. The Translation Vector represents the translation of the
+current volume in the reference frame of its mother volume.
+</p><p>
+Transformations including reflections are not allowed.
+</p><p>
+To create a Placement one must construct it using:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4PVPlacement(       G4RotationMatrix*  pRot,
+                   const G4ThreeVector&amp;     tlate,
+                         G4LogicalVolume*   pCurrentLogical,
+                   const G4String&amp;          pName,
+                         G4LogicalVolume*   pMotherLogical,
+                         G4bool             pMany,
+                         G4int              pCopyNo,
+                         G4bool             pSurfChk=false )
+</pre></div><p>
+
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pRot</code>
+  </td><td>
+    Rotation with respect to its mother volume
+  </td></tr><tr><td>
+    <code class="literal">tlate</code>
+  </td><td>
+    Translation with respect to its mother volume
+  </td></tr><tr><td>
+    <code class="literal">pCurrentLogical</code>
+  </td><td>
+    The associated Logical Volume
+  </td></tr><tr><td>
+    <code class="literal">pName</code>
+  </td><td>
+    String identifier for this placement
+  </td></tr><tr><td>
+    <code class="literal">pMotherLogical</code>
+  </td><td>
+    The associated mother volume
+  </td></tr><tr><td>
+    <code class="literal">pMany</code>
+  </td><td>
+    For future use. Can be set to false
+  </td></tr><tr><td>
+    <code class="literal">pCopyNo</code>
+  </td><td>
+    Integer which identifies this placement
+  </td></tr><tr><td>
+    <code class="literal">pSurfChk</code>
+  </td><td>
+    if true activates check for overlaps with existing volumes
+  </td></tr></tbody></table></div><p>
+</p><p>
+Care must be taken because the rotation matrix is not copied by
+a <code class="literal">G4PVPlacement</code>. So the user must not modify it after
+creating a Placement that uses it. However the same rotation matrix
+can be re-used for many volumes.
+</p><p>
+Currently boolean operations are not implemented at the level of
+physical volume. So <code class="literal">pMany</code> must be false. However, an
+alternative implementation of boolean operations exists. In this
+approach a solid can be created from the union, intersection or
+subtraction of two solids. See  <a href="ch04.html#sect.Geom.Solids.BoolOp" title="4.1.2.2. 
+Solids made by Boolean operations
+">Section 4.1.2.2</a>
+ above for an explanation of this.
+</p><p>
+The mother volume must be specified for all volumes
+<span class="emphasis"><em>except</em></span> the world volume.
+</p><p>
+An alternative way to specify a Placement utilizes a different
+method to place the volume. The solid itself is moved by rotating
+and translating it to bring it into the system of coordinates of
+the mother volume. This <span class="emphasis"><em>active</em></span> method can be utilized using
+the following constructor:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4PVPlacement(       G4Transform3D      solidTransform,
+                         G4LogicalVolume*   pCurrentLogical,
+                   const G4String&amp;          pName,
+                         G4LogicalVolume*   pMotherLogical,
+                         G4bool             pMany,
+                         G4int              pCopyNo,
+                         G4bool             pSurfChk=false )
+</pre></div><p>
+</p><p>
+An alternative method to specify the mother volume is to specify
+its placed physical volume. It can be used in either of the above
+methods of specifying the placement's position and rotation. The
+effect will be exactly the same as for using the mother logical
+volume.
+</p><p>
+Note that a Placement Volume can still represent multiple
+detector elements. This can happen if several copies exist of the
+mother logical volume. Then different detector elements will belong
+to different branches of the tree of the hierarchy of geometrical
+volumes.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.PhysVol.RepeatVol"></a>4.1.4.2. 
+Repeated volumes
+</h4></div></div></div><p>
+In this case, a single Physical Volume represents multiple copies
+of a volume within its mother volume, allowing to save memory. This
+is normally done when the volumes to be positioned follow a well
+defined rotational or translational symmetry along a Cartesian or
+cylindrical coordinate. The Repeated Volumes technique is available
+for volumes described by CSG solids. 
+</p><h5><a name="id398081"></a>
+Replicas:
+</h5><p>
+Replicas are <span class="emphasis"><em>repeated volumes</em></span> in the case when the
+multiple copies of the volume are all identical. The coordinate
+axis and the number of replicas need to be specified for the
+program to compute at run time the transformation matrix
+corresponding to each copy.
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4PVReplica( const G4String&amp;          pName,
+                       G4LogicalVolume*   pCurrentLogical,
+                       G4LogicalVolume*   pMotherLogical, // OR G4VPhysicalVolume*
+                 const EAxis              pAxis,
+                 const G4int              nReplicas,
+                 const G4double           width,
+                 const G4double           offset=0 )
+</pre></div><p>
+
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pName</code>
+  </td><td>
+    String identifier for the replicated volume
+  </td></tr><tr><td>
+    <code class="literal">pCurrentLogical</code>
+  </td><td>
+    The associated Logical Volume
+   </td></tr><tr><td>
+    <code class="literal">pMotherLogical</code>
+  </td><td>
+    The associated mother volume
+  </td></tr><tr><td>
+    <code class="literal">pAxis</code>
+  </td><td>
+    The axis along with the replication is applied
+  </td></tr><tr><td>
+    <code class="literal">nReplicas</code>
+  </td><td>
+    The number of replicated volumes
+  </td></tr><tr><td>
+    <code class="literal">width</code>
+  </td><td>
+    The width of a single replica along the axis of replication
+  </td></tr><tr><td>
+    <code class="literal">offset</code>
+  </td><td>
+    Possible offset associated to mother offset along the axis of
+    replication
+  </td></tr></tbody></table></div><p>
+</p><p>
+<code class="literal">G4PVReplica</code> represents <code class="literal">nReplicas</code> volumes
+differing only in their positioning, and completely <span class="bold"><strong>filling</strong></span>
+the containing mother volume. Consequently if a
+<code class="literal">G4PVReplica</code> is 'positioned' inside a given mother it
+<span class="bold"><strong>MUST</strong></span> be the mother's only daughter volume. Replica's
+correspond to divisions or slices that completely fill the mother
+volume and have no offsets. For Cartesian axes, slices are
+considered perpendicular to the axis of replication.
+</p><p>
+The replica's positions are calculated by means of a linear
+formula. Replication may occur along:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>Cartesian axes <code class="literal">(kXAxis,kYAxis,kZAxis)</code></em></span>
+    </p><p>
+    The replications, of specified width have coordinates of form
+    <code class="literal">(-width*(nReplicas-1)*0.5+n*width,0,0)</code>
+    </p><p>
+    </p><p>
+    where <code class="literal">n=0.. nReplicas-1</code> for the case of <code class="literal">kXAxis</code>,
+    and are unrotated.
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>Radial axis (cylindrical polar) <code class="literal">(kRho)</code></em></span>
+    </p><p>
+    The replications are cons/tubs sections, centred on the origin and
+    are unrotated.
+    </p><p>
+    </p><p>
+    They have radii of <code class="literal">width*n+offset</code> to
+    <code class="literal">width*(n+1)+offset</code> where
+    <code class="literal">n=0..nReplicas-1</code>
+    </p><p>
+  </p></li><li><p>
+    <span class="emphasis"><em>Phi axis (cylindrical polar) <code class="literal">(kPhi)</code></em></span>
+    </p><p>
+    The replications are <span class="emphasis"><em>phi sections</em></span> or 
+    <span class="emphasis"><em>wedges</em></span>, and of cons/tubs form.
+    </p><p>
+    </p><p>
+    They have <code class="literal">phi</code> of <code class="literal">offset+n*width</code> to
+    <code class="literal">offset+(n+1)*width</code> where 
+    <code class="literal">n=0..nReplicas-1</code>
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+The coordinate system of the replicas is at the centre of each
+replica for the cartesian axis. For the radial case, the coordinate
+system is unchanged from the mother. For the <code class="literal">phi</code> axis, the
+new coordinate system is rotated such that the X axis bisects the
+angle made by each wedge, and Z remains parallel to the mother's Z
+axis.
+</p><p>
+The solid associated via the replicas' logical volume should
+have the dimensions of the first volume created and must be of the
+correct symmetry/type, in order to assist in good
+visualisation.
+</p><p>
+ex. For X axis replicas in a box, the solid should be another box
+with the dimensions of the replications. (same Y &amp; Z dimensions
+as mother box, X dimension = mother's X dimension/nReplicas).
+</p><p>
+Replicas may be placed inside other replicas, provided the above
+rule is observed. Normal placement volumes may be placed inside
+replicas, provided that they do not intersect the mother's or any
+previous replica's boundaries. Parameterised volumes may not be
+placed inside.
+</p><p>
+Because of these rules, it is not possible to place any other
+volume inside a replication in <code class="literal">radius</code>.
+</p><p>
+The world volume <span class="emphasis"><em>cannot</em></span> act as a replica, therefore it
+cannot be sliced.
+</p><p>
+During tracking, the translation + rotation associated with each
+<code class="literal">G4PVReplica</code> object is modified according to the currently
+'active' replication. The solid is not modified and consequently
+has the wrong parameters for the cases of <code class="literal">phi</code> and
+<code class="literal">r</code> replication and for when the cross-section of the mother
+is not constant along the replication.
+</p><p>
+Example:
+
+</p><div class="example"><a name="programlist_Geom.PhysVol_1"></a><p class="title"><b>Example 4.2. 
+An example of simple replicated volumes with <code class="literal">G4PVReplica</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+           G4PVReplica repX("Linear Array",
+                            pRepLogical,
+                            pContainingMother,
+                            kXAxis, 5, 10*mm);
+
+           G4PVReplica repR("RSlices",
+                            pRepRLogical,
+                            pContainingMother,
+                            kRho, 5, 10*mm, 0);
+
+           G4PVReplica repRZ("RZSlices",
+                             pRepRZLogical,
+                             &amp;repR,
+                             kZAxis, 5, 10*mm);
+
+           G4PVReplica repRZPhi("RZPhiSlices",
+                                pRepRZPhiLogical,
+                                &amp;repRZ,
+                                kPhi, 4, M_PI*0.5*rad, 0);
+</pre></div></div><p><br class="example-break">
+</p><p>
+<code class="literal">RepX</code> is an array of 5 replicas of width 10*mm,
+positioned inside and completely filling the volume pointed by
+<code class="literal">pContainingMother</code>. The mother's X length must be
+5*10*mm=50*mm (for example, if the mother's solid were a Box of
+half lengths [25,25,25] then the replica's solid must be a box of
+half lengths [25,25,5]).
+</p><p>
+If the containing mother's solid is a tube of radius 50*mm and
+half Z length of 25*mm, <code class="literal">RepR</code> divides the mother tube into
+5 cylinders (hence the solid associated with <code class="literal">pRepRLogical</code>
+must be a tube of radius 10*mm, and half Z length 25*mm);
+<code class="literal">repRZ</code> divides it into 5 shorter cylinders (the solid
+associated with <code class="literal">pRepRZLogical</code> must be a tube of radius
+10*mm, and half Z length 5*mm); finally, <code class="literal">repRZPhi</code> divides
+it into 4 tube segments with full angle of 90 degrees (the solid
+associated with <code class="literal">pRepRZPhiLogical</code> must be a tube segment of
+radius 10*mm, half Z length 5*mm and delta phi of
+M_PI*0.5*rad).
+</p><p>
+No further volumes may be placed inside these replicas. To do so
+would result in intersecting boundaries due to the <code class="literal">r</code>
+replications.
+</p><h5><a name="id398650"></a>
+Parameterised Volumes:
+</h5><p>
+Parameterised Volumes are <span class="emphasis"><em>repeated volumes</em></span> in the case in
+which the multiple copies of a volume can be different in size,
+solid type, or material. The solid's type, its dimensions, the
+material and the transformation matrix can all be parameterised in
+function of the copy number, both when a strong symmetry exist and
+when it does not. The user implements the desired parameterisation
+function and the program computes and updates automatically at run
+time the information associated to the Physical Volume.
+</p><p>
+An example of creating a parameterised volume (by dimension and
+position) exists in novice example N02. The implementation is
+provided in the two classes <code class="literal">ExN02DetectorConstruction</code> and
+<code class="literal">ExN02ChamberParameterisation</code>.
+</p><p>
+To create a parameterised volume, one must first create its
+logical volume like <code class="literal">trackerChamberLV</code> below. Then one must
+create his own parameterisation class
+(<span class="emphasis"><em>ExN02ChamberParameterisation</em></span>) and instantiate an object of
+this class (<code class="literal">chamberParam</code>). We will see how to create the
+parameterisation below.
+
+</p><div class="example"><a name="programlist_Geom.PhysVol_2"></a><p class="title"><b>Example 4.3. 
+An example of Parameterised volumes.
+</b></p><div class="example-contents"><pre class="programlisting">
+  //------------------------------
+  // Tracker segments
+  //------------------------------
+  // An example of Parameterised volumes
+  // dummy values for G4Box -- modified by parameterised volume
+  G4VSolid * solidChamber =
+                new G4Box("chamberBox", 10.*cm, 10.*cm, 10.*cm);
+
+  G4LogicalVolume * trackerChamberLV
+    = new G4LogicalVolume(solidChamber, Aluminum, "trackerChamberLV");
+  G4VPVParameterisation * chamberParam
+    = new ExN02ChamberParameterisation(
+                         6,           //  NoChambers,
+                        -240.*cm,     //  Z of centre of first
+                        80*cm,        //  Z spacing of centres
+                        20*cm,        //  Width Chamber,
+                        50*cm,        //  lengthInitial,
+                        trackerSize*2.); //  lengthFinal
+
+  G4VPhysicalVolume *trackerChamber_phys
+    = new G4PVParameterised("TrackerChamber_parameterisedPV",
+                       trackerChamberLV, // Its logical volume
+                       logicTracker,     // Mother logical volume
+                       kUndefined,       // Allow default voxelising -- no axis
+                       6,                // Number of chambers
+                       chamberParam);    // The parameterisation
+  // "kUndefined" is the suggested choice, giving 3D voxelisation (i.e. along the three 
+  // cartesian axes, as is applied for placements.
+  //
+  // Note:  In some cases where volume have clear separation along a single axis, 
+  // this axis (eg kZAxis) can be used to choose (force) optimisation only along
+  // this axis in geometrical calculations.
+  // When an axis is given it forces the use of one-dimensional voxelisation.
+</pre></div></div><p><br class="example-break">
+</p><p>
+The general constructor is:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4PVParameterised( const G4String&amp;              pName,
+                             G4LogicalVolume*       pCurrentLogical,
+                             G4LogicalVolume*       pMotherLogical, // OR G4VPhysicalVolume*
+                       const EAxis                  pAxis,
+                       const G4int                  nReplicas,
+                             G4VPVParameterisation* pParam,
+                             G4bool                 pSurfChk=false )
+ 
+</pre></div><p>
+</p><p>
+Note that for a parameterised volume the user must always
+specify a mother volume. So the world volume can <span class="emphasis"><em>never</em></span> be a
+parameterised volume, nor it can be sliced. The mother volume can
+be specified either as a physical or a logical volume.
+</p><p>
+<code class="literal">pAxis</code> specifies the tracking optimisation algorithm to
+apply: if a valid axis (the axis along which the parameterisation
+is performed) is specified, a simple one-dimensional voxelisation
+algorithm is applied; if "kUndefined" is specified instead, the
+default three-dimensional voxelisation algorithm applied for normal
+placements will be activated. In the latter case, more voxels will
+be generated, therefore a greater amount of memory will be consumed
+by the optimisation algorithm.
+</p><p>
+<code class="literal">pSurfChk</code> if <code class="literal">true</code> activates a check for
+overlaps with existing volumes or paramaterised instances.
+</p><p>
+The parameterisation mechanism associated to a parameterised
+volume is defined in the parameterisation class and its methods.
+Every parameterisation must create two methods:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">ComputeTransformation</code> defines where one of the copies
+    is placed,
+  </p></li><li><p>
+    <code class="literal">ComputeDimensions</code> defines the size of one copy, and
+  </p></li><li><p>
+    a constructor that initializes any member variables that are
+    required.
+  </p></li></ul></div><p>
+
+</p><p>
+An example is <code class="literal">ExN02ChamberParameterisation</code> that
+parameterises a series of boxes of different sizes
+
+</p><div class="example"><a name="programlist_Geom.PhysVol_3"></a><p class="title"><b>Example 4.4. 
+An example of Parameterised boxes of different sizes.
+</b></p><div class="example-contents"><pre class="programlisting">
+ class ExN02ChamberParameterisation : public G4VPVParameterisation
+ {
+   ...
+   void ComputeTransformation(const G4int       copyNo,
+                              G4VPhysicalVolume *physVol) const;
+
+   void ComputeDimensions(G4Box&amp;              trackerLayer,
+                          const G4int             copyNo,
+                          const G4VPhysicalVolume *physVol) const;
+   ...
+ }
+</pre></div></div><p><br class="example-break">
+</p><p>
+
+</p><p>
+These methods works as follows:
+</p><p>
+
+</p><p>
+The <code class="literal">ComputeTransformation</code> method is called with a copy
+number for the instance of the parameterisation under
+consideration. It must compute the transformation for this copy,
+and set the physical volume to utilize this transformation:
+
+</p><div class="informalexample"><pre class="programlisting">
+ void ExN02ChamberParameterisation::ComputeTransformation
+ (const G4int copyNo,G4VPhysicalVolume *physVol) const
+ {
+   G4double      Zposition= fStartZ + copyNo * fSpacing;
+   G4ThreeVector origin(0,0,Zposition);
+   physVol-&gt;SetTranslation(origin);
+   physVol-&gt;SetRotation(0);
+ }
+</pre></div><p>
+</p><p>
+
+</p><p>
+Note that the translation and rotation given in this scheme are
+those for the frame of coordinates (the <span class="emphasis"><em>passive</em></span> method).
+They are <span class="bold"><strong>not</strong></span> for the 
+<span class="emphasis"><em>active</em></span> method, in which the
+solid is rotated into the mother frame of coordinates.
+</p><p>
+
+</p><p>
+Similarly the <code class="literal">ComputeDimensions</code> method is used to set
+the size of that copy.
+
+</p><div class="informalexample"><pre class="programlisting">
+ void ExN02ChamberParameterisation::ComputeDimensions
+ (G4Box &amp; trackerChamber, const G4int copyNo,
+  const G4VPhysicalVolume * physVol) const
+ {
+   G4double  halfLength= fHalfLengthFirst + (copyNo-1) * fHalfLengthIncr;
+   trackerChamber.SetXHalfLength(halfLength);
+   trackerChamber.SetYHalfLength(halfLength);
+   trackerChamber.SetZHalfLength(fHalfWidth);
+ }
+</pre></div><p> 
+</p><p>
+
+</p><p>
+The user must ensure that the type of the first argument of this
+method (in this example <code class="literal">G4Box &amp;</code>) corresponds to the
+type of object the user give to the logical volume of parameterised
+physical volume.
+</p><p>
+
+</p><p>
+More advanced usage allows the user:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    to change the type of solid by creating a <code class="literal">ComputeSolid</code>
+    method, or
+  </p></li><li><p>
+    to change the material of the volume by creating a
+    <code class="literal">ComputeMaterial</code> method. This method can also utilise
+    information from a parent or other ancestor volume (see the Nested
+    Parameterisation below.)
+  </p></li></ul></div><p>
+
+for the parameterisation.
+</p><p>
+
+</p><p>
+Example N07 shows a simple parameterisation by material. A more
+complex example is provided in
+<code class="literal">examples/extended/medical/DICOM</code>, where a phantom grid of
+cells is built using a parameterisation by material defined through
+a map.
+</p><p>
+
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+Currently for many cases it is not possible to add
+daughter volumes to a parameterised volume. Only parameterised
+volumes all of whose solids have the same size are allowed to
+contain daughter volumes. When the size or type of solid varies,
+adding daughters is not supported.
+</p><p>
+So the full power of parameterised volumes can be used only for
+"leaf" volumes, which contain no other volumes.
+</p></div><p>
+
+
+
+</p><h5><a name="id399003"></a>
+Advanced parameterisations for 'nested' parameterised volumes
+</h5><p>
+
+</p><p>
+A new type of parameterisation enables a user to have the
+daughter's material also depend on the copy number of the parent
+when a parameterised volume (daughter) is located inside another
+(parent) repeated volume. The parent volume can be a replica, a
+parameterised volume, or a division if the key feature of modifying
+its contents is utilised. (Note: a 'nested' parameterisation inside
+a placement volume is not supported, because all copies of a
+placement volume must be identical at all levels.)
+</p><p>
+
+</p><p>
+In such a " nested" parameterisation , the user must provide a
+<code class="literal">ComputeMaterial</code> method that utilises the new argument that
+represents the touchable history of the parent volume:
+
+</p><div class="informalexample"><pre class="programlisting">
+// Sample Parameterisation
+class SampleNestedParameterisation : public G4VNestedParameterisation
+{
+ public:
+   // .. other methods ...
+    // Mandatory method, required and reason for this class
+    virtual G4Material* ComputeMaterial(G4VPhysicalVolume *currentVol,
+                                                           const G4int no_lev, 
+                                                           const G4VTouchable *parentTouch);
+ private:
+    G4Material *material1, *material2;  
+};
+</pre></div><p>  
+</p><p>
+
+</p><p>
+The implementation of the method can utilise any information
+from a parent or other ancestor volume of its parameterised
+physical volume, but typically it will use only the copy
+number:
+
+</p><div class="informalexample"><pre class="programlisting">  
+ G4Material* 
+ SampleNestedParameterisation::ComputeMaterial(G4VPhysicalVolume *currentVol,
+                                               const G4int no_lev, 
+                                               const G4VTouchable *parentTouchable)
+ {
+    G4Material *material=0;
+        
+    // Get the information about the parent volume
+    G4int no_parent= parentTouchable-&gt;GetReplicaNumber(); 
+    G4int no_total= no_parent + no_lev; 
+    // A simple 'checkerboard' pattern of two materials 
+    if( no_total / 2 == 1 ) material= material1;
+    else  material= material2; 
+    // Set the material to the current logical volume 
+    G4LogicalVolume* currentLogVol= currentVol-&gt;GetLogicalVolume(); 
+    currentLogVol-&gt;SetMaterial( material ); 
+    return material;
+ }
+</pre></div><p>  
+</p><p>
+
+</p><p>
+Nested parameterisations are suitable for the case of regular,
+'voxel' geometries in which a large number of 'equal' volumes are
+required, and their only difference is in their material. By
+creating two (or more) levels of parameterised physical volumes it
+is possible to divide space, while requiring only limited
+additional memory for very fine-level optimisation. This provides
+fast navigation. Alternative implementations, taking into account
+the regular structure of such geometries in navigation are under
+study.
+</p><p>
+
+
+</p><h5><a name="id399078"></a>
+Divisions of Volumes
+</h5><p>
+
+</p><p>
+Divisions in Geant4 are implemented as a specialized type of
+parameterised volumes.
+</p><p>
+
+</p><p>
+They serve to divide a volume into identical copies along one of
+its axes, providing the possibility to define an <span class="emphasis"><em>offset</em></span>, and
+without the limitation that the daugthers have to fill the mother
+volume as it is the case for the replicas. In the case, for
+example, of a tube divided along its radial axis, the copies are
+not strictly identical, but have increasing radii, although their
+widths are constant.
+</p><p>
+
+</p><p>
+To divide a volume it will be necessary to provide:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    the axis of division, and
+  </p></li><li><p>
+    either
+    </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+        the number of divisions (so that the width of each division
+        will be automatically calculated), or
+      </p></li><li><p>
+        the division width (so that the number of divisions will be
+        automatically calculated to fill as much of the mother as
+        possible), or
+      </p></li><li><p>
+        both the number of divisions and the division width (this is
+        especially designed for the case where the copies do not fully fill
+        the mother).
+      </p></li></ul></div><p>
+  </p></li></ol></div><p>
+</p><p>
+
+</p><p>
+An <span class="emphasis"><em>offset</em></span> can be defined so that the first copy will
+start at some distance from the mother wall. The dividing copies
+will be then distributed to occupy the rest of the volume.
+</p><p>
+
+</p><p>
+There are three constructors, corresponding to the three input
+possibilities described above:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Giving only the number of divisions:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4int nDivisions,
+                   const G4double offset )
+    </pre></div><p>
+  </p></li><li><p>
+    Giving only the division width:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4double width,
+                   const G4double offset )
+    </pre></div><p>
+  </p></li><li><p>
+    Giving the number of divisions and the division width:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     G4PVDivision( const G4String&amp; pName,
+                         G4LogicalVolume* pCurrentLogical,
+                         G4LogicalVolume* pMotherLogical,
+                   const EAxis pAxis,
+                   const G4int nDivisions,
+                   const G4double width,
+                   const G4double offset )
+    </pre></div><p>
+  </p></li></ul></div><p>
+
+where:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">pName</code>
+  </td><td>
+    String identifier for the replicated volume
+  </td></tr><tr><td>
+    <code class="literal">pCurrentLogical</code>
+  </td><td>
+    The associated Logical Volume
+  </td></tr><tr><td>
+    <code class="literal">pMotherLogical</code>
+  </td><td>
+    The associated mother Logical Volume
+  </td></tr><tr><td>
+    <code class="literal">pAxis</code>
+  </td><td>
+    The axis along which the division is applied
+  </td></tr><tr><td>
+    <code class="literal">nDivisions</code>
+  </td><td>
+    The number of divisions
+  </td></tr><tr><td>
+    <code class="literal">width</code>
+  </td><td>
+    The width of a single division along the axis
+  </td></tr><tr><td>
+    <code class="literal">offset</code>
+  </td><td>
+    Possible offset associated to the mother along the axis of division
+  </td></tr></tbody></table></div><p>
+</p><p>
+
+</p><p>
+The parameterisation is calculated automatically using the
+values provided in input. Therefore the dimensions of the solid
+associated with <code class="literal">pCurrentLogical</code> will not be used, but
+recomputed through the
+<code class="literal">G4VParameterisation::ComputeDimension()</code> method.
+</p><p>
+
+</p><p>
+Since <code class="literal">G4VPVParameterisation</code> may have different
+<code class="literal">ComputeDimension()</code> methods for each solid type, the user
+must provide a solid that is of the same type as of the one
+associated to the mother volume.
+</p><p>
+
+</p><p>
+As for any replica, the coordinate system of the divisions is
+related to the centre of each division for the cartesian axis. For
+the radial axis, the coordinate system is the same of the mother
+volume. For the phi axis, the new coordinate system is rotated such
+that the X axis bisects the angle made by each wedge, and Z remains
+parallel to the mother's Z axis.
+</p><p>
+
+</p><p>
+As divisions are parameterised volumes with constant dimensions,
+they may be placed inside other divisions, except in the case of
+divisions along the radial axis.
+</p><p>
+
+</p><p>
+It is also possible to place other volumes inside a volume where a
+division is placed.
+</p><p>
+
+</p><p>
+The list of volumes that currently support divisioning and the
+possible division axis are summarised below:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+    <code class="literal">G4Box</code>
+  </td><td>
+    <code class="literal">kXAxis</code>, <code class="literal">kYAxis</code>, <code class="literal">kZAxis</code>
+  </td></tr><tr><td>
+    <code class="literal">G4Tubs</code>
+  </td><td>
+    <code class="literal">kRho</code>, <code class="literal">kPhi</code>, <code class="literal">kZAxis</code>
+  </td></tr><tr><td>
+    <code class="literal">G4Cons</code>
+  </td><td>
+    <code class="literal">kRho</code>, <code class="literal">kPhi</code>, <code class="literal">kZAxis</code>
+  </td></tr><tr><td>
+    <code class="literal">G4Trd</code>
+  </td><td>
+    <code class="literal">kXAxis</code>, <code class="literal">kYAxis</code>, <code class="literal">kZAxis</code>
+  </td></tr><tr><td>
+    <code class="literal">G4Para</code>
+  </td><td>
+    <code class="literal">kXAxis</code>, <code class="literal">kYAxis</code>, <code class="literal">kZAxis</code>
+  </td></tr><tr><td>
+    <code class="literal">G4Polycone</code>
+  </td><td>
+    <code class="literal">kRho</code>, <code class="literal">kPhi</code>, <code class="literal">kZAxis</code> (*)
+  </td></tr><tr><td>
+    <code class="literal">G4Polyhedra</code>
+  </td><td>
+    <code class="literal">kRho</code>, <code class="literal">kPhi</code>, <code class="literal">kZAxis</code> (**)
+  </td></tr></tbody></table></div><p>
+</p><p>
+
+
+</p><p>
+(*) - <code class="literal">G4Polycone</code>:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">kZAxis</code> - the number of divisions has to be the same as
+    solid sections, (i.e. <code class="literal">numZPlanes-1</code>), the width will
+    <span class="emphasis"><em>not</em></span> be taken into account.</p></li></ul></div><p>
+</p><p>
+
+</p><p>
+(**) - <code class="literal">G4Polyhedra</code>:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">kPhi</code> - the number of divisions has to be the same as
+    solid sides, (i.e. <code class="literal">numSides</code>), the width will 
+    <span class="emphasis"><em>not</em></span> be taken into account.
+  </p></li><li><p>
+    <code class="literal">kZAxis</code> - the number of divisions has to be the same as
+    solid sections, (i.e. <code class="literal">numZPlanes-1</code>), the width will
+    <span class="emphasis"><em>not</em></span> be taken into account.
+  </p></li></ul></div><p>
+</p><p>
+
+</p><p>
+In the case of division along <code class="literal">kRho</code> of <code class="literal">G4Cons</code>,
+<code class="literal">G4Polycone</code>, <code class="literal">G4Polyhedra</code>, if width is provided, it
+is taken as the width at the <code class="literal">-Z</code> radius; the width at other
+radii will be scaled to this one.
+</p><p>
+
+</p><p>
+Examples are given below in listings 
+<a href="ch04.html#programlist_Geom.PhysVol_3" title="Example 4.4. 
+An example of Parameterised boxes of different sizes.
+">Example 4.4</a> and 
+<a href="ch04.html#programlist_Geom.PhysVol_4" title="Example 4.5. 
+An example of a box division along different axes, with or without offset.
+">Example 4.5</a>.
+
+</p><div class="example"><a name="programlist_Geom.PhysVol_4"></a><p class="title"><b>Example 4.5. 
+An example of a box division along different axes, with or without offset.
+</b></p><div class="example-contents"><pre class="programlisting">
+ G4Box* motherSolid = new G4Box("motherSolid", 0.5*m, 0.5*m, 0.5*m);
+ G4LogicalVolume* motherLog = new G4LogicalVolume(motherSolid, material, "mother",0,0,0);
+ G4Para* divSolid = new G4Para("divSolid", 0.512*m, 1.21*m, 1.43*m);
+ G4LogicalVolume* childLog = new G4LogicalVolume(divSolid, material, "child",0,0,0);
+
+ G4PVDivision divBox1("division along X giving nDiv",
+                      childLog, motherLog, kXAxis, 5, 0.);
+
+ G4PVDivision divBox2("division along X giving width and offset",
+                      childLog, motherLog, kXAxis, 0.1*m, 0.45*m);
+
+ G4PVDivision divBox3("division along X giving nDiv, width and offset",
+                      childLog, motherLog, kXAxis, 3, 0.1*m, 0.5*m);
+</pre></div></div><p><br class="example-break">
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">divBox1</code> is a division of a box along its <code class="literal">X</code>
+    axis in 5 equal copies. Each copy will have a dimension in meters
+    of <code class="literal">[0.2, 1., 1.]</code>.
+  </p></li><li><p>
+    <code class="literal">divBox2</code> is a division of the same box along its
+    <code class="literal">X</code> axis with a width of <code class="literal">0.1</code> meters and
+    an offset of <code class="literal">0.5</code> meters. As the mother dimension along 
+    <code class="literal">X</code> of
+    <code class="literal">1</code> meter (<code class="literal">0.5*m</code> of halflength), 
+    the division will
+    be sized in total <code class="literal">1 - 0.45 = 0.55</code> meters. Therefore,
+    there's space for 5 copies, the first extending from <code class="literal">-0.05</code>
+    to <code class="literal">0.05</code> meters in the mother's frame and the last from
+    <code class="literal">0.35</code> to <code class="literal">0.45</code> meters.
+  </p></li><li><p>
+    <code class="literal">divBox3</code> is a division of the same box along its
+    <code class="literal">X</code> axis in 3 equal copies of width <code class="literal">0.1</code> 
+    meters and an offset of <code class="literal">0.5</code> meters. 
+    The first copy will extend from
+    <code class="literal">0.</code> to <code class="literal">0.1</code> meters in the mother's frame 
+    and the last from <code class="literal">0.2</code> to <code class="literal">0.3</code> 
+    meters.
+  </p></li></ul></div><p>
+</p><p>
+
+</p><div class="example"><a name="programlist_Geom.PhysVol_5"></a><p class="title"><b>Example 4.6. 
+An example of division of a polycone.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4double* zPlanem = new G4double[3];
+            zPlanem[0]= -1.*m;
+            zPlanem[1]= -0.25*m;
+            zPlanem[2]=  1.*m;
+  G4double* rInnerm = new G4double[3];
+            rInnerm[0]=0.;
+            rInnerm[1]=0.1*m;
+            rInnerm[2]=0.5*m;
+  G4double* rOuterm  = new G4double[3];
+            rOuterm[0]=0.2*m;
+            rOuterm[1]=0.4*m;
+            rOuterm[2]=1.*m;
+  G4Polycone* motherSolid = new G4Polycone("motherSolid", 20.*deg, 180.*deg,
+                                           3, zPlanem, rInnerm, rOuterm);
+  G4LogicalVolume* motherLog = new G4LogicalVolume(motherSolid, material, "mother",0,0,0);
+
+  G4double* zPlaned = new G4double[3];
+            zPlaned[0]= -3.*m;
+            zPlaned[1]= -0.*m;
+            zPlaned[2]=  1.*m;
+  G4double* rInnerd = new G4double[3];
+            rInnerd[0]=0.2;
+            rInnerd[1]=0.4*m;
+            rInnerd[2]=0.5*m;
+  G4double* rOuterd  = new G4double[3];
+            rOuterd[0]=0.5*m;
+            rOuterd[1]=0.8*m;
+            rOuterd[2]=2.*m;
+  G4Polycone* divSolid = new G4Polycone("divSolid", 0.*deg, 10.*deg,
+                                        3, zPlaned, rInnerd, rOuterd);
+  G4LogicalVolume* childLog = new G4LogicalVolume(divSolid, material, "child",0,0,0);
+
+  G4PVDivision divPconePhiW("division along phi giving width and offset",
+                            childLog, motherLog, kPhi, 30.*deg, 60.*deg);
+
+  G4PVDivision divPconeZN("division along Z giving nDiv and offset",
+                          childLog, motherLog, kZAxis, 2, 0.1*m);
+</pre></div></div><p><br class="example-break">
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">divPconePhiW</code> is a division of a polycone along its
+    <code class="literal">phi</code> axis in equal copies of width 30 degrees with an
+    offset of 60 degrees. As the mother extends from 0 to 180 degrees,
+    there's space for 4 copies. All the copies have a starting angle of
+    20 degrees (as for the mother) and a <code class="literal">phi</code> extension of 30
+    degrees. They are rotated around the <code class="literal">Z</code> axis by 60 and 30
+    degrees, so that the first copy will extend from 80 to 110 and the
+    last from 170 to 200 degrees.
+  </p></li><li><p>
+    <code class="literal">divPconeZN</code> is a division of the same polycone along
+    its <code class="literal">Z</code> axis. As the mother polycone has two sections, it
+    will be divided in two one-section polycones, the first one
+    extending from -1 to -0.25 meters, the second from -0.25 to 1
+    meters. Although specified, the offset will not be used.
+  </p></li></ul></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Touch"></a>4.1.5. 
+Touchables: Uniquely Identifying a Volume
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Touch.Intro"></a>4.1.5.1. 
+Introduction to Touchables
+</h4></div></div></div><p>
+A <span class="emphasis"><em>touchable</em></span> for a volume serves the purpose of providing
+a unique identification for a detector element. This can be useful
+for description of the geometry alternative to the one used by the
+Geant4 tracking system, such as a Sensitive Detectors based
+read-out geometry, or a parameterised geometry for fast Monte
+Carlo. In order to create a <span class="emphasis"><em>touchable volume</em></span>, several
+techniques can be implemented: for example, in Geant4 touchables
+are implemented as solids associated to a transformation-matrix in
+the global reference system, or as a hierarchy of physical volumes
+up to the root of the geometrical tree.
+</p><p>
+A touchable is a geometrical entity (volume or solid) which has
+a unique placement in a detector description. It is represented by
+an abstract base class which can be implemented in a variety of
+ways. Each way must provide the capabilities of obtaining the
+transformation and solid that is described by the touchable.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Touch.WhatCan"></a>4.1.5.2. 
+What can a Touchable do?
+</h4></div></div></div><p>
+All <code class="literal">G4VTouchable</code> implementations must respond to the
+two following "requests", where in all cases, by <code class="literal">depth</code> it
+is meant the number of levels <span class="emphasis"><em>up</em></span> in the tree to be
+considered (the default and current one is <code class="literal">0</code>):
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <code class="literal">GetTranslation(depth)</code>
+  </p></li><li><p>
+    <code class="literal">GetRotation(depth)</code>
+  </p></li></ol></div><p>
+
+that return the components of the volume's transformation.
+</p><p>
+Additional capabilities are available from implementations with
+more information. These have a default implementation that causes
+an exception.
+</p><p>
+Several capabilities are available from touchables with physical
+volumes:
+
+</p><div class="orderedlist"><ol start="3" type="1"><li><p>
+    <code class="literal">GetSolid(depth)</code> gives the solid associated to the
+    touchable.
+  </p></li><li><p>
+    <code class="literal">GetVolume(depth)</code> gives the physical volume.
+  </p></li><li><p>
+    <code class="literal">GetReplicaNumber(depth)</code> or
+    <code class="literal">GetCopyNumber(depth)</code> which return the copy number of the
+    physical volume (replicated or not).
+  </p></li></ol></div><p>
+</p><p>
+Touchables that store volume hierarchy (history) have the whole
+stack of parent volumes available. Thus it is possible to add a
+little more state in order to extend its functionality. We add a
+"pointer" to a level and a member function to move the level in
+this stack. Then calling the above member functions for another
+level the information for that level can be retrieved.
+</p><p>
+The top of the history tree is, by convention, the world
+volume.
+
+</p><div class="orderedlist"><ol start="6" type="1"><li><p>
+    <code class="literal">GetHistoryDepth()</code> gives the depth of the history
+    tree.
+  </p></li><li><p>
+    </p><p>
+    <code class="literal">MoveUpHistory(num)</code> moves the current pointer inside
+    the touchable to point <code class="literal">num</code> levels up the history tree.
+    Thus, e.g., calling it with <code class="literal">num=1</code> will cause the internal
+    pointer to move to the mother of the current volume.
+    </p><p>
+    </p><p>
+    WARNING: this function changes the state of the touchable and can
+    cause errors in tracking if applied to Pre/Post step
+    touchables.
+    </p><p>
+  </p></li></ol></div><p>
+</p><p>
+These methods are valid only for the <span class="emphasis"><em>touchable-history</em></span> type,
+as specified also below.
+</p><p>
+An update method, with different arguments is available, so that
+the information in a touchable can be updated:
+
+</p><div class="orderedlist"><ol start="8" type="1"><li><p>
+    <code class="literal">UpdateYourself(vol, history)</code> takes a physical volume
+    pointer and can additionally take a <code class="literal">NavigationHistory</code>
+    pointer.
+  </p></li></ol></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Touch.History"></a>4.1.5.3. 
+Touchable history holds stack of geometry data
+</h4></div></div></div><p>
+As shown in Sections 
+<a href="ch04.html#sect.Geom.LogVol" title="4.1.3. 
+Logical Volumes
+">Section 4.1.3</a> and <a href="ch04.html#sect.Geom.PhysVol" title="4.1.4. 
+Physical Volumes
+">Section 4.1.4</a>, 
+a logical volume represents unpositioned detector elements, and a physical 
+volume can represent multiple detector elements. On the other hand,
+touchables provide a unique identification for a detector element.
+In particular, the Geant4 transportation process and the tracking
+system exploit touchables as implemented in
+<code class="literal">G4TouchableHistory</code>. The touchable history is the minimal
+set of information required to specify the full genealogy of a
+given physical volume (up to the root of the geometrical tree).
+These touchable volumes are made available to the user at every
+step of the Geant4 tracking in <code class="literal">G4VUserSteppingAction</code>.
+</p><p>
+To create/access a <code class="literal">G4TouchableHistory</code> the user must
+message <code class="literal">G4Navigator</code> which provides the method
+<code class="literal">CreateTouchableHistoryHandle()</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4TouchableHistoryHandle CreateTouchableHistoryHandle() const;
+</pre></div><p>
+
+this will return a handle to the touchable.
+</p><p>
+The methods that differentiate the touchable-history from other
+touchables (since they have meaning only for this type...),
+are:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4int GetHistoryDepth()  const;
+  G4int MoveUpHistory( G4int num_levels = 1 );
+</pre></div><p>
+</p><p>
+The first method is used to find out how many levels deep in the
+geometry tree the current volume is. The second method asks the
+touchable to eliminate its deepest level.
+</p><p>
+As mentioned above, <code class="literal">MoveUpHistory(num)</code> significantly
+modifies the state of a touchable.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Assemb"></a>4.1.6. 
+Creating an Assembly of Volumes
+</h3></div></div></div><p>
+<code class="literal">G4AssemblyVolume</code> is a helper class which allows several
+logical volumes to be combined together in an arbitrary way in 3D
+space. The result is a placement of a normal logical volume, but
+where final physical volumes are many.
+</p><p>
+However, an <span class="emphasis"><em>assembly</em></span> volume does not act as a real mother
+volume, being an envelope for its daughter volumes. Its role is
+over at the time the placement of the logical assembly volume is
+done. The physical volume objects become independent copies of each
+of the assembled logical volumes.
+</p><p>
+This class is particularly useful when there is a need to create
+a regular pattern in space of a complex component which consists of
+different shapes and can't be obtained by using replicated volumes
+or parametrised volumes (see also <a href="ch04.html#fig.Geom.Assem_1" title="Figure 4.2. 
+Examples of assembly of volumes.
+">Figure 4.2</a> 
+reful usage of <code class="literal">G4AssemblyVolume</code> must be considered 
+though, in order to avoid cases of "proliferation" of physical volumes 
+all placed in the same mother.
+</p><div class="figure"><a name="fig.Geom.Assem_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/geometry.src/avex1and2.jpg" align="middle" alt="Assembly volumes"></div></div><p class="title"><b>Figure 4.2. 
+Examples of <span class="emphasis"><em>assembly</em></span> of volumes.
+</b></p></div><br class="figure-break"><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Assemb.Fill"></a>4.1.6.1. 
+Filling an assembly volume with its "daughters"
+</h4></div></div></div><p>
+Participating logical volumes are represented as a triplet of
+&lt;logical volume, translation, rotation&gt;
+(<code class="literal">G4AssemblyTriplet</code> class).
+</p><p>
+The adopted approach is to place each participating logical volume
+with respect to the assembly's coordinate system, according to the
+specified translation and rotation.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Assemb.Place"></a>4.1.6.2. 
+Assembly volume placement
+</h4></div></div></div><p>
+An assembly volume object is composed of a set of logical
+volumes; imprints of it can be made inside a mother logical
+volume.
+</p><p>
+Since the assembly volume class generates physical volumes
+during each imprint, the user has no way to specify identifiers for
+these. An internal counting mechanism is used to compose uniquely
+the names of the physical volumes created by the invoked
+<code class="literal">MakeImprint(...)</code> method(s).
+</p><p>
+The name for each of the physical volume is generated with
+the following format:
+
+</p><div class="informalexample"><pre class="programlisting">
+    av_<span class="bold"><strong>WWW</strong></span>_impr_<span class="bold"><strong>XXX</strong></span>_<span class="bold"><strong>YYY</strong></span>_<span class="bold"><strong>ZZZ</strong></span>
+</pre></div><p>
+
+where:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>WWW</strong></span> - assembly volume instance number
+  </p></li><li><p>
+    <span class="bold"><strong>XXX</strong></span> - assembly volume imprint number
+  </p></li><li><p>
+    <span class="bold"><strong>YYY</strong></span> - the name of the placed logical
+    volume
+  </p></li><li><p>
+    <span class="bold"><strong>ZZZ</strong></span> - the logical volume index inside the assembly
+    volume
+  </p></li></ul></div><p>
+</p><p>
+It is however possible to access the constituent physical volumes
+of an assembly and eventually customise ID and copy-number.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Assemb.Destruct"></a>4.1.6.3. 
+Destruction of an assembly volume
+</h4></div></div></div><p>
+At destruction all the generated physical volumes and associated
+rotation matrices of the imprints will be destroyed. A list of
+physical volumes created by <code class="literal">MakeImprint()</code> method is kept,
+in order to be able to cleanup the objects when not needed anymore.
+This requires the user to keep the assembly objects in memory
+during the whole job or during the life-time of the
+<code class="literal">G4Navigator</code>, logical volume store and physical volume
+store may keep pointers to physical volumes generated by the
+assembly volume.
+</p><p>
+The <code class="literal">MakeImprint()</code> method will operate correctly also on
+transformations including reflections and can be applied also to
+recursive assemblies (i.e., it is possible to generate imprints of
+assemblies including other assemblies).
+Giving <code class="literal">true</code> as the last argument of the 
+<code class="literal">MakeImprint()</code> method,
+it is possible to activate the volumes overlap check for the assembly's
+constituents (the default is <code class="literal">false</code>).
+</p><p>
+At destruction of a <code class="literal">G4AssemblyVolume</code>, all its generated
+physical volumes and rotation matrices will be freed.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Assemb.Example"></a>4.1.6.4. 
+Example
+</h4></div></div></div><p>
+This example shows how to use the <code class="literal">G4AssemblyVolume</code>
+class. It implements a layered detector where each layer consists
+of 4 plates.
+</p><p>
+In the code below, at first the world volume is defined, then
+solid and logical volume for the plate are created, followed by the
+definition of the assembly volume for the layer.
+</p><p>
+The assembly volume for the layer is then filled by the plates in
+the same way as normal physical volumes are placed inside a mother
+volume.
+</p><p>
+Finally the layers are placed inside the world volume as the
+imprints of the assembly volume (see <a href="ch04.html#programlist_Geom.Assem_1" title="Example 4.7. 
+An example of usage of the G4AssemblyVolume class.
+">Example 4.7</a>).
+
+</p><div class="example"><a name="programlist_Geom.Assem_1"></a><p class="title"><b>Example 4.7. 
+An example of usage of the <code class="literal">G4AssemblyVolume</code> class.
+</b></p><div class="example-contents"><pre class="programlisting">
+ static unsigned int layers = 5;
+
+ void TstVADetectorConstruction::ConstructAssembly()
+ {
+   // Define world volume
+   G4Box* WorldBox = new G4Box( "WBox", worldX/2., worldY/2., worldZ/2. );
+   G4LogicalVolume*   worldLV  = new G4LogicalVolume( WorldBox, selectedMaterial, "WLog", 0, 0, 0);
+   G4VPhysicalVolume* worldVol = new G4PVPlacement(0, G4ThreeVector(), "WPhys",worldLV,
+                                                   0, false, 0);
+
+   // Define a plate
+   G4Box* PlateBox = new G4Box( "PlateBox", plateX/2., plateY/2., plateZ/2. );
+   G4LogicalVolume* plateLV = new G4LogicalVolume( PlateBox, Pb, "PlateLV", 0, 0, 0 );
+
+   // Define one layer as one assembly volume
+   G4AssemblyVolume* assemblyDetector = new G4AssemblyVolume();
+
+   // Rotation and translation of a plate inside the assembly
+   G4RotationMatrix Ra;
+   G4ThreeVector Ta;
+
+   // Rotation of the assembly inside the world
+   G4RotationMatrix Rm;
+
+   // Fill the assembly by the plates
+   Ta.setX( caloX/4. ); Ta.setY( caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   Ta.setX( -1*caloX/4. ); Ta.setY( caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   Ta.setX( -1*caloX/4. ); Ta.setY( -1*caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   Ta.setX( caloX/4. ); Ta.setY( -1*caloY/4. ); Ta.setZ( 0. );
+   assemblyDetector-&gt;AddPlacedVolume( plateLV, G4Transform3D(Ta,Ra) );
+
+   // Now instantiate the layers
+   for( unsigned int i = 0; i &lt; layers; i++ )
+   {
+     // Translation of the assembly inside the world
+     G4ThreeVector Tm( 0,0,i*(caloZ + caloCaloOffset) - firstCaloPos );
+     assemblyDetector-&gt;MakeImprint( worldLV, G4Transform3D(Tm,Rm) );
+   }
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+The resulting detector will look as in <a href="ch04.html#fig.Geom.Assem_2" title="Figure 4.3. 
+The geometry corresponding to the previous example code (An example of usage of the G4AssemblyVolume class).
+">Figure 4.3</a>, 
+below:
+
+</p><div class="figure"><a name="fig.Geom.Assem_2"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="AllResources/Detector/geometry.src/avpic.jpg" align="middle" alt="Assembly volume detector"></div></div><p class="title"><b>Figure 4.3. 
+The geometry corresponding to the previous example code (An example of usage of the <code class="literal">G4AssemblyVolume</code> class).
+</b></p></div><p><br class="figure-break">
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Reflec"></a>4.1.7. 
+Reflecting Hierarchies of Volumes
+</h3></div></div></div><p>
+Hierarchies of volumes based on <span class="emphasis"><em>CSG</em></span> or 
+<span class="emphasis"><em>specific</em></span> solids can be reflected by means of the
+<code class="literal">G4ReflectionFactory</code> class and <code class="literal">G4ReflectedSolid</code>,
+which implements a solid that has been shifted from its original
+reference frame to a new 'reflected' one. The reflection
+transformation is applied as a decomposition into rotation and
+translation transformations.
+</p><p>
+The factory is a singleton object which provides the following
+methods:
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4PhysicalVolumesPair Place(const G4Transform3D&amp;   transform3D,
+                               const G4String&amp;        name,
+                                     G4LogicalVolume* LV,
+                                     G4LogicalVolume* motherLV,
+                                     G4bool           isMany,
+                                     G4int            copyNo,
+                                     G4bool           surfCheck=false)
+ 
+   G4PhysicalVolumesPair Replicate(const G4String&amp;        name,
+                                         G4LogicalVolume* LV,
+                                         G4LogicalVolume* motherLV,
+                                         EAxis            axis,
+                                         G4int            nofReplicas,
+                                         G4double         width,
+                                         G4double         offset=0)
+                                                                                              
+   G4PhysicalVolumesPair Divide(const G4String&amp;        name,
+                                      G4LogicalVolume* LV,
+                                      G4LogicalVolume* motherLV,
+                                      EAxis            axis,
+                                      G4int            nofDivisions,
+                                      G4double         width,
+                                      G4double         offset);
+</pre></div><p>
+</p><p>
+The method <code class="literal">Place()</code> used for placements, evaluates the
+passed transformation. In case the transformation contains a
+reflection, the factory will act as follows:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Performs the transformation decomposition.
+  </p></li><li><p>
+    Creates a new reflected solid and logical volume, or retrieves
+    them from a map if the reflected object was already created.
+  </p></li><li><p>
+    Transforms the daughters (if any) and place them in the given mother.
+  </p></li></ol></div><p>
+</p><p>
+If successful, the result is a pair of physical volumes, where the
+second physical volume is a placement in a reflected mother.
+Optionally, it is also possible to force the overlaps check at the
+time of placement, by activating the <code class="literal">surfCheck</code> flag.
+</p><p>
+The method <code class="literal">Replicate()</code> creates replicas in the given
+mother. If successful, the result is a pair of physical volumes,
+where the second physical volume is a replica in a reflected
+mother.
+</p><p>
+The method <code class="literal">Divide()</code> creates divisions in the given mother.
+If successful, the result is a pair of physical volumes, where the
+second physical volume is a division in a reflected mother. There
+exists also two more variants of this method which may specify or
+not width or number of divisions.
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">
+Notes
+</h3><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    In order to reflect hierarchies containing divided volumes, it
+    is necessary to explicitely instantiate a concrete <span class="emphasis"><em>division</em></span>
+    factory -before- applying the actual reflection: (i.e. -
+    <code class="literal">G4PVDivisionFactory::GetInstance();</code>).
+  </p></li><li><p>
+    Reflection of generic parameterised volumes is not possible yet.
+  </p></li></ul></div><p>
+</p></div><div class="example"><a name="programlist_Geom.Reflec_1"></a><p class="title"><b>Example 4.8. 
+An example of usage of the 
+<code class="literal">G4ReflectionFactory</code> class.</b></p><div class="example-contents"><pre class="programlisting">
+ #include "G4ReflectionFactory.hh"
+ 
+ // Calor placement with rotation
+ 
+ G4double calThickness = 100*cm;
+ G4double Xpos = calThickness*1.5;
+ G4RotationMatrix* rotD3 = new G4RotationMatrix();
+ rotD3-&gt;rotateY(10.*deg);
+ 
+ G4VPhysicalVolume* physiCalor =
+     new G4PVPlacement(rotD3,                     // rotation
+                       G4ThreeVector(Xpos,0.,0.), // at (Xpos,0,0)
+                       logicCalor,     // its logical volume (defined elsewhere)
+                       "Calorimeter",  // its name
+                       logicHall,      // its mother volume (defined elsewhere)
+                       false,          // no boolean operation
+                       0);             // copy number
+ 
+ // Calor reflection with rotation
+ //
+ G4Translate3D translation(-Xpos, 0., 0.);
+ G4Transform3D rotation = G4Rotate3D(*rotD3);
+ G4ReflectX3D  reflection;
+ G4Transform3D transform = translation*rotation*reflection;
+ 
+ G4ReflectionFactory::Instance()
+          -&gt;Place(transform,     // the transformation with reflection
+                  "Calorimeter", // the actual name
+                  logicCalor,    // the logical volume
+                  logicHall,     // the mother volume
+                  false,         // no boolean operation
+                  1,             // copy number
+                  false);        // no overlap check triggered
+ 
+ // Replicate layers
+ //
+ G4ReflectionFactory::Instance()
+          -&gt;Replicate("Layer",    // layer name
+                      logicLayer, // layer logical volume (defined elsewhere)
+                      logicCalor, // its mother
+                      kXAxis,     // axis of replication
+                      5,          // number of replica
+                      20*cm);     // width of replica
+</pre></div></div><br class="example-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Navig"></a>4.1.8. 
+The Geometry Navigator
+</h3></div></div></div><p>
+Navigation through the geometry at tracking time is implemented
+by the class <code class="literal">G4Navigator</code>. The navigator is used to locate
+points in the geometry and compute distances to geometry
+boundaries. At tracking time, the navigator is intended to be the
+only point of interaction with tracking.
+</p><p>
+Internally, the G4Navigator has several private helper/utility
+classes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>G4NavigationHistory</strong></span> - stores the compounded
+    transformations, replication/parameterisation information, and
+    volume pointers at each level of the hierarchy to the current
+    location. The volume types at each level are also stored - whether
+    normal (placement), replicated or parameterised.
+  </p></li><li><p>
+    <span class="bold"><strong>G4NormalNavigation</strong></span> - provides location &amp; 
+    distance computation functions for geometries containing 'placement'
+    volumes, with no voxels.
+  </p></li><li><p>
+    <span class="bold"><strong>G4VoxelNavigation</strong></span> - provides location and distance
+    computation functions for geometries containing 'placement'
+    physical volumes with voxels. Internally a stack of voxel
+    information is maintained. Private functions allow for isotropic
+    distance computation to voxel boundaries and for computation of the
+    'next voxel' in a specified direction.
+  </p></li><li><p>
+    <span class="bold"><strong>G4ParameterisedNavigation</strong></span> - provides location and
+    distance computation functions for geometries containing
+    parameterised volumes with voxels. Voxel information is maintained
+    similarly to <code class="literal">G4VoxelNavigation</code>, but computation can also
+    be simpler by adopting voxels to be one level deep only
+    (<span class="emphasis"><em>unrefined</em></span>, or 1D optimisation)
+  </p></li><li><p>
+    <span class="bold"><strong>G4ReplicaNavigation</strong></span> - provides location and distance
+    computation functions for replicated volumes.
+  </p></li></ul></div><p>
+</p><p>
+In addition, the navigator maintains a set of flags for
+exiting/entry optimisation. A navigator is not a singleton class;
+this is mainly to allow a design extension in future (e.g
+geometrical event biasing).
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Navig.NavigTrack"></a>4.1.8.1. 
+Navigation and Tracking
+</h4></div></div></div><p>
+The main functions required for tracking in the geometry are
+described below. Additional functions are provided to return the
+net transformation of volumes and for the creation of touchables.
+None of the functions implicitly requires that the geometry be
+described hierarchically.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>SetWorldVolume()</strong></span>
+    </p><p>
+    Sets the first volume in the hierarchy. It must be unrotated and
+    untranslated from the origin.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>LocateGlobalPointAndSetup()</strong></span>
+    </p><p>
+    Locates the volume containing the specified global point. This
+    involves a traverse of the hierarchy, requiring the computation of
+    compound transformations, testing replicated and parameterised
+    volumes (etc). To improve efficiency this search may be performed
+    relative to the last, and this is the recommended way of calling
+    the function. A 'relative' search may be used for the first call of
+    the function which will result in the search defaulting to a search
+    from the root node of the hierarchy. Searches may also be performed
+    using a <code class="literal">G4TouchableHistory</code>.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>LocateGlobalPointAndUpdateTouchableHandle()</strong></span>
+    </p><p>
+    First, search the geometrical hierarchy like the above method
+    <code class="literal">LocateGlobalPointAndSetup()</code>. Then use the volume found and
+    its navigation history to update the touchable.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>ComputeStep()</strong></span>
+    </p><p>
+    Computes the distance to the next boundary intersected along the
+    specified unit direction from a specified point. The point must be
+    have been located prior to calling <code class="literal">ComputeStep()</code>.
+    </p><p>
+    </p><p>
+    When calling <code class="literal">ComputeStep()</code>, a proposed physics step is
+    passed. If it can be determined that the first intersection lies at
+    or beyond that distance then <code class="literal">kInfinity</code> is returned. In any
+    case, if the returned step is greater than the physics step, the
+    physics step must be taken.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>SetGeometricallyLimitedStep()</strong></span>
+    </p><p>
+    Informs the navigator that the last computed step was taken in its
+    entirety. This enables entering/exiting optimisation, and should be
+    called prior to calling <code class="literal">LocateGlobalPointAndSetup()</code>.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>CreateTouchableHistory()</strong></span>
+    </p><p>
+    Creates a <code class="literal">G4TouchableHistory</code> object, for which the caller
+    has deletion responsibility. The 'touchable' volume is the volume
+    returned by the last Locate operation. The object includes a copy
+    of the current NavigationHistory, enabling the efficient relocation
+    of points in/close to the current volume in the hierarchy.
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+As stated previously, the navigator makes use of utility classes to
+perform location and step computation functions. The different
+navigation utilities manipulate the <code class="literal">G4NavigationHistory</code>
+object.
+</p><p>
+In <code class="literal">LocateGlobalPointAndSetup()</code> the process of locating a
+point breaks down into three main stages - optimisation,
+determination that the point is contained with a subtree (mother
+and daughters), and determination of the actual containing
+daughter. The latter two can be thought of as scanning first 'up'
+the hierarchy until a volume that is guaranteed to contain the
+point is found, and then scanning 'down' until the actual volume
+that contains the point is found.
+</p><p>
+In <code class="literal">ComputeStep()</code> three types of computation are treated
+depending on the current containing volume:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The volume contains normal (placement) daughters (or none)
+  </p></li><li><p>
+    The volume contains a single parameterised volume object,
+    representing many volumes
+  </p></li><li><p>
+    The volume is a replica and contains normal (placement) daughters
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Navig.LocPnt"></a>4.1.8.2. 
+Using the navigator to locate points
+</h4></div></div></div><p>
+More than one navigator objects can be created inside an application; these
+navigators can act independently for different purposes. The main navigator
+which is "<span class="emphasis"><em>activated</em></span> automatically at the startup of a 
+simulation program is the navigator used for the 
+<span class="emphasis"><em>tracking</em></span> and attached the world volume
+of the main tracking (or <span class="emphasis"><em>mass</em></span>) geometry.
+</p><p>
+The navigator for tracking can be retrieved at any state of the application
+by messagging the <code class="literal">G4TransportationManager</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4Navigator* tracking_navigator =
+    G4TransportationManager::GetInstance()-&gt;GetNavigatorForTracking();
+</pre></div><p>
+
+The navigator for tracking also retains all the information of the current
+history of volumes transversed at a precise moment of the tracking during a
+run. Therefore, if the navigator for tracking is used during tracking for
+locating a generic point in the tree of volumes, the actual particle gets
+also -relocated- in the specified position and tracking will be of course
+affected !
+</p><p>
+In order to avoid the problem above and provide information about location
+of a point without affecting the tracking, it is suggested to either use an
+alternative <code class="literal">G4Navigator</code> object (which can then be assigned 
+to the world-volume), or access the information through the step.
+</p><h5><a name="id405028"></a>
+Using the 'step' to retrieve geometrical information
+</h5><p>
+During the tracking run, geometrical information can be retrieved through
+the touchable handle associated to the current step. For example, to identify
+the exact copy-number of a specific physical volume in the mass geometry,
+one should do the following:
+
+</p><div class="informalexample"><pre class="programlisting">
+  // Given the pointer to the step object ...
+  //
+  G4Step* aStep = ..;
+
+  // ... retrieve the 'pre-step' point
+  //
+  G4StepPoint* preStepPoint = aStep-&gt;GetPreStepPoint();
+
+  // ... retrieve a touchable handle and access to the information
+  //
+  G4TouchableHandle theTouchable = preStepPoint-&gt;GetTouchableHandle();
+  G4int copyNo = theTouchable-&gt;GetCopyNumber();
+  G4int motherCopyNo = theTouchable-&gt;GetCopyNumber(1);
+</pre></div><p>
+</p><p>
+To determine the exact position in global coordinates in the mass geometry
+and convert to local coordinates (local to the current volume):
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4ThreeVector worldPosition = preStepPoint-&gt;GetPosition();
+  G4ThreeVector localPosition = theTouchable-&gt;GetHistory()-&gt;
+                GetTopTransform().TransformPoint(worldPosition);
+</pre></div><p>
+</p><h5><a name="id405073"></a>
+Using an alternative navigator to locate points
+</h5><p>
+In order to know (when in the <code class="literal">idle</code> state of the 
+application) in which physical volume a given point is located 
+in the detector geometry, it is necessary to create an alternative 
+navigator object first and assign it to the world volume:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4Navigator* aNavigator = new G4Navigator();
+  aNavigator-&gt;SetWorldVolume(worldVolumePointer);
+</pre></div><p>
+</p><p>
+Then, locate the point <code class="literal">myPoint</code> (defined in global coordinates),
+retrieve a <span class="emphasis"><em>touchable handle</em></span> and do whatever you need with it:
+
+</p><div class="informalexample"><pre class="programlisting">
+  aNavigator-&gt;LocateGlobalPointAndSetup(myPoint);
+  G4TouchableHistoryHandle aTouchable =
+    aNavigator-&gt;CreateTouchableHistoryHandle();
+
+  // Do whatever you need with it ...
+  // ... convert point in local coordinates (local to the current volume)
+  //
+  G4ThreeVector localPosition = aTouchable-&gt;GetHistory()-&gt;
+                GetTopTransform().TransformPoint(myPoint);
+
+  // ... convert back to global coordinates system
+  G4ThreeVector globalPosition = aTouchable-&gt;GetHistory()-&gt;
+                GetTopTransform().Inverse().TransformPoint(localPosition);
+</pre></div><p>
+</p><p>
+If outside of the tracking run and given a generic local position (local to a
+given volume in the geometry tree), it is -not- possible to determine a priori
+its global position and convert it to the global coordinates system.
+The reason for this is rather simple, nobody can guarantee that the given
+(local) point is located in the right -copy- of the physical volume !
+In order to retrieve this information, some extra knowledge related to the
+absolute position of the physical volume is required first, i.e. one should
+first determine a global point belonging to that volume, eventually making
+a dedicated scan of the geometry tree through a dedicated 
+<code class="literal">G4Navigator</code> object and then apply the method above after 
+having created the touchable for it.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Navig.ParaGeom"></a>4.1.8.3. 
+Navigation in parallel geometries
+</h4></div></div></div><p>
+Since release 8.2 of Geant4, it is possible to define geometry trees which
+are <code class="literal">parallel</code> to the tracking geometry and having them 
+assigned to navigator objects that transparently communicate in sync with 
+the normal tracking geometry.
+</p><p>
+Parallel geometries can be defined for several uses (fast shower
+parameterisation, geometrical biasing, particle scoring, readout
+geometries, etc ...) and can <span class="emphasis"><em>overlap</em></span> with the mass 
+geometry defined for the tracking. The <code class="literal">parallel</code> 
+transportation will be activated only after the registration of the 
+parallel geometry in the detector description
+setup; see Section <a href="ch04s07.html" title="4.7. 
+Parallel Geometries
+">Section 4.7</a> for how to define a parallel
+geometry and register it to the run-manager.
+</p><p>
+The <code class="literal">G4TransportationManager</code> provides all the utilities to verify,
+retrieve and activate the navigators associated to the various parallel
+geometries defined.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Navig.PhantomGeom"></a>4.1.8.4. 
+Fast navigation in regular patterned geometries and phantoms
+</h4></div></div></div><p>
+Since release 9.1 of Geant4, a specialised navigation algorithm has
+been introduced to allow for optimal memory use and extremely efficient
+navigation in geometries represented by a regular pattern of volumes
+and particularly three-dimensional grids of boxes. A typical application
+of this kind is the case of a DICOM phantoms for medical physics studies.
+</p><p>
+The class <code class="literal">G4RegularNavigation</code> is used and automatically
+activated when such geometries are defined. It is required to the user to
+implement a parameterisation of the kind <code class="literal">G4PhantomParameterisation</code>
+and place the parameterised volume containing it in a container volume, so that
+all cells in the three-dimensional grid (<span class="emphasis"><em>voxels</em></span>) completely
+fill the container volume.
+This way the location of a point inside a voxel can be done in a fast way,
+transforming the position to the coordinate system of the container volume
+and doing a simple calculation of the kind:
+
+</p><div class="informalexample"><pre class="programlisting">
+  copyNo_x = (localPoint.x()+fVoxelHalfX*fNoVoxelX)/(fVoxelHalfX*2.)
+</pre></div><p>
+
+where <code class="literal">fVoxelHalfX</code> is the half dimension of the voxel along
+<code class="literal">X</code> and <code class="literal">fNoVoxelX</code> is the number of voxels
+in the <code class="literal">X</code> dimension.
+Voxel <code class="literal">0</code> will be the one closest to the corner
+<code class="literal">(fVoxelHalfX*fNoVoxelX, fVoxelHalfY*fNoVoxelY, fVoxelHalfZ*fNoVoxelZ)</code>.
+</p><p>
+Having the voxels filling completely the container volume allows to avoid
+the lengthy computation of <code class="literal">ComputeStep()</code> and
+<code class="literal">ComputeSafety</code> methods required in the traditional
+navigation algorithm.
+In this case, when a track is inside the parent volume, it has always to
+be inside one of the voxels and it will be only necessary to calculate
+the distance to the walls of the current voxel.
+</p><h5><a name="id405313"></a>
+Skipping borders of voxels with same material
+</h5><p>
+Another speed optimisation can be provided by skipping the frontiers
+of two voxels which the same material assigned, so that bigger steps
+can be done. This optimisation may be not very useful when the number of
+materials is very big (in which case the probability of having contiguous
+voxels with same material is reduced), or when the physical step is small
+compared to the voxel dimensions (very often the case of electrons).
+The optimisation can be switched off in such cases, by invoking the
+following method with argument <code class="literal">skip = 0</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4RegularParameterisation::SetSkipEqualMaterials( G4bool skip );
+</pre></div><p>
+</p><h5><a name="id405344"></a>
+Example
+</h5><p>
+To use the specialised navigation, it is required to first create an object
+of type  <code class="literal">G4PhantomParameterisation</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4PhantomParameterisation* param = new G4PhantomParameterisation();
+</pre></div><p>
+
+Then, fill it with the all the necessary data:
+
+</p><div class="informalexample"><pre class="programlisting">
+  // Voxel dimensions in the three dimensions
+  //
+  G4double halfX = ...;
+  G4double halfY = ...;
+  G4double halfZ = ...;
+  param-&gt;SetVoxelDimensions( halfX, halfY, halfZ );
+
+  // Number of voxels in the three dimensions
+  //
+  G4int nVoxelX = ...;
+  G4int nVoxelY = ...;
+  G4int nVoxelZ = ...;
+  param-&gt;SetNoVoxel( nVoxelX, nVoxelY, nVoxelZ );
+
+  // Vector of materials of the voxels
+  //
+  std::vector &lt; G4Material* &gt; theMaterials;
+  theMaterials.push_back( new G4Material( ...
+  theMaterials.push_back( new G4Material( ...
+  param-&gt;SetMaterials( theMaterials );
+
+  // List of material indices
+  // For each voxel it is a number that correspond to the index of its
+  // material in the vector of materials defined above;
+  //
+  size_t* mateIDs = new size_t[nVoxelX*nVoxelY*nVoxelZ];
+  mateIDs[0] = n0;
+  mateIDs[1] = n1;
+  ...
+  param-&gt;SetMaterialIndices( mateIDs );
+</pre></div><p>
+
+Then, define the volume that contains all the voxels:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4Box* cont_solid = new G4Box("PhantomContainer",nVoxelX*halfX.,nVoxelY*halfY.,nVoxelZ*halfZ);
+  G4LogicalVolume* cont_logic = 
+    new G4LogicalVolume( cont_solid, 
+			 matePatient,        // material is not relevant here...
+			 "PhantomContainer", 
+			 0, 0, 0 );
+  G4VPhysicalVolume * cont_phys = 
+    new G4PVPlacement(rotm,                  // rotation
+		      pos,                   // translation
+		      cont_logic,            // logical volume
+		      "PhantomContainer",    // name
+		      world_logic,           // mother volume
+		      false,                 // No op. bool.
+		      1);                    // Copy number
+
+</pre></div><p>
+
+The physical volume should be assigned as the container volume of the
+parameterisation:
+
+</p><div class="informalexample"><pre class="programlisting">
+  param-&gt;BuildContainerSolid(cont_phys);
+
+  // Assure that the voxels are completely filling the container volume
+  //
+  param-&gt;CheckVoxelsFillContainer( cont_solid-&gt;GetXHalfLength(), 
+                                      cont_solid-&gt;GetyHalfLength(), 
+                                      cont_solid-&gt;GetzHalfLength() );
+
+  // The parameterised volume which uses this parameterisation is placed
+  // in the container logical volume
+  //
+  G4PVParameterised * patient_phys =
+    new G4PVParameterised("Patient",               // name
+                          patient_logic,           // logical volume
+                          cont_logic,              // mother volume
+			  kXAxis,                  // optimisation hint
+                          nVoxelX*nVoxelY*nVoxelZ, // number of voxels
+                          param);                  // parameterisation
+
+  // Indicate that this physical volume is having a regular structure
+  //
+  patient_phys-&gt;SetRegularStructureId(1);
+</pre></div><p>
+</p>
+
+An example showing the application of the optimised navigation algorithm
+for phantoms geometries is available in
+<code class="literal">examples/extended/medical/DICOM</code>. It implements a real
+application for reading <code class="literal">DICOM</code> images and convert them to
+Geant4 geometries with defined materials and densities, allowing for
+different implementation solutions to be chosen (non optimised, classical
+3D optimisation, nested parameterisations and use of
+<code class="literal">G4PhantomParameterisation</code>).
+
+</div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Navig.RunTime"></a>4.1.8.5. 
+Run-time commands
+</h4></div></div></div><p>
+When running in <span class="emphasis"><em>verbose</em></span> mode (i.e. the default,
+<code class="literal">G4VERBOSE</code> set while installing the Geant4 kernel
+libraries), the navigator provides a few commands to control its
+behavior. It is possible to select different verbosity levels (up
+to 5), with the command:
+
+</p><div class="informalexample"><pre class="programlisting">
+  geometry/navigator/verbose [verbose_level]
+</pre></div><p>
+
+or to force the navigator to run in <span class="emphasis"><em>check</em></span> mode:
+
+</p><div class="informalexample"><pre class="programlisting">
+  geometry/navigator/check_mode [true/false]
+</pre></div><p>
+</p><p>
+The latter will force more strict and less tolerant checks in
+step/safety computation to verify the correctness of the solids'
+response in the geometry.
+</p><p>
+By combining <span class="emphasis"><em>check_mode</em></span> with verbosity level-1, additional
+verbosity checks on the response from the solids can be activated.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Tolerance"></a>4.1.8.6. 
+Setting Geometry Tolerance to be relative
+</h4></div></div></div><p>
+The tolerance value defining the accuracy of tracking on the surfaces
+is by default set to a reasonably small value of <span class="emphasis"><em>10E-9 mm</em></span>.
+Such accuracy may be however redundant for use on simulation of detectors
+of big size or macroscopic dimensions. Since release 9.0, it is possible to
+specify the surface tolerance to be relative to the extent of the world volume
+defined for containing the geometry setup.
+</p><p>
+The class <code class="literal">G4GeometryManager</code> can be used to activate
+the computation of the surface tolerance to be relative to the geometry
+setup which has been defined. It can be done this way:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4GeometryManager::GetInstance()-&gt;SetWorldMaximumExtent(WorldExtent);
+</pre></div><p>
+
+where, <code class="literal">WorldExtent</code> is the actual maximum extent of the
+world volume used for placing the whole geometry setup.
+</p><p>
+Such call to <code class="literal">G4GeometryManager</code> must be done
+<span class="bold"><strong>before</strong></span> defining any geometrical component of
+the setup (solid shape or volume), and can be done only
+<span class="bold"><strong>once</strong></span> !
+</p><p>
+The class <code class="literal">G4GeometryTolerance</code> is to be used for retrieving the
+actual values defined for tolerances, surface (Cartesian), angular or radial
+respectively:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4GeometryTolerance::GetInstance()-&gt;GetSurfaceTolerance();
+  G4GeometryTolerance::GetInstance()-&gt;GetAngularTolerance();
+  G4GeometryTolerance::GetInstance()-&gt;GetRadialTolerance();
+</pre></div><p>
+
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Edit"></a>4.1.9. 
+A Simple Geometry Editor
+</h3></div></div></div><p>
+GGE is the Geant4 Graphical Geometry Editor. It is implemented
+in JAVA and is part of the Momo environment. GGE aims to serve
+physicists who have a little knowledge of C++ and the Geant4
+toolkit to construct his or her own detector geometry in a
+graphical manner.
+</p><p>
+GGE provides methods to:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    construct a detector geometry including <code class="literal">G4Element</code>,
+    <code class="literal">G4Material</code>, <code class="literal">G4Solids</code>, 
+    <code class="literal">G4LogicalVolume</code>,
+    <code class="literal">G4PVPlacement</code>, etc.
+  </p></li><li><p>
+    view the detector geometry using existing visualization system like DAWN
+  </p></li><li><p>
+    keep the detector object in a persistent way
+  </p></li><li><p>
+    produce corresponding C++ codes after the norm of Geant4 toolkit
+  </p></li><li><p>
+    make a Geant4 executable under adequate environment
+  </p></li></ol></div><p>
+</p><p>
+GGE is implemented with Java, using Java Foundation Class,
+Swing-1.0.2. In essence, GGE is made a set of tables which contain
+all relevant parameters to construct a simple detector
+geometry.
+</p><p>
+The software, installation instructions and notes for GGE and other
+JAVA-based UI tools can be freely downloaded from the 
+<a href="http://erpc1.naruto-u.ac.jp/~geant4/" target="_top">
+Geant4 GUI and Environments web site
+</a>
+ of Naruto University of Education in Japan.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.Mate"></a>4.1.9.1. 
+Materials: elements and mixtures
+</h4></div></div></div><p>
+GGE provides the database of elements in a form of the periodic
+table, which users can use to construct new materials. GGE provides
+a pre-constructed database of materials taken from the PDG book.
+They can be loaded, used, edited and saved as persistent
+objects.
+</p><p>
+Users can also create new materials either from scratch or by
+combining other materials.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    creating a material from scratch:
+    </p><p>
+    </p><div class="informaltable"><table border="1"><colgroup><col><col><col><col><col><col><col><col><col><col><col></colgroup><tbody><tr><td>Use</td><td>Name</td><td>A</td><td>Z</td><td>Density</td><td>Unit</td><td>State</td><td>Temperature</td><td>Unit</td><td>Pressure</td><td>Unit</td></tr></tbody></table></div><p>
+    </p><p>
+    </p><p>
+    Only the elements and materials used in the logical volumes are
+    kept in the detector object and are used to generate C++
+    constructors. <span class="bold"><strong>Use</strong></span> marks the used materials.
+    </p><p>
+  </p></li><li><p>
+    Constructor to create a material from a combination of
+    elements, subsequently added via <code class="literal">AddElement</code>
+    </p><p>
+    </p><div class="informaltable"><table border="1"><colgroup><col><col><col><col><col><col><col><col><col></colgroup><tbody><tr><td>Use</td><td>Name</td><td>Elements</td><td>Density</td><td>Unit</td><td>State</td><td>Temperature</td><td>Unit</td><td>Pressure</td><td>Unit</td></tr></tbody></table></div><p>
+    </p><p>
+
+    </p><p>
+    By clicking the column <span class="bold"><strong>Elements</strong></span>, a new 
+    window is open to select one of two methods:
+
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Add an element, giving fraction by weight
+      </p></li><li><p>
+        Add an element, giving number of atoms.
+      </p></li></ul></div><p>
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.Solids"></a>4.1.9.2. 
+Solids
+</h4></div></div></div><p>
+The most popular CSG solids (<code class="literal">G4Box</code>, <code class="literal">G4Tubs</code>,
+<code class="literal">G4Cons</code>, <code class="literal">G4Trd</code>) and specific BREPs solids 
+(Pcons, Pgons) are supported at present. All related parameters of such a
+solid can be specified in a parameter widget.
+</p><p>
+Users will be able to view each solid using DAWN.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.LogVol"></a>4.1.9.3. 
+Logical Volume
+</h4></div></div></div><p>
+GGE can specify the following items:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td>Name</td><td>Solid</td><td>Material</td><td>VisAttribute</td></tr></tbody></table></div><p>
+</p><p>
+The construction and assignment of appropriate entities for
+<code class="literal">G4FieldManager</code> and <code class="literal">G4VSensitiveDetector</code> 
+are left to the user.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.PhysVol"></a>4.1.9.4. 
+Physical Volume
+</h4></div></div></div><p>
+A single copy of a physical volume can be created. Also repeated
+copies can be created in several manners. First, a user can
+translate the logical volume linearly.
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col><col><col><col><col><col></colgroup><tbody><tr><td>Name</td><td>LogicalVolume</td><td>MotherVolume</td><td>Many</td><td>X0, Y0, Z0</td><td>Direction</td><td>StepSize</td><td>Unit</td><td>CopyNumber</td></tr></tbody></table></div><p>
+</p><p>
+Combined translation and rotation are also possible, placing an
+object repeatedly on a ``cylindrical'' pattern. Simple models of
+replicas and parametrised volume are also implemented. In the
+replicas, a volume is slices to create new sub-volumes. In
+parametrised volumes, several patterns of volumes can be
+created.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.GeneCode"></a>4.1.9.5. 
+Generation of C++ code: <code class="literal">MyDetectorConstruction.cc</code>
+</h4></div></div></div><p>
+By simply pushing a button, source code in the form of an
+include file and a source file are created. They are called
+<code class="literal">MyDetectorConstruction.cc</code> and <code class="literal">.hh</code> files. 
+They reflect all current user modifications in real-time.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Edit.Vis"></a>4.1.9.6. 
+Visualization
+</h4></div></div></div><p>
+Examples of individual solids can be viewed with the help of
+DAWN. The visualization of the whole geometry is be done after the
+compilation of the source code <code class="literal">MyDetectorConstruction.cc</code>
+with appropriate parts of Geant4. (In particular only the geometry
+and visualization, together with the small other parts they depend
+on, are needed.)
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.ConvGeom"></a>4.1.10. 
+Converting Geometries from Geant3.21
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.ConvGeom.App"></a>4.1.10.1. 
+Approach
+</h4></div></div></div><p>
+<span class="bold"><strong>G3toG4</strong></span> is the Geant4 facility to convert 
+GEANT 3.21 geometries into Geant4. This is done in two stages:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    The user supplies a GEANT 3.21 RZ-file (.rz) containing the
+    initialization data structures. An executable <code class="literal">rztog4</code> reads
+    this file and produces an ASCII <span class="emphasis"><em>call list</em></span> file containing
+    instructions on how to build the geometry. The source code of
+    <code class="literal">rztog4</code> is FORTRAN.
+  </p></li><li><p>
+    A call list interpreter (<code class="literal">G4BuildGeom.cc</code>) reads these
+    instructions and builds the geometry in the user's client code for
+    Geant4.
+  </p></li></ol></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.ConvGeom.Import"></a>4.1.10.2. 
+Importing converted geometries into Geant4
+</h4></div></div></div><p>
+Two examples of how to use the call list interpreter are
+supplied in the directory <code class="literal">examples/extended/g3tog4</code>:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <code class="literal">cltog4</code> is a simple example which simply invokes the
+    call list interpreter method <code class="literal">G4BuildGeom</code> from the
+    <code class="literal">G3toG4DetectorConstruction</code> class, builds the geometry and
+    exits.
+  </p></li><li><p>
+    <code class="literal">clGeometry</code>, is more complete and is patterned as for
+    the novice Geant4 examples. It also invokes the call list
+    interpreter, but in addition, allows the geometry to be visualized
+    and particles to be tracked.
+  </p></li></ol></div><p>
+</p><p>
+To compile and build the G3toG4 libraries, you need to have set in
+your environment the variable <code class="literal">G4LIB_BUILD_G3TOG4</code> at the
+time of installation. The G3toG4 libraries are not built by
+default. Then, simply type
+
+</p><div class="informalexample"><pre class="programlisting">
+  gmake
+</pre></div><p>
+
+from the top-level <code class="literal">source/g3tog4</code> directory.
+</p><p>
+To build the converter executable <code class="literal">rztog4</code>, simply
+type
+
+</p><div class="informalexample"><pre class="programlisting">
+  gmake bin
+</pre></div><p>
+</p><p>
+To make everything, simply type:
+
+</p><div class="informalexample"><pre class="programlisting">
+  gmake global
+</pre></div><p>
+</p><p>
+To remove all <code class="literal">G3toG4</code> libraries, executables and .d files,
+simply type
+
+</p><div class="informalexample"><pre class="programlisting">
+  gmake clean
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.ConvGeom.Curr"></a>4.1.10.3. 
+Current Status
+</h4></div></div></div><p>
+The package has been tested with the geometries from experiments
+like: BaBar, CMS, Atlas, Alice, Zeus, L3, and Opal.
+</p><p>
+Here is a comprehensive list of features supported and not
+supported or implemented in the current version of the package:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Supported shapes: all GEANT 3.21 shapes except for
+    <code class="literal">GTRA</code>, <code class="literal">CTUB</code>.
+  </p></li><li><p>
+    <code class="literal">PGON</code>, <code class="literal">PCON</code> are built using the
+    <span class="emphasis"><em>specific</em></span> solids <code class="literal">G4Polycone</code> and
+    <code class="literal">G4Polyhedra</code>.
+  </p></li><li><p>
+    GEANT 3.21 <code class="literal">MANY</code> feature is only partially
+    supported.
+    <code class="literal">MANY</code> positions are resolved in the 
+    <code class="literal">G3toG4MANY()</code> function, which has to be processed before
+    <code class="literal">G3toG4BuildTree()</code> (it is not called by default).
+    In order to resolve <code class="literal">MANY</code>, the user code has to provide
+    additional info using <code class="literal">G4gsbool(G4String volName, G4String
+    manyVolName)</code> function for all the overlapping volumes.
+    Daughters of overlapping volumes are then resolved automatically
+    and should not be specified via <code class="literal">Gsbool</code>.
+    <span class="bold"><strong>Limitation</strong></span>: a volume with a 
+    <code class="literal">MANY</code> position can have
+    only this one position; if more than one position is needed a new
+    volume has to be defined (<code class="literal">gsvolu()</code>) for each
+    position.
+  </p></li><li><p>
+    <code class="literal">GSDV*</code> routines for dividing volumes are implemented,
+    using <code class="literal">G4PVReplica</code>s, for shapes:
+
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        <code class="literal">BOX</code>, <code class="literal">TUBE</code>, 
+        <code class="literal">TUBS</code>, <code class="literal">PARA</code> - all axes;
+      </p></li><li><p>
+        <code class="literal">CONE</code>, <code class="literal">CONS</code> - axes 2, 3;
+      </p></li><li><p>
+        <code class="literal">TRD1</code>, <code class="literal">TRD2</code>, 
+        <code class="literal">TRAP</code> - axis 3;
+      </p></li><li><p>
+        <code class="literal">PGON</code>, <code class="literal">PCON</code> - axis 2;
+      </p></li><li><p>
+        <code class="literal">PARA</code> -axis 1; axis 2,3 for a special case
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    <code class="literal">GSPOSP</code> is implemented via individual logical volumes
+    for each instantiation.
+  </p></li><li><p>
+    <code class="literal">GSROTM</code> is implemented. Reflections of hierachies based
+    on plain CSG solids are implemented through the <code class="literal">G3Division</code>
+    class.
+  </p></li><li><p>
+    Hits are not implemented.
+  </p></li><li><p>
+    Conversion of GEANT 3.21 magnetic field is currently not
+    supported. However, the usage of magnetic field has to be turned on.
+  </p></li></ul></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Overlap"></a>4.1.11. 
+Detecting Overlapping Volumes
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Overlap.Prob"></a>4.1.11.1. 
+The problem of overlapping volumes
+</h4></div></div></div><p>
+Volumes are often positioned within other volumes with the
+intent that one is fully contained within the other. If, however, a
+volume extends beyond the boundaries of its mother volume, it is
+defined as overlapping. It may also be intended that volumes are
+positioned within the same mother volume such that they do not
+intersect one another. When such volumes do intersect, they are
+also defined as overlapping.
+</p><p>
+The problem of detecting overlaps between volumes is bounded by
+the complexity of the solid model description. Hence it requires
+the same mathematical sophistication which is needed to describe
+the most complex solid topology, in general. However, a tunable
+accuracy can be obtained by approximating the solids via first
+and/or second order surfaces and checking their intersections.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Overlap.BuiltIn"></a>4.1.11.2. 
+Detecting overlaps: built-in kernel commands
+</h4></div></div></div><p>
+In general, the most powerful clash detection algorithms are
+provided by CAD systems, treating the intersection between the
+solids in their topological form.
+</p><p>
+Geant4 provides some built-in run-time commands to activate
+verification tests for the user-defined geometry:
+
+</p><div class="informalexample"><pre class="programlisting">
+     geometry/test/grid_test [recursion_flag]
+     --&gt; to start verification of geometry for overlapping regions
+         based on standard lines grid setup. If the "recursion_flag" is
+         set to 'false' (the default), the check is limited to the first
+         depth level of the geometry tree; otherwise it visits recursively
+         the whole geometry tree. In the latter case, it may take a long
+         time, depending on the complexity of the geometry.
+     geometry/test/cylinder_test [recursion_flag]
+     --&gt; shoots lines according to a cylindrical pattern. If the
+         "recursion_flag" is set to 'false' (the default), the check is
+         limited to the first depth level of the geometry tree; otherwise
+         it visits recursively the whole geometry tree. In the latter case,
+         it may take a long time, depending on the complexity of the geometry.
+     geometry/test/line_test [recursion_flag]
+     --&gt; shoots a line according to a specified direction and position
+         defined by the user. If the "recursion_flag" is set to 'false'
+         (the default), the check is limited to the first depth level of the
+         geometry tree; otherwise it visits recursively the whole geometry 
+         tree.
+     geometry/test/position
+     --&gt; to specify position for the line_test.
+     geometry/test/direction
+     --&gt; to specify direction for the line_test.
+     geometry/test/grid_cells
+     --&gt; to define the resolution of the lines in the grid test as number
+         of cells, specifying them for each dimension, X, Y and Z.
+         The new settings will be applied to the grid_test command.
+     geometry/test/cylinder_geometry
+     --&gt; to define the details of the cylinder geometry, by specifying:
+             nPhi - number of lines per Phi
+             nZ   - number of Z points
+             nRho - number of Rho points
+         The new settings will be applied to the cylinder_test command.
+     geometry/test/cylinder_scaleZ
+     --&gt; to define the resolution of the cylinder geometry, by specifying
+         the fraction scale for points along Z.
+         The new settings will be applied to the cylinder_test command.
+     geometry/test/cylinder_scaleRho
+     --&gt; to define the resolution of the cylinder geometry, by specifying
+         the fraction scale for points along Rho.
+         The new settings will be applied to the cylinder_test command.
+     geometry/test/recursion_start
+     --&gt; to set the initial level in the geometry tree for starting the
+         recursion (default value being zero, i.e. the world volume).
+         The new settings will then be applied to any recursive test.
+     geometry/test/recursion_depth
+     --&gt; to set the depth in the geometry tree for recursion, so that
+         recursion will stop after having reached the specified depth (the
+         default being the full depth of the geometry tree).
+         The new settings will then be applied to any recursive test.
+</pre></div><p> 
+</p><p>
+To detect overlapping volumes, the built-in test uses the
+intersection of solids with linear trajectories. For example,
+consider <a href="ch04.html#fig.Geom.Overlap_1" title="Figure 4.4. 
+  Different cases of placed volumes overlapping each other.
+">Figure 4.4</a>:
+
+</p><div class="figure"><a name="fig.Geom.Overlap_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/geometry.src/geomtest.gif" align="middle" alt="Different cases of placed volumes overlapping each other."></div></div><p class="title"><b>Figure 4.4. 
+  Different cases of placed volumes overlapping each other.
+</b></p></div><p><br class="figure-break">
+</p><p>
+Here we have a line intersecting some physical volume (large,
+black rectangle). Belonging to the volume are four daughters: A, B,
+C, and D. Indicated by the dots are the intersections of the line
+with the mother volume and the four daughters.
+</p><p>
+This example has two geometry errors. First, volume A sticks
+outside its mother volume (this practice, sometimes used in
+GEANT3.21, is not allowed in Geant4). This can be noticed because
+the intersection point (leftmost magenta dot) lies outside the
+mother volume, as defined by the space between the two black
+dots.
+</p><p>
+The second error is that daughter volumes A and B overlap. This
+is noticeable because one of the intersections with A (rightmost
+magenta dot) is inside the volume B, as defined as the space
+between the red dots. Alternatively, one of the intersections with
+B (leftmost red dot) is inside the volume A, as defined as the
+space between the magenta dots.
+</p><p>
+Each of these two types of errors is represented by a line
+segment, which has a start point, an end point, and, a length.
+Depending on the type of error, the points are most clearly
+recognized in either the coordinate system of the volume, the
+global coordinate system, or the coordinate system of the daughters
+involved.
+</p><p>
+Also notice that certain errors will be missed unless a line is
+supplied in precisely the correct path. Unfortunately, it is hard
+to predict which lines are best at uncovering potential geometry
+errors. Instead, the geometry testing code uses a grid of lines, in
+the hope of at least uncovering gross geometry errors. More subtle
+errors could easily be missed.
+</p><p>
+Another difficult issue is roundoff error. For example,
+daughters C and D lie precisely next to each other. It is possible,
+due to roundoff, that one of the intersections points will lie just
+slightly inside the space of the other. In addition, a volume that
+lies tightly up against the outside of its mother may have an
+intersection point that just slightly lies outside the mother.
+</p><p>
+To avoid spurious errors caused by roundoff, a rather generous
+tolerance of 0.1 micron is used by default. This tolerance can be
+adjusted as needed by the application through the run-time
+command:
+
+</p><div class="informalexample"><pre class="programlisting">
+   geometry/test/tolerance &lt;new-value&gt;
+</pre></div><p>
+</p><p>
+Finally, notice that no mention is made of the possible daughter
+volumes of A, B, C, and D. To keep the code simple, only the
+immediate daughters of a volume are checked at one pass. To test
+these "granddaughter" volumes, the daughters A, B, C, and D each
+have to be tested themselves in turn. To make this more automatic,
+an optional recursive algorithm is included; it first tests a
+target volume, then it loops over all daughter volumes and calls
+itself.
+</p><p>
+Pay attention! For a complex geometry, checking the entire
+volume hierarchy can be extremely time consuming.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Overlap.AtConst"></a>4.1.11.3. 
+Detecting overlaps at construction
+</h4></div></div></div><p>
+Since release 8.0, the Geant4 geometry modeler provides the
+ability to detect overlaps of placed volumes (normal placements or
+parameterised) at the time of construction. This check is optional
+and can be activated when instantiating a placement (see
+<code class="literal">G4PVPlacement</code> constructor in 
+<a href="ch04.html#sect.Geom.PhysVol.PlaceSingle" title="4.1.4.1. 
+Placements: single positioned copy
+">Section 4.1.4.1</a>) or a parameterised
+volume (see <code class="literal">G4PVParameterised</code> constructor in 
+<a href="ch04.html#sect.Geom.PhysVol.RepeatVol" title="4.1.4.2. 
+Repeated volumes
+">Section 4.1.4.2</a>).
+</p><p>
+The positioning of that specific volume will be checked against all
+volumes in the same hierarchy level and its mother volume.
+Depending on the complexity of the geometry being checked, the
+check may require considerable CPU time; it is therefore suggested
+to use it only for debugging the geometry setup and to apply it
+only to the part of the geometry setup which requires
+debugging.
+</p><p>
+The classes <code class="literal">G4PVPlacement</code> and
+<code class="literal">G4PVParameterised</code> also provide a method:
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4bool CheckOverlaps(G4int res=1000, G4double tol=0., G4bool verbose=true)
+</pre></div><p>
+
+which will force the check for the specified volume. The check
+verifies if each placed or parameterised instance is overlapping
+with other instances or with its mother volume. A default
+resolution for the number of points to be generated and verified is
+provided. The method returns <code class="literal">true</code> if an overlap
+occurs. It is also possible to specify a "tolerance" by which overlaps
+not exceeding such quantity will not be reported; by default, all
+overlaps are reported.
+</p><p>
+<span class="bold"><strong>Using the visualization driver: DAVID</strong></span>
+</p><p>
+The Geant4 visualization offers a powerful debugging tool for
+detecting potential intersections of physical volumes. The Geant4
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html" target="_top">
+DAVID</a> visualization tool  can infact
+automatically detect the overlaps between the volumes defined in
+Geant4 and converted to a graphical representation for
+visualization purposes. The accuracy of the graphical
+representation can be tuned onto the exact geometrical description.
+In the debugging, physical-volume surfaces are automatically
+decomposed into 3D polygons, and intersections of the generated
+polygons are investigated. If a polygon intersects with another
+one, physical volumes which these polygons belong to are visualized
+in color (red is the default). The <a href="ch04.html#fig.Geom.Overlap_2" title="Figure 4.5. 
+  A geometry with overlapping volumes highlighted by DAVID.
+">Figure 4.5</a> 
+below is a sample visualization of a detector geometry with intersecting 
+physical volumes highlighted:
+
+</p><div class="figure"><a name="fig.Geom.Overlap_2"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/geometry.src/DAVID_SAMPLE.gif" align="middle" alt="A geometry with overlapping volumes highlighted by DAVID."></div></div><p class="title"><b>Figure 4.5. 
+  A geometry with overlapping volumes highlighted by DAVID.
+</b></p></div><p><br class="figure-break">
+</p><p>
+At present physical volumes made of the following solids are
+able to be debugged: <code class="literal">G4Box</code>, <code class="literal">G4Cons</code>,
+<code class="literal">G4Para</code>, <code class="literal">G4Sphere</code>, <code class="literal">G4Trd</code>,
+<code class="literal">G4Trap</code>, <code class="literal">G4Tubs</code>. (Existence of other solids is
+harmless.)
+</p><p>
+Visual debugging of physical-volume surfaces is performed with
+the DAWNFILE driver defined in the visualization category and with
+the two application packages, i.e. Fukui Renderer "DAWN" and a
+visual intersection debugger "DAVID". 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
+DAWN</a> and 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html" target="_top">
+DAVID</a> can be downloaded from the Web.
+</p><p>
+How to compile Geant4 with the DAWNFILE driver incorporated is
+described in <a href="ch08s03.html" title="8.3. 
+The Visualization Drivers
+">Section 8.3</a>.
+</p><p>
+If the DAWNFILE driver, DAWN and DAVID are all working well in
+your host machine, the visual intersection debugging of
+physical-volume surfaces can be performed as follows:
+</p><p>
+Run your Geant4 executable, invoke the DAWNFILE driver, and
+execute visualization commands to visualize your detector
+geometry:
+
+</p><div class="informalexample"><pre class="programlisting">
+     Idle&gt; /vis/open DAWNFILE
+     .....(setting camera etc)...
+     Idle&gt; /vis/drawVolume
+     Idle&gt; /vis/viewer/update
+</pre></div><p>
+</p><p>
+Then a file "g4.prim", which describes the detector geometry, is
+generated in the current directory and DAVID is invoked to read it.
+(The description of the format of the file g4.prim can be found
+from the 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
+DAWN web site documentation</a>.)
+</p><p>
+If DAVID detects intersection of physical-volume surfaces, it
+automatically invokes DAWN to visualize the detector geometry with
+the intersected physical volumes highlighted (See the above sample
+visualization).
+</p><p>
+If no intersection is detected, visualization is skipped and the
+following message is displayed on the console:
+
+</p><div class="informalexample"><pre class="programlisting">
+     ------------------------------------------------------
+     !!! Number of intersected volumes : 0 !!!
+     !!! Congratulations ! \(^o^)/         !!!
+     ------------------------------------------------------
+</pre></div><p>
+</p><p>
+If you always want to skip visualization, set an environmental
+variable as follows beforehand:
+
+</p><div class="informalexample"><pre class="programlisting">
+     %  setenv DAVID_NO_VIEW  1
+</pre></div><p>
+</p><p>
+To control the precision associated to computation of
+intersections (default precision is set to 9), it is possible to
+use the environmental variable for the DAWNFILE graphics driver, as
+follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+     %  setenv G4DAWNFILE_PRECISION  10
+</pre></div><p>
+</p><p>
+If necessary, re-visualize the detector geometry with
+intersected parts highlighted. The data are saved in a file
+"g4david.prim" in the current directory. This file can be
+re-visualized with DAWN as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+     % dawn g4david.prim
+</pre></div><p>
+</p><p>
+It is also helpful to convert the generated file g4david.prim
+into a VRML-formatted file and perform interactive visualization of
+it with your WWW browser. The file conversion tool
+<code class="literal">prim2wrml</code> can be downloaded from the 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_prim2vrml1.html" target="_top">
+DAWN web site download pages</a>.
+</p><p>
+For more details, see the 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html" target="_top">
+document of DAVID</a> mentioned above.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Geom.Overlap.OLAP"></a>4.1.11.4. 
+Using the geometry debugging tool OLAP
+</h4></div></div></div><p>
+<span class="bold"><strong>OLAP</strong></span> is a tool developed in the CMS experiment 
+at CERN to help in identifying ovelapping volumes in a detector geometry. It
+is placed in the area for specific tools/examples, in
+<code class="literal">geant4/examples/extended/geometry</code>. The technique consists
+in shooting <code class="literal">geantinos</code> particles in one direction and the
+opposite one, and verifying that the boundary crossings are the
+same.
+</p><p>
+The tool can be used for any Geant4 geometry, provided that the
+user geometry to be debugged is available as a subclass of
+<code class="literal">G4VUserDetectorConstruction</code> and is used to construct the
+<code class="literal">OlapDetConstr</code> class of the tool. A dummy class
+<code class="literal">RandomDetector</code> is provided for this purpose in the tool
+itself.
+</p><p>
+Run-time commands are provided by the tool to navigate in the
+geometry tree. UNIX like navigation of the logical volume hierarchy
+is provided by the <code class="literal">/olap/cd</code> command. The root of the
+logical volume tree can be accessed by the character '/'. Any node
+in the volume tree can be accessed by a '/' separated string of
+regular expressions. If '/' is at the beginning of the string, the
+tree hierarchy is transversed from the root, otherwise from the
+currently chosen logical volume. Further the command <code class="literal">/olap/goto
+[regexp]</code> can be used to jump to the first logical volume
+matching the expression <code class="literal">[regexp]</code>. Every successful
+navigation command (<code class="literal">/olap/cd</code>, <code class="literal">olap/goto</code>) results
+in the construction of a <code class="literal">NewWorld</code>, the mother volume being
+the argument of the command and the daughter volumes being the
+direct daughters of the mother volume.
+</p><p>
+<code class="literal">/olap/pwd</code> always shows where in the full geometrical
+hierarchy the current <code class="literal">NewWorld</code> and mother volume are
+located.
+</p><p>
+For more detailed information, view the <code class="literal">README</code> file
+provided with the tool.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Dyna"></a>4.1.12. 
+Dynamic Geometry Setups
+</h3></div></div></div><p>
+Geant4 can handle geometries which vary in time (e.g. a geometry
+varying between two runs in the same job).
+</p><p>
+It is considered a change to the geometry setup, whenever:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the shape or dimension of an existing solid is modified;
+  </p></li><li><p>
+    the positioning (translation or rotation) of a volume is
+    changed;
+  </p></li><li><p>
+    a volume (or a set of volumes, tree) is removed/replaced or
+    added.
+  </p></li></ul></div><p>
+</p><p>
+Whenever such a change happens, the geometry setup needs to be
+first "opened" for the change to be applied and afterwards "closed"
+for the optimisation to be reorganised.
+</p><p>
+In the general case, in order to notify the Geant4 system of the
+change in the geometry setup, the <code class="literal">G4RunManager</code> has to be
+messaged once the new geometry setup has been finalised:
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4RunManager::GeometryHasBeenModified();
+</pre></div><p> 
+</p><p>
+The above notification needs to be performed also if a material
+associated to a <span class="emphasis"><em>positioned</em></span> volume is changed, in order to
+allow for the internal materials/cuts table to be updated. However,
+for relatively complex geometries the re-optimisation step may be
+extremely inefficient, since it has the effect that the whole
+geometry setup will be re-optimised and re-initialised. In cases
+where only a limited portion of the geometry has changed, it may be
+suitable to apply the re-optimisation only to the affected portion
+of the geometry (subtree).
+</p><p>
+Since release 7.1 of the Geant4 toolkit, it is possible to apply
+re-optimisation local to the subtree of the geometry which has
+changed. The user will have to explicitly "open/close" the geometry
+providing a pointer to the top physical volume concerned:
+
+</p><div class="example"><a name="programlist_Geom.Dyna_1"></a><p class="title"><b>Example 4.9. 
+Opening and closing a portion of the geometry without 
+notifying the <code class="literal">G4RunManager</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+ #include "G4GeometryManager.hh"
+ 
+ // Open geometry for the physical volume to be modified ...
+ //
+ G4GeometryManager::OpenGeometry(physCalor);
+ 
+ // Modify dimension of the solid ...
+ //
+ physCalor-&gt;GetLogicalVolume()-&gt;GetSolid()-&gt;SetXHalfLength(12.5*cm);
+ 
+ // Close geometry for the portion modified ...
+ //
+ G4GeometryManager::CloseGeometry(physCalor);
+</pre></div></div><p><br class="example-break">
+</p><p>
+If the existing geometry setup is modified locally in more than
+one place, it may be convenient to apply such a technique only
+once, by specifying a physical volume on top of the hierarchy
+(subtree) containing all changed portions of the setup.
+</p><p>
+An alternative solution for dealing with dynamic geometries is
+to specify NOT to apply optimisation for the subtree affected by
+the change and apply the general solution of invoking the
+<code class="literal">G4RunManager</code>. In this case, a performance penalty at
+run-time may be observed (depending on the complexity of the
+not-optimised subtree), considering that, without optimisation,
+intersections to all volumes in the subtree will be explicitely
+computed each time.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.GDML"></a>4.1.13. 
+Importing XML Models Using GDML
+</h3></div></div></div><p>
+Geometry Description Markup Language (<a href="http://cern.ch/gdml/" target="_top">GDML</a>)
+is a markup language based on XML and suited for the description of detector
+geometry models. It allows for easy exchange of geometry data in a
+<span class="emphasis"><em>human-readable</em></span> XML-based description and structured
+formatting.
+</p><p>
+The GDML parser is component of Geant4 which can be built
+and installed as an optional choice. It allows for importing and
+exporting GDML files, following the schema specified in the GDML
+documentation. The installation of the plugin is optional and requires
+the installation of the
+<a href="http://xerces.apache.org/xerces-c/" target="_top">XercesC</a>
+DOM parser.
+</p><p>
+An example of how to import and export a detector description
+model based on
+<a href="http://cern.ch/gdml/" target="_top">
+<span class="bold"><strong>GDML</strong></span> 
+</a>
+is provided and can be found in <code class="literal">examples/extended/gdml</code>. 
+A description on how to define a geometry in GDML together with 
+an annotated example, is provided in the
+<a href="http://cern.ch/gdml/g4example.html" target="_top">
+GDML example page</a>. 
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Geom.Persistency"></a>4.1.14. 
+Saving geometry tree objects in binary format
+</h3></div></div></div><p>
+The Geant4 geometry tree can be stored in the Root binary file format
+using the <span class="emphasis"><em>reflection</em></span> technique provided by the
+Reflex tool (included in Root). Such a binary file can then be used
+to quickly load the geometry into the memory or to move geometries
+between different Geant4 applications.
+</p><p>
+See <a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s06.html" target="_top">Chapter 4.6</a>
+for details and references.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch04s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">3.7. 
+Event Biasing Techniques
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.2. 
+Material
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s02.html	(revision 901)
@@ -0,0 +1,402 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.2.  Material</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="next" href="ch04s03.html" title="4.3.  Electromagnetic Field"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2. 
+Material
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Mate"></a>4.2. 
+Material
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Mate.GenCons"></a>4.2.1. 
+General considerations
+</h3></div></div></div><p>
+In nature, materials (chemical compounds, mixtures) are made of
+elements, and elements are made of isotopes. Geant4 has three main
+classes designed to reflect this organization. Each of these
+classes has a table, which is a static data member, used to keep
+track of the instances of the respective classes created.
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+    <span class="emphasis"><em>G4Isotope</em></span>
+  </span></dt><dd><p>
+    This class describes the properties of atoms: atomic number,
+    number of nucleons, mass per mole, etc.
+  </p></dd><dt><span class="term">
+    <span class="emphasis"><em>G4Element</em></span>
+  </span></dt><dd><p>
+    This class describes the properties of elements: effective
+    atomic number, effective number of nucleons, effective mass per
+    mole, number of isotopes, shell energy, and quantities like cross
+    section per atom, etc.
+  </p></dd><dt><span class="term">
+    <span class="emphasis"><em>G4Material</em></span>
+  </span></dt><dd><p>
+    This class describes the macroscopic properties of matter:
+    density, state, temperature, pressure, and macroscopic quantities
+    like radiation length, mean free path, dE/dx, etc.
+  </p></dd></dl></div><p>
+</p><p>
+Only the <span class="emphasis"><em>G4Material</em></span> class is visible to the rest of the
+toolkit and used by the tracking, the geometry and the physics. It
+contains all the information relevant to its constituent elements
+and isotopes, while at the same time hiding their implementation
+details.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Mate.Intro"></a>4.2.2. 
+Introduction to the Classes
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Intro.Iso"></a>4.2.2.1. 
+G4Isotope
+</h4></div></div></div><p>
+A <span class="emphasis"><em>G4Isotope</em></span> object has a name, atomic number, number of
+nucleons, mass per mole, and an index in the table. The constructor
+automatically stores "this" isotope in the isotopes table, which
+will assign it an index number.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Intro.Ele"></a>4.2.2.2. 
+G4Element
+</h4></div></div></div><p>
+A <span class="emphasis"><em>G4Element</em></span> object has a name, symbol, effective atomic
+number, effective number of nucleons, effective mass of a mole, an
+index in the elements table, the number of isotopes, a vector of
+pointers to such isotopes, and a vector of relative abundances
+referring to such isotopes (where relative abundance means the
+number of atoms per volume). In addition, the class has methods to
+add, one by one, the isotopes which are to form the element.
+</p><p>
+A <span class="emphasis"><em>G4Element</em></span> object can be constructed by directly
+providing the effective atomic number, effective number of
+nucleons, and effective mass of a mole, if the user explicitly
+wants to do so. Alternatively, a <span class="emphasis"><em>G4Element</em></span> object can be
+constructed by declaring the number of isotopes of which it will be
+composed. The constructor will "new" a vector of pointers to
+<span class="emphasis"><em>G4Isotopes</em></span> and a vector of doubles to store their relative
+abundances. Finally, the method to add an isotope must be invoked
+for each of the desired (pre-existing) isotope objects, providing
+their addresses and relative abundances. At the last isotope entry,
+the system will automatically compute the effective atomic number,
+effective number of nucleons and effective mass of a mole, and will
+store "this" element in the elements table.
+</p><p>
+A few quantities, with physical meaning or not, which are
+constant in a given element, are computed and stored here as
+"derived data members".
+</p><p>
+Using the internal Geant4 database, a <span class="emphasis"><em>G4Element</em></span> can be accessed
+by atomic number or by atomic symbol ("Al", "Fe", "Pb"...). In that
+case <span class="emphasis"><em>G4Element</em></span> will be found from the list of existing elements or
+will be constructed using data from the Geant4 database, which is
+derived from the
+<a href="http://physics.nist.gov/PhysRefData/Compositions/index.html" target="_top">NIST database
+of elements and isotope compositions</a>.
+Thus, the natural isotope composition can be built by default.
+The same element 
+can be created as using the NIST database with the 
+natural composition of isotopes
+and from scratch in user code with user defined isotope composition.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Intro.Mate"></a>4.2.2.3. 
+G4Material
+</h4></div></div></div><p>
+A <span class="emphasis"><em>G4Material</em></span> object has a name, density, physical state,
+temperature and pressure (by default the standard conditions), the
+number of elements and a vector of pointers to such elements, a
+vector of the fraction of mass for each element, a vector of the
+atoms (or molecules) numbers of each element, and an index in the
+materials table. In addition, the class has methods to add, one by
+one, the elements which will comprise the material.
+</p><p>
+A <span class="emphasis"><em>G4Material</em></span> object can be constructed by directly
+providing the resulting effective numbers, if the user explicitly
+wants to do so (an underlying element will be created with these
+numbers). Alternatively, a <span class="emphasis"><em>G4Material</em></span> object can be
+constructed by declaring the number of elements of which it will be
+composed. The constructor will "new" a vector of pointers to
+<span class="emphasis"><em>G4Element</em></span> and a vector of doubles to store their fraction of
+mass. Finally, the method to add an element must be invoked for
+each of the desired (pre-existing) element objects, providing their
+addresses and mass fractions. At the last element entry, the system
+will automatically compute the vector of the number of atoms of
+each element per volume, the total number of electrons per volume,
+and will store "this" material in the materials table. In the same
+way, a material can be constructed as a mixture of other materials
+and elements.
+</p><p>
+It should be noted that if the user provides the number of atoms
+(or molecules) for each element comprising the chemical compound,
+the system automatically computes the mass fraction. A few
+quantities, with physical meaning or not, which are constant in a
+given material, are computed and stored here as "derived data
+members".
+</p><p>
+Some materials are included in the internal Geant4 database,
+which were derived from the
+<a href="http://physics.nist.gov/PhysRefData/Star/Text/method.html" target="_top">NIST database
+of material properties</a>.
+Additionally a number of materials friquently used in HEP is
+included in the database. Materials are interrogated or constructed
+by their <span class="emphasis"><em>names</em></span> (<a href="apas08.html" title="8. 
+Geant4 Material Database
+">Section 8</a>).  
+There are UI commands for the material category, which provide 
+an interactive access to the database. If material is created 
+using the NIST database by it will
+consist by default of elements with the natural composition of isotopes. 
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Intro.Fin"></a>4.2.2.4. 
+Final Considerations
+</h4></div></div></div><p>
+The classes will automatically decide
+if the total of the mass fractions is correct, and perform the
+necessary checks. The main reason why a fixed index is kept as a
+data member is that many cross section and energy tables will be
+built in the physics processes "by rows of materials (or elements,
+or even isotopes)". The tracking gives the physics process the
+address of a material object (the material of the current volume).
+If the material has an index according to which the cross section
+table has been built, then direct access is available when a number
+in such a table must be accessed. We get directly to the correct
+row, and the energy of the particle will tell us the column.
+Without such an index, every access to the cross section or energy
+tables would imply a search to get to the correct material's row.
+More details will be given in the section on processes.
+</p><p>
+Isotopes, elements and materials must be instantiated dynamically
+in the user application; they are automatically registered in
+internal stores and the system takes care to free the memory
+allocated at the end of the job.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Mate.Recep"></a>4.2.3. 
+Recipes for Building Elements and Materials
+</h3></div></div></div><p>
+<a href="ch04s02.html#programlist_Mate_1" title="Example 4.10. 
+A program which illustrates the different ways to define materials.
+">Example 4.10</a> illustrates the different ways to define
+materials.
+</p><div class="example"><a name="programlist_Mate_1"></a><p class="title"><b>Example 4.10. 
+A program which illustrates the different ways to define materials.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "G4Isotope.hh"
+#include "G4Element.hh"
+#include "G4Material.hh"
+#include "G4UnitsTable.hh"
+
+int main() {
+G4String name, symbol;             // a=mass of a mole;
+G4double a, z, density;            // z=mean number of protons;  
+G4int iz, n;                       // iz=nb of protons  in an isotope; 
+                                   // n=nb of nucleons in an isotope;
+G4int ncomponents, natoms;
+G4double abundance, fractionmass;
+G4double temperature, pressure;
+
+G4UnitDefinition::BuildUnitsTable();
+
+// define Elements
+a = 1.01*g/mole;
+G4Element* elH  = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
+
+a = 12.01*g/mole;
+G4Element* elC  = new G4Element(name="Carbon"  ,symbol="C" , z= 6., a);
+
+a = 14.01*g/mole;
+G4Element* elN  = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
+
+a = 16.00*g/mole;
+G4Element* elO  = new G4Element(name="Oxygen"  ,symbol="O" , z= 8., a);
+
+a = 28.09*g/mole;
+G4Element* elSi = new G4Element(name="Silicon", symbol="Si", z=14., a);
+
+a = 55.85*g/mole;
+G4Element* elFe = new G4Element(name="Iron"    ,symbol="Fe", z=26., a);
+
+a = 183.84*g/mole;
+G4Element* elW = new G4Element(name="Tungsten" ,symbol="W",  z=74., a);
+
+a = 207.20*g/mole;
+G4Element* elPb = new G4Element(name="Lead"    ,symbol="Pb", z=82., a);
+
+// define an Element from isotopes, by relative abundance 
+G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole);
+G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole);
+
+G4Element* elU  = new G4Element(name="enriched Uranium", symbol="U", ncomponents=2);
+elU-&gt;AddIsotope(U5, abundance= 90.*perCent);
+elU-&gt;AddIsotope(U8, abundance= 10.*perCent);
+
+cout &lt;&lt; *(G4Isotope::GetIsotopeTable()) &lt;&lt; endl;
+cout &lt;&lt; *(G4Element::GetElementTable()) &lt;&lt; endl;
+</pre></div></div><br class="example-break"><div class="informalexample"><pre class="programlisting">
+// define simple materials
+density = 2.700*g/cm3;
+a = 26.98*g/mole;
+G4Material* Al = new G4Material(name="Aluminum", z=13., a, density);
+
+density = 1.390*g/cm3;
+a = 39.95*g/mole;
+vG4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+
+density = 8.960*g/cm3;
+a = 63.55*g/mole;
+G4Material* Cu = new G4Material(name="Copper"   , z=29., a, density);
+
+// define a material from elements.   case 1: chemical molecule
+density = 1.000*g/cm3;
+G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
+H2O-&gt;AddElement(elH, natoms=2);
+H2O-&gt;AddElement(elO, natoms=1);
+
+density = 1.032*g/cm3;
+G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2);
+Sci-&gt;AddElement(elC, natoms=9);
+Sci-&gt;AddElement(elH, natoms=10);
+
+density = 2.200*g/cm3;
+G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2);
+SiO2-&gt;AddElement(elSi, natoms=1);
+SiO2-&gt;AddElement(elO , natoms=2);
+
+density = 8.280*g/cm3;
+G4Material* PbWO4= new G4Material(name="PbWO4", density, ncomponents=3);
+PbWO4-&gt;AddElement(elO , natoms=4);
+PbWO4-&gt;AddElement(elW , natoms=1);
+PbWO4-&gt;AddElement(elPb, natoms=1);
+
+// define a material from elements.   case 2: mixture by fractional mass
+density = 1.290*mg/cm3;
+G4Material* Air = new G4Material(name="Air  "  , density, ncomponents=2);
+Air-&gt;AddElement(elN, fractionmass=0.7);
+Air-&gt;AddElement(elO, fractionmass=0.3);
+
+// define a material from elements and/or others materials (mixture of mixtures)
+density = 0.200*g/cm3;
+G4Material* Aerog = new G4Material(name="Aerogel", density, ncomponents=3);
+Aerog-&gt;AddMaterial(SiO2, fractionmass=62.5*perCent);
+Aerog-&gt;AddMaterial(H2O , fractionmass=37.4*perCent);
+Aerog-&gt;AddElement (elC , fractionmass= 0.1*perCent);
+</pre></div><div class="informalexample"><pre class="programlisting">
+// examples of gas in non STP conditions
+density     = 27.*mg/cm3;
+pressure    = 50.*atmosphere;
+temperature = 325.*kelvin;
+G4Material* CO2 = new G4Material(name="Carbonic gas", density, ncomponents=2,
+                                     kStateGas,temperature,pressure);
+CO2-&gt;AddElement(elC, natoms=1);
+CO2-&gt;AddElement(elO, natoms=2);
+ 
+density     = 0.3*mg/cm3;
+pressure    = 2.*atmosphere;
+temperature = 500.*kelvin;
+G4Material* steam = new G4Material(name="Water steam ", density, ncomponents=1,
+                                      kStateGas,temperature,pressure);
+steam-&gt;AddMaterial(H2O, fractionmass=1.);
+
+// What about vacuum ?  Vacuum is an ordinary gas with very low density
+density     = universe_mean_density;                //from PhysicalConstants.h
+pressure    = 1.e-19*pascal;
+temperature = 0.1*kelvin;
+new G4Material(name="Galactic", z=1., a=1.01*g/mole, density,
+                   kStateGas,temperature,pressure);
+
+density     = 1.e-5*g/cm3;
+pressure    = 2.e-2*bar;
+temperature = STP_Temperature;                      //from PhysicalConstants.h
+G4Material* beam = new G4Material(name="Beam ", density, ncomponents=1,
+                                      kStateGas,temperature,pressure);
+beam-&gt;AddMaterial(Air, fractionmass=1.);
+
+// print the table of materials
+G4cout &lt;&lt; *(G4Material::GetMaterialTable()) &lt;&lt; endl;
+
+return EXIT_SUCCESS;
+}
+</pre></div><p>
+As can be seen in the later examples, a material has a state:
+solid (the default), liquid, or gas. The constructor checks the
+density and automatically sets the state to gas below a given
+threshold (10 mg/cm3).
+</p><p>
+In the case of a gas, one may specify the temperature and
+pressure. The defaults are STP conditions defined in
+<code class="literal">PhysicalConstants.hh</code>.
+</p><p>
+An element must have the number of nucleons &gt;= number of
+protons &gt;= 1.
+</p><p>
+A material must have non-zero values of density, temperature and
+pressure.
+</p><p>
+Materials can also be defined using the internal Geant4
+database. <a href="ch04s02.html#programlist_Mate_2" title="Example 4.11. 
+A program which shows how to define materials from the internal database.
+">Example 4.11</a> illustrates 
+how to do this for the same materials used in 
+<a href="ch04s02.html#programlist_Mate_1" title="Example 4.10. 
+A program which illustrates the different ways to define materials.
+">Example 4.10</a>. 
+There are also UI commands which allow the database to be accessed. 
+<span class="emphasis"><em>The list of currently avalable material names</em></span>
+(<a href="apas08.html" title="8. 
+Geant4 Material Database
+">Section 8</a>) is extended permanetly.
+</p><div class="example"><a name="programlist_Mate_2"></a><p class="title"><b>Example 4.11. 
+A program which shows how to define materials from the internal database.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "globals.hh"
+#include "G4Material.hh"
+#include "G4NistManager.hh"
+
+int main() {
+  G4NistManager* man = G4NistManager::Instance();
+  man-&gt;SetVerbose(1);
+
+  // define elements
+  G4Element* C  = man-&gt;FindOrBuildElement("C");
+  G4Element* Pb = man-&gt;FindOrBuildMaterial("Pb");
+
+  // define pure NIST materials
+  G4Material* Al = man-&gt;FindOrBuildMaterial("G4_Al");
+  G4Material* Cu = man-&gt;FindOrBuildMaterial("G4_Cu");
+
+  // define NIST materials
+  G4Material* H2O  = man-&gt;FindOrBuildMaterial("G4_WATER");
+  G4Material* Sci  = man-&gt;FindOrBuildMaterial("G4_PLASTIC_SC_VINYLTOLUENE");
+  G4Material* SiO2 = man-&gt;FindOrBuildMaterial("G4_SILICON_DIOXIDE");
+  G4Material* Air  = man-&gt;FindOrBuildMaterial("G4_AIR");
+
+  // HEP materials
+  G4Material* PbWO4  = man-&gt;FindOrBuildMaterial("G4_PbWO4");
+  G4Material* lAr    = man-&gt;FindOrBuildMaterial("G4_lAr");
+  G4Material* vac    = man-&gt;FindOrBuildMaterial("G4_Galactic");
+
+  // define gas material at non STP conditions (T = 120K, P=0.5atm)
+  G4Material* coldAr = man-&gt;ConstructNewGasdMaterial("ColdAr","G4_Ar",120.*kelvin,0.5*atmosphere);
+
+  // print the table of materials
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable()) &lt;&lt; endl;
+
+  return EXIT_SUCCESS;
+}
+</pre></div></div><br class="example-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Mate.Tables"></a>4.2.4. 
+The Tables
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Tables.PrintCons"></a>4.2.4.1. 
+Print a constituent
+</h4></div></div></div><p>
+The following shows how to print a constituent:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4cout &lt;&lt; elU &lt;&lt; endl;
+  G4cout &lt;&lt; Air &lt;&lt; endl;
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Mate.Tables.PrintTab"></a>4.2.4.2. 
+Print the table of materials
+</h4></div></div></div><p>
+The following shows how to print the table of materials:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4cout &lt;&lt; *(G4Material::GetMaterialTable()) &lt;&lt; endl;
+</pre></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 4. 
+Detector Definition and Response
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.3. 
+Electromagnetic Field
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s03.html	(revision 901)
@@ -0,0 +1,558 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.3.  Electromagnetic Field</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04s02.html" title="4.2.  Material"><link rel="next" href="ch04s04.html" title="4.4.  Hits"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3. 
+Electromagnetic Field
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.EMField"></a>4.3. 
+Electromagnetic Field
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EMField.Overview"></a>4.3.1. 
+An Overview of Propagation in a Field
+</h3></div></div></div><p>
+Geant4 is capable of describing and propagating in a variety of
+fields. Magnetic fields, electric fields and electromagnetic,
+uniform or non-uniform, can specified for a Geant4 setup. The
+propagation of tracks inside them can be performed to a
+user-defined accuracy.
+</p><p>
+In order to propagate a track inside a field, the equation of
+motion of the particle in the field is integrated. In general, this
+is done using a Runge-Kutta method for the integration of ordinary
+differential equations. However, for specific cases where an
+analytical solution is known, it is possible to utilize this
+instead. Several Runge-Kutta methods are available, suitable for
+different conditions. In specific cases (such as a uniform field
+where the analytical solution is known) different solvers can also
+be used. In addition, when an approximate analytical solution is
+known, it is possible to utilize it in an iterative manner in order
+to converge to the solution to the precision required. This latter
+method is currently implemented and can be used particularly well
+for magnetic fields that are almost uniform.
+</p><p>
+Once a method is chosen that calculates the track's propagation
+in a specific field, the curved path is broken up into linear chord
+segments. These chord segments are determined so that they closely
+approximate the curved path. The chords are then used to
+interrogate the Navigator as to whether the track has crossed a
+volume boundary. Several parameters are available to adjust the
+accuracy of the integration and the subsequent interrogation of the
+model geometry.
+</p><p>
+How closely the set of chords approximates a curved trajectory
+is governed by a parameter called the <span class="emphasis"><em>miss distance</em></span> (also
+called the <span class="emphasis"><em>chord distance</em></span> ). This is an upper bound for the
+value of the sagitta - the distance between the 'real' curved
+trajectory and the approximate linear trajectory of the chord. By
+setting this parameter, the user can control the precision of the
+volume interrogation. Every attempt has been made to ensure that
+all volume interrogations will be made to an accuracy within this
+<span class="emphasis"><em>miss distance</em></span>.
+
+</p><div class="figure"><a name="fig.EMField_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/electroMagneticField.src/MissDistance.jpg" align="middle" alt="Miss Distance"></div></div><p class="title"><b>Figure 4.6. 
+  The curved trajectory will be approximated by chords,
+  so that the maximum estimated distance between curve and chord is
+  less than the the <span class="emphasis"><em>miss distance</em></span>.
+</b></p></div><p><br class="figure-break">
+</p><p>
+In addition to the <span class="emphasis"><em>miss distance</em></span> there are two more
+parameters which the user can set in order to adjust the accuracy
+(and performance) of tracking in a field. In particular these
+parameters govern the accuracy of the intersection with a volume
+boundary and the accuracy of the integration of other steps. As
+such they play an important role for tracking.
+</p><p>
+The <span class="emphasis"><em>delta intersection</em></span> parameter is the accuracy to which
+an intersection with a volume boundary is calculated. If a
+candidate boundary intersection is estimated to have a precision
+better than this, it is accepted. This parameter is especially
+important because it is used to limit a bias that our algorithm
+(for boundary crossing in a field) exhibits. This algorithm
+calculates the intersection with a volume boundary using a chord
+between two points on the curved particle trajectory. As such, the
+intersection point is always on the 'inside' of the curve. By
+setting a value for this parameter that is much smaller than some
+acceptable error, the user can limit the effect of this bias on,
+for example, the future estimation of the reconstructed particle
+momentum.
+
+</p><div class="figure"><a name="fig.EMField_2"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/electroMagneticField.src/IntersectionError.jpg" align="middle" alt="Figure: The distance between the calculated chord intersection point and a computed curve point."></div></div><p class="title"><b>Figure 4.7. 
+  The distance between the calculated chord intersection
+  point C and a computed curve point D is used to determine whether C
+  is an accurate representation of the intersection of the curved
+  path ADB with a volume boundary. Here CD is likely too large, and a
+  new intersection on the chord AD will be calculated.
+</b></p></div><p><br class="figure-break">
+</p><p>
+The <span class="emphasis"><em>delta one step</em></span> parameter is the accuracy for the
+endpoint of 'ordinary' integration steps, those which do not
+intersect a volume boundary. This parameter is a limit on the
+estimated error of the endpoint of each physics step. It can be
+seen as akin to a statistical uncertainty and is not expected to
+contribute any systematic behavior to physical quantities. In
+contrast, the bias addressed by <span class="emphasis"><em>delta intersection</em></span> is
+clearly correlated with potential systematic errors in the momentum
+of reconstructed tracks. Thus very strict limits on the
+intersection parameter should be used in tracking detectors or
+wherever the intersections are used to reconstruct a track's
+momentum.
+</p><p>
+<span class="emphasis"><em>Delta intersection</em></span> and <span class="emphasis"><em>delta one step</em></span> are
+parameters of the Field Manager; the user can set them according to
+the demands of his application. Because it is possible to use more
+than one field manager, different values can be set for different
+detector regions.
+</p><p>
+Note that reasonable values for the two parameters are strongly
+coupled: it does not make sense to request an accuracy of 1 nm for
+<span class="emphasis"><em>delta intersection</em></span> and accept 100 &amp;#956m for the
+<span class="emphasis"><em>delta one step</em></span> error value. Nevertheless <span class="emphasis"><em>delta
+intersection</em></span> is the more important of the two. It is
+recommended that these parameters should not differ significantly -
+certainly not by more than an order of magnitude.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EMField.Pract"></a>4.3.2. 
+Practical Aspects
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.MagField"></a>4.3.2.1. 
+Creating a Magnetic Field for a Detector
+</h4></div></div></div><p>
+The simplest way to define a field for a detector involves the
+following steps:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    create a field:
+    </p><div class="informalexample"><pre class="programlisting">
+    G4UniformMagField* magField
+      = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
+    </pre></div><p>
+  </p></li><li><p>
+    set it as the default field:
+    </p><div class="informalexample"><pre class="programlisting">
+    G4FieldManager* fieldMgr
+      = G4TransportationManager::GetTransportationManager()
+        -&gt;GetFieldManager();
+       fieldMgr-&gt;SetDetectorField(magField);
+    </pre></div><p>
+  </p></li><li><p>
+    create the objects which calculate the trajectory:
+    </p><div class="informalexample"><pre class="programlisting">
+    fieldMgr-&gt;CreateChordFinder(magField);
+    </pre></div><p>
+</p></li></ol></div><p>
+</p><p>
+To change the accuracy of volume intersection use the
+<code class="literal">SetDeltaChord</code> method:
+
+</p><div class="informalexample"><pre class="programlisting">
+    fieldMgr-&gt;GetChordFinder()-&gt;SetDeltaChord( G4double newValue);
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.PartVol"></a>4.3.2.2. 
+Creating a Field for a Part of the Volume Hierarchy
+</h4></div></div></div><p>
+It is possible to create a field for a part of the detector. In
+particular it can describe the field (with pointer fEmField, for
+example) inside a logical volume and all its daughters. This can be
+done by simply creating a <code class="literal">G4FieldManager</code> and attaching it
+to a logical volume (with pointer, logicVolumeWithField, for
+example) or set of logical volumes.
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4bool allLocal = true;       
+  logicVolumeWithField-&gt;SetFieldManager(localFieldManager, allLocal);
+</pre></div><p>
+</p><p>
+Using the second parameter to <code class="literal">SetFieldManager</code> you choose
+whether  daughter volumes of this logical volume will also be given this new
+field.  If it has the value <code class="literal">true</code>, the field will be
+assigned also to its daughters, and all their sub-volumes.  
+Else, if it is <code class="literal">false</code>,  it will be copied only to those
+daughter volumes which do not have a field manager already.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.Electric"></a>4.3.2.3. 
+Creating an Electric or Electromagnetic Field
+</h4></div></div></div><p>
+The design and implementation of the <span class="emphasis"><em>Field</em></span> category
+allows and enables the use of an electric or combined
+electromagnetic field. These fields can also vary with time, as can
+magnetic fields.
+</p><p>
+Source listing <a href="ch04s03.html#programlist_EMField_1" title="Example 4.12. 
+How to define a uniform electric field for the whole of a detector, 
+extracted from example in examples/extended/field/field02 .
+">Example 4.12</a> shows how to 
+define a uniform electric field for the whole of a detector.
+
+</p><div class="example"><a name="programlist_EMField_1"></a><p class="title"><b>Example 4.12. 
+How to define a uniform electric field for the whole of a detector, 
+extracted from example in examples/extended/field/field02 .
+</b></p><div class="example-contents"><pre class="programlisting">
+ // in the header file (or first)
+  #include "G4EqMagElectricField.hh"
+  #include "G4UniformElectricField.hh"
+
+  ...
+    G4ElectricField*        fEMfield;
+    G4EqMagElectricField*   fEquation;
+    G4MagIntegratorStepper* fStepper;
+    G4FieldManager*         fFieldMgr;
+    G4double                fMinStep ;
+    G4ChordFinder*          fChordFinder ;
+
+ // in the source file
+
+  {
+    fEMfield = new G4UniformElectricField(
+                 G4ThreeVector(0.0,100000.0*kilovolt/cm,0.0));
+
+    // Create an equation of motion for this field
+    fEquation = new G4EqMagElectricField(fEMfield); 
+
+    G4int nvar = 8;
+    fStepper = new G4ClassicalRK4( fEquation, nvar );       
+
+    // Get the global field manager 
+    fFieldManager= G4TransportationManager::GetTransportationManager()-&gt;
+         GetFieldManager();
+    // Set this field to the global field manager 
+    fFieldManager-&gt;SetDetectorField(fEMfield );
+
+    fMinStep     = 0.010*mm ; // minimal step of 10 microns
+
+    fIntgrDriver = new G4MagInt_Driver(fMinStep, 
+                                     fStepper, 
+                                     fStepper-&gt;GetNumberOfVariables() );
+
+    fChordFinder = new G4ChordFinder(fIntgrDriver);
+    fFieldManager-&gt;SetChordFinder( fChordFinder );
+
+  }
+</pre></div></div><p><br class="example-break">
+</p><p>
+An example with an electric field is
+examples/extended/field/field02, where the class
+F02ElectricFieldSetup demonstrates how to set these and other
+parameters, and how to choose different Integration Steppers.
+</p><p>
+The user can also create their own type of field, inheriting from
+<code class="literal">G4VField</code>, and an associated Equation of Motion class
+(inheriting from <code class="literal">G4EqRhs</code>) to simulate other types of
+fields.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.Stepper"></a>4.3.2.4. 
+Choosing a Stepper
+</h4></div></div></div><p>
+Runge-Kutta integration is used to compute the motion of a
+charged track in a general field. There are many general steppers
+from which to choose, of low and high order, and specialized
+steppers for pure magnetic fields. By default, Geant4 uses the
+classical fourth-order Runge-Kutta stepper, which is general
+purpose and robust. If the field is known to have specific
+properties, lower or higher order steppers can be used to obtain
+the same quality results using fewer computing cycles.
+</p><p>
+In particular, if the field is calculated from a field map, a
+lower order stepper is recommended. The less smooth the field is,
+the lower the order of the stepper that should be used. The choice
+of lower order steppers includes the third order stepper
+<code class="literal">G4SimpleHeum</code>, the second order <code class="literal">G4ImplicitEuler</code>
+and <code class="literal">G4SimpleRunge</code>, and the first order
+<code class="literal">G4ExplicitEuler</code>. A first order stepper would be useful
+only for very rough fields. For somewhat smooth fields
+(intermediate), the choice between second and third order steppers
+should be made by trial and error. Trying a few different types of
+steppers for a particular field or application is suggested if
+maximum performance is a goal.
+</p><p>
+The choice of stepper depends on the type of field: magnetic or
+general. A general field can be an electric or electromagnetic
+field, it can be a magnetic field or a user-defined field (which
+requires a user-defined equation of motion.) For a general field
+several steppers are available as alternatives to the default
+(<code class="literal">G4ClassicalRK4</code>):
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4int nvar = 8;  // To integrate time &amp; energy 
+                    //    in addition to position, momentum
+   G4EqMagElectricField* fEquation= new G4EqMagElectricField(fEMfield); 
+
+   fStepper = new G4SimpleHeum( fEquation, nvar );         
+            //  3rd  order, a good alternative to ClassicalRK
+   fStepper = new G4SimpleRunge( fEquation, nvar ); 
+            //  2nd  order, for less smooth fields
+   fStepper = new G4CashKarpRKF45( fEquation );     
+            // 4/5th order for very smooth fields 
+</pre></div><p>
+</p><p>
+Specialized steppers for pure magnetic fields are also
+available. They take into account the fact that a local trajectory
+in a slowly varying field will not vary significantly from a helix.
+Combining this in with a variation the Runge-Kutta method can
+provide higher accuracy at lower computational cost when large
+steps are possible.
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4Mag_UsualEqRhs* 
+      fEquation = new G4Mag_UsualEqRhs(fMagneticField); 
+   fStepper = new G4HelixImplicitEuler( fEquation ); 
+      // Note that for magnetic field that do not vary with time,
+      //  the default number of variables suffices.
+ 
+      // or ..
+     fStepper = new G4HelixExplicitEuler( fEquation ); 
+     fStepper = new G4HelixSimpleRunge( fEquation );   
+</pre></div><p>
+</p><p>
+You can choose an alternative stepper either when the field
+manager is constructed or later. At the construction of the
+ChordFinder it is an optional argument:
+
+</p><div class="informalexample"><pre class="programlisting">
+ G4ChordFinder( G4MagneticField* itsMagField,
+                G4double         stepMinimum = 1.0e-2 * mm,
+                G4MagIntegratorStepper* pItsStepper = 0 );
+</pre></div><p>
+</p><p>
+To change the stepper at a later time use
+
+</p><div class="informalexample"><pre class="programlisting">
+ pChordFinder-&gt;GetIntegrationDriver()
+             -&gt;RenewStepperAndAdjust( newStepper );
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.Adjust"></a>4.3.2.5. 
+How to Adjust the Accuracy of Propagation
+</h4></div></div></div><p>
+In order to obtain a particular accuracy in tracking particles
+through an electromagnetic field, it is necessary to adjust the
+parameters of the field propagation module. In the following
+section, some of these additional parameters are discussed.
+</p><p>
+When integration is used to calculate the trajectory, it is
+necessary to determine an acceptable level of numerical imprecision
+in order to get performant simulation with acceptable errors. The
+parameters in Geant4 tell the field module what level of
+integration inaccuracy is acceptable.
+</p><p>
+In all quantities which are integrated (position, momentum,
+energy) there will be errors. Here, however, we focus on the error
+in two key quantities: the position and the momentum. (The error in
+the energy will come from the momentum integration).
+</p><p>
+Three parameters exist which are relevant to the integration
+accuracy. DeltaOneStep is a distance and is roughly the position
+error which is acceptable in an integration step. Since many
+integration steps may be required for a single physics step,
+DeltaOneStep should be a fraction of the average physics step size.
+The next two parameters impose a further limit on the relative
+error of the position/momentum inaccuracy. EpsilonMin and
+EpsilonMax impose a minimum and maximum on this relative error -
+and take precedence over DeltaOneStep. (Note: if you set
+EpsilonMin=EpsilonMax=your-value, then all steps will be made to
+this relative precision.
+
+</p><div class="example"><a name="programlist_EMField_2"></a><p class="title"><b>Example 4.13. 
+How to set accuracy parameters for the 'global' field of the setup.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4FieldManager *globalFieldManager;
+
+  G4TransportationManager *transportMgr= 
+       G4TransportationManager::GetTransportationManager();
+
+  globalFieldManager = transportMgr-&gt;GetFieldManager();
+                            // Relative accuracy values:
+  G4double minEps= 1.0e-5;  //   Minimum &amp; value for smallest steps
+  G4double maxEps= 1.0e-4;  //   Maximum &amp; value for largest steps
+
+  globalFieldManager-&gt;SetMinimumEpsilonStep( minEps );
+  globalFieldManager-&gt;SetMaximumEpsilonStep( maxEps );
+  globalFieldManager-&gt;SetDeltaOneStep( 0.5e-3 * mm );  // 0.5 micrometer
+
+  G4cout &lt;&lt; "EpsilonStep: set min= " &lt;&lt; minEps &lt;&lt; " max= " &lt;&lt; maxEps &lt;&lt; G4endl;
+</pre></div></div><p><br class="example-break">
+</p><p>
+We note that the relevant parameters above limit the inaccuracy
+in each step. The final inaccuracy due to the full trajectory will
+accumulate!
+</p><p>
+The exact point at which a track crosses a boundary is also
+calculated with finite accuracy. To limit this inaccuracy, a
+parameter called DeltaIntersection is used. This is a maximum for
+the inaccuracy of a single boundary crossing. Thus the accuracy of
+the position of the track after a number of boundary crossings is
+directly proportional to the number of boundaries.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.DiffAcc"></a>4.3.2.6. 
+Choosing different accuracies for the same volume
+</h4></div></div></div><p>
+It is possible to create a FieldManager which has different
+properties for particles of different momenta (or depending on
+other parameters of a track). This is useful, for example, in
+obtaining high accuracy for 'important' tracks (e.g. muons) and
+accept less accuracy in tracking others (e.g. electrons). To use
+this, you must create your own field manager which uses the
+method
+
+</p><div class="informalexample"><pre class="programlisting">
+  void ConfigureForTrack( const G4Track * );
+</pre></div><p>
+
+to configure itself using the parameters of the current track.
+An example of this will be available in
+examples/extended/field05.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.ParaScal"></a>4.3.2.7. 
+Parameters that must scale with problem size
+</h4></div></div></div><p>
+The default settings of this module are for problems with the
+physical size of a typical high energy physics setup, that is,
+distances smaller than about one kilometer. A few parameters are
+necessary to carry this information to the magnetic field module,
+and must typically be rescaled for problems of vastly different
+sizes in order to get reasonable performance and robustness. Two of
+these parameters are the maximum acceptable step and the minimum
+step size.
+</p><p>
+The <span class="bold"><strong>maximum acceptable step</strong></span> should be set 
+to a distance larger than the biggest reasonable step. If the apparatus 
+in a setup has a diameter of two meters, a likely maximum acceptable
+steplength would be 10 meters. A particle could then take large
+spiral steps, but would not attempt to take, for example, a
+1000-meter-long step in the case of a very low-density material.
+Similarly, for problems of a planetary scale, such as the earth
+with its radius of roughly 6400 km, a maximum acceptabe steplength
+of a few times this value would be reasonable.
+</p><p>
+An upper limit for the size of a step is a parameter of
+<code class="literal">G4PropagatorInField</code>, and can be set by calling its
+<code class="literal">SetLargestAcceptableStep</code> method.
+</p><p>
+The <span class="bold"><strong>minimum step size</strong></span> is used during 
+integration to limit the amount of work in difficult cases. It is 
+possible that strong fields or integration problems can force the 
+integrator to try very small steps; this parameter stops them from 
+becoming unnecessarily small.
+</p><p>
+Trial steps smaller than this parameter will be treated with
+less accuracy, and may even be ignored, depending on the
+situation.
+</p><p>
+The minimum step size is a parameter of the MagInt_Driver, but
+can be set in the contstructor of G4ChordFinder, as in the source
+listing above.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.EMField.Pract.Known"></a>4.3.2.8. 
+Known Issues
+</h4></div></div></div><p>
+Currently it is computationally expensive to change the <span class="emphasis"><em>miss
+distance</em></span> to very small values, as it causes tracks to be
+limited to curved sections whose 'bend' is smaller than this value.
+(The bend is the distance of the mid-point from the chord between
+endpoints.) For tracks with small curvature (typically low momentum
+particles in strong fields) this can cause a large number of
+steps
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    even in areas where there are no volumes to intersect
+    (something that is expected to be addressed in future development,
+    in which the safety will be utilized to partially alleviate this
+    limitation)
+  </p></li><li><p>
+    especially in a region near a volume boundary (in which case it
+    is necessary in order to discover whether a track might intersect a
+    volume for only a short distance.)
+  </p></li></ul></div><p>
+</p><p>
+Requiring such precision at the intersection is clearly expensive,
+and new development would be necessary to minimize the expense.
+</p><p>
+By contrast, changing the intersection parameter is less
+computationally expensive. It causes further calculation for only a
+fraction of the steps, in particular those that intersect a volume
+boundary.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EMField.Spin"></a>4.3.3. 
+Spin Tracking
+</h3></div></div></div><p>
+The effects of a particle's motion on the precession of its spin
+angular momentum in slowly varying external fields are simulated.
+The relativistic equation of motion for spin is known as the BMT
+equation. The equation demonstrates a remarkable property; in a
+purely magnetic field, in vacuum, and neglecting small anomalous
+magnetic moments, the particle's spin precesses in such a manner
+that the longitudinal polarization remains a constant, whatever the
+motion of the particle. But when the particle interacts with
+electric fields of the medium and multiple scatters, the spin,
+which is related to the particle's magnetic moment, does not
+participate, and the need thus arises to propagate it independent
+of the momentum vector. In the case of a polarized muon beam, for
+example, it is important to predict the muon's spin direction at
+decay-time in order to simulate the decay electron (Michel)
+distribution correctly.
+</p><p>
+In order to track the spin of a particle in a magnetic field,
+you need to code the following:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    in your DetectorConstruction
+
+    </p><div class="informalexample"><pre class="programlisting">
+#include "G4Mag_SpinEqRhs.hh"
+
+  G4Mag_EqRhs* fEquation = new G4Mag_SpinEqRhs(magField);
+
+  G4MagIntegratorStepper* pStepper = new G4ClassicalRK4(fEquation,12);
+                                                       <span class="bold"><strong>notice the 12 </strong></span>
+    </pre></div><p>
+  </p></li><li><p>
+    in your PrimaryGenerator
+
+    </p><div class="informalexample"><pre class="programlisting">
+  particleGun-&gt;SetParticlePolarization(G4ThreeVector p)
+    </pre></div><p>
+
+    for example:
+
+    </p><div class="informalexample"><pre class="programlisting">
+  particleGun-&gt;
+  SetParticlePolarization(-(particleGun-&gt;GetParticleMomentumDirection()));
+
+  // or
+  particleGun-&gt;
+  SetParticlePolarization(particleGun-&gt;GetParticleMomentumDirection()
+                                         .cross(G4ThreeVector(0.,1.,0.)));
+    </pre></div><p>
+
+    where you set the initial spin direction.
+  </p></li></ol></div><p>
+</p><p>
+While the G4Mag_SpinEqRhs class constructor
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4Mag_SpinEqRhs::G4Mag_SpinEqRhs( G4MagneticField* MagField )
+     : G4Mag_EqRhs( MagField ) 
+  {
+      anomaly = 1.165923e-3;
+  }
+</pre></div><p>
+
+sets the muon anomaly by default, the class also comes with the
+public method:
+
+</p><div class="informalexample"><pre class="programlisting">
+  inline void SetAnomaly(G4double a) { anomaly = a; }
+</pre></div><p>
+
+with which you can set the magnetic anomaly to any value you
+require.
+</p><p>
+For the moment, the code is written such that field tracking of
+the spin is done only for particles with non-zero charge. Please,
+see the Forum posting:
+
+<code class="literal">
+http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/emfields/88/3/1.html
+</code>
+
+for modifications the user is required to make to facilitate
+neutron spin tracking.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.2. 
+Material
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.4. 
+Hits
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s04.html	(revision 901)
@@ -0,0 +1,913 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.4.  Hits</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04s03.html" title="4.3.  Electromagnetic Field"><link rel="next" href="ch04s05.html" title="4.5.  Digitization"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.4. 
+Hits
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Hits"></a>4.4. 
+Hits
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.Hit"></a>4.4.1. 
+Hit
+</h3></div></div></div><p>
+A hit is a snapshot of the physical interaction of a track in the
+sensitive region of a detector. In it you can store information
+associated with a <span class="emphasis"><em>G4Step</em></span> object. This information can be
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the position and time of the step,
+  </p></li><li><p>
+    the momentum and energy of the track,
+  </p></li><li><p>
+    the energy deposition of the step,
+  </p></li><li><p>
+    geometrical information,
+  </p></li></ul></div><p>
+
+or any combination of the above.
+</p><h5><a name="id427822"></a>
+G4VHit
+</h5><p>
+<span class="emphasis"><em>G4VHit</em></span> is an abstract base class which represents a hit.
+You must inherit this base class and derive your own concrete hit
+class(es). The member data of your concrete hit class can be, and
+should be, your choice.
+</p><p>
+<span class="emphasis"><em>G4VHit</em></span> has two virtual methods, <code class="literal">Draw()</code> and
+<code class="literal">Print()</code>. To draw or print out your concrete hits, these
+methods should be implemented. How to define the drawing method is
+described in <a href="ch08s09.html" title="8.9. 
+Polylines, Markers and Text
+">Section 8.9</a>.
+</p><h5><a name="id427865"></a>
+G4THitsCollection
+</h5><p>
+<span class="emphasis"><em>G4VHit</em></span> is an abstract class from which you derive your
+own concrete classes. During the processing of a given event,
+represented by a <span class="emphasis"><em>G4Event</em></span> object, many objects of the hit
+class will be produced, collected and associated with the event.
+Therefore, for each concrete hit class you must also prepare a
+concrete class derived from <span class="emphasis"><em>G4VHitsCollection</em></span>, an abstract
+class which represents a vector collection of user defined
+hits.
+</p><p>
+<span class="emphasis"><em>G4THitsCollection</em></span> is a template class derived from
+<span class="emphasis"><em>G4VHitsCollection</em></span>, and the concrete hit collection class of
+a particular <span class="emphasis"><em>G4VHit</em></span> concrete class can be instantiated from
+this template class. Each object of a hit collection must have a
+unique name for each event.
+</p><p>
+<span class="emphasis"><em>G4Event</em></span> has a <span class="emphasis"><em>G4HCofThisEvent</em></span> class 
+object, that is a container class of collections of hits. Hit collections are
+stored by their pointers, whose type is that of the base class.
+</p><h5><a name="id427918"></a>
+An example of a concrete hit class
+</h5><p>
+<a href="ch04s04.html#programlist_Hits_1" title="Example 4.14. 
+An example of a concrete hit class.
+">Example 4.14</a> shows an example of a concrete hit class.
+
+</p><div class="example"><a name="programlist_Hits_1"></a><p class="title"><b>Example 4.14. 
+An example of a concrete hit class.
+</b></p><div class="example-contents"><pre class="programlisting">
+#ifndef ExN04TrackerHit_h
+#define ExN04TrackerHit_h 1
+
+#include "G4VHit.hh"
+#include "G4THitsCollection.hh"
+#include "G4Allocator.hh"
+#include "G4ThreeVector.hh"
+
+class ExN04TrackerHit : public G4VHit
+{
+  public:
+
+      ExN04TrackerHit();
+      ~ExN04TrackerHit();
+      ExN04TrackerHit(const ExN04TrackerHit &amp;right);
+      const ExN04TrackerHit&amp; operator=(const ExN04TrackerHit &amp;right);
+      int operator==(const ExN04TrackerHit &amp;right) const;
+
+      inline void * operator new(size_t);
+      inline void operator delete(void *aHit);
+
+      void Draw() const;
+      void Print() const;
+
+  private:
+      G4double edep;
+      G4ThreeVector pos;
+
+  public:
+      inline void SetEdep(G4double de)
+      { edep = de; }
+      inline G4double GetEdep() const
+      { return edep; }
+      inline void SetPos(G4ThreeVector xyz)
+      { pos = xyz; }
+      inline G4ThreeVector GetPos() const
+      { return pos; }
+
+};
+
+typedef G4THitsCollection&lt;ExN04TrackerHit&gt; ExN04TrackerHitsCollection;
+
+extern G4Allocator&lt;ExN04TrackerHit&gt; ExN04TrackerHitAllocator;
+
+inline void* ExN04TrackerHit::operator new(size_t)
+{
+  void *aHit;
+  aHit = (void *) ExN04TrackerHitAllocator.MallocSingle();
+  return aHit;
+}
+
+inline void ExN04TrackerHit::operator delete(void *aHit)
+{
+  ExN04TrackerHitAllocator.FreeSingle((ExN04TrackerHit*) aHit);
+}
+
+#endif
+</pre></div></div><p><br class="example-break">
+</p><p>
+<span class="emphasis"><em>G4Allocator</em></span> is a class for fast allocation of objects to
+the heap through the paging mechanism. For details of
+<span class="emphasis"><em>G4Allocator</em></span>, refer to <a href="ch03s02.html#sect.GeneManage" title="3.2.4. 
+General management classes
+">Section 3.2.4</a>. 
+Use of <span class="emphasis"><em>G4Allocator</em></span>
+is not mandatory, but it is recommended, especially for users who
+are not familiar with the C++ memory allocation mechanism or
+alternative tools of memory allocation. On the other hand, note
+that <span class="emphasis"><em>G4Allocator</em></span> is to be used 
+<span class="bold"><strong>only</strong></span> for the concrete
+class that is <span class="bold"><strong>not</strong></span> used as a base 
+class of any other classes.
+For example, do <span class="bold"><strong>not</strong></span> use the 
+<span class="emphasis"><em>G4Trajectory</em></span> class as a
+base class for a customized trajectory class, since
+<span class="emphasis"><em>G4Trajectory</em></span> uses <span class="emphasis"><em>G4Allocator</em></span>.
+</p><h5><a name="id428028"></a>
+G4THitsMap
+</h5><p>
+<span class="emphasis"><em>G4THitsMap</em></span> is an alternative to 
+<span class="emphasis"><em>G4THitsCollection</em></span>.
+<span class="emphasis"><em>G4THitsMap</em></span> does not demand <span class="emphasis"><em>G4VHit</em></span>, 
+but instead any variable which can be mapped with an integer key. Typically the key
+is a copy number of the volume, and the mapped value could for
+example be a double, such as the energy deposition in a volume.
+<span class="emphasis"><em>G4THitsMap</em></span> is convenient for applications which do not need
+to output event-by-event data but instead just accumulate them. All
+the <span class="emphasis"><em>G4VPrimitiveScorer</em></span> classes discussed in 
+<a href="ch04s04.html#sect.Hits.G4Multi" title="4.4.5. 
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+">Section 4.4.5</a> use <span class="emphasis"><em>G4THitsMap</em></span>.
+</p><p>
+<span class="emphasis"><em>G4THitsMap</em></span> is derived from the 
+<span class="emphasis"><em>G4VHitsCollection</em></span>
+abstract base class and all objects of this class are also stored
+in <span class="emphasis"><em>G4HCofThisEvent</em></span> at the end of an event. How to access a
+<span class="emphasis"><em>G4THitsMap</em></span> object is discussed in the 
+following section (<a href="ch04s04.html#sect.Hits.G4Multi" title="4.4.5. 
+G4MultiFunctionalDetector and
+G4VPrimitiveScorer
+">Section 4.4.5</a>).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.SensDet"></a>4.4.2. 
+Sensitive detector
+</h3></div></div></div><h5><a name="id428112"></a>
+G4VSensitiveDetector
+</h5><p>
+<span class="emphasis"><em>G4VSensitiveDetector</em></span> is an abstract base class which
+represents a detector. The principal mandate of a sensitive
+detector is the construction of hit objects using information from
+steps along a particle track. The <code class="literal">ProcessHits()</code> method of
+<span class="emphasis"><em>G4VSensitiveDetector</em></span> performs this task using 
+<span class="emphasis"><em>G4Step</em></span>
+objects as input. In the case of a "Readout" geometry (see 
+<a href="ch04s04.html#sect.Hits.ReadGeom" title="4.4.3. 
+Readout geometry
+">Section 4.4.3</a>), objects of the
+<span class="emphasis"><em>G4TouchableHistory</em></span> class may be used as an optional input.
+</p><p>
+Your concrete detector class should be instantiated with the
+unique name of your detector. The name can be associated with one
+or more global names with "/" as a delimiter for categorizing your
+detectors. For example
+
+</p><div class="informalexample"><pre class="programlisting">
+     myEMcal = new MyEMcal("/myDet/myCal/myEMcal");
+</pre></div><p> 
+
+where <code class="literal">myEMcal</code> is the name of your detector. The pointer to
+your sensitive detector must be set to one or more
+<span class="emphasis"><em>G4LogicalVolume</em></span> objects to set the sensitivity of these
+volumes. The pointer should also be registered to
+<span class="emphasis"><em>G4SDManager</em></span>, as described in 
+<a href="ch04s04.html#sect.Hits.G4SDMan" title="4.4.4. 
+G4SDManager
+">Section 4.4.4</a>.
+</p><p>
+<span class="emphasis"><em>G4VSensitiveDetector</em></span> has three major virtual methods.
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      <code class="literal">ProcessHits()</code>
+    </span></dt><dd><p>
+      This method is invoked by <span class="emphasis"><em>G4SteppingManager</em></span> when a step
+      is composed in the <span class="emphasis"><em>G4LogicalVolume</em></span> which has the pointer 
+      to this sensitive detector. The first argument of this method is a
+      <span class="emphasis"><em>G4Step</em></span> object of the current step. The second argument is a
+      <span class="emphasis"><em>G4TouchableHistory</em></span> object for the ``Readout geometry''
+      described in the next section. The second argument is <code class="literal">NULL</code>
+      if ``Readout geometry'' is not assigned to this sensitive detector.
+      In this method, one or more <span class="emphasis"><em>G4VHit</em></span> objects should be
+      constructed if the current step is meaningful for your
+      detector.
+    </p></dd><dt><span class="term">
+      <code class="literal">Initialize()</code>
+    </span></dt><dd><p>
+      This method is invoked at the beginning of each event. The
+      argument of this method is an object of the <span class="emphasis"><em>G4HCofThisEvent</em></span>
+      class. Hit collections, where hits produced in this particular
+      event are stored, can be associated with the <span class="emphasis"><em>G4HCofThisEvent</em></span>
+      object in this method. The hit collections associated with the
+      <span class="emphasis"><em>G4HCofThisEvent</em></span> object during this method can be used for
+      ``during the event processing'' digitization.
+    </p></dd><dt><span class="term">
+      <code class="literal">EndOfEvent()</code>
+    </span></dt><dd><p>
+      This method is invoked at the end of each event. The argument
+      of this method is the same object as the previous method. Hit
+      collections occasionally created in your sensitive detector can be
+      associated with the <span class="emphasis"><em>G4HCofThisEvent</em></span> object.
+    </p></dd></dl></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.ReadGeom"></a>4.4.3. 
+Readout geometry
+</h3></div></div></div><p>
+This section describes how a ``Readout geometry'' can be defined. A
+Readout geometry is a virtual, parallel geometry for obtaining the
+channel number.
+</p><p>
+As an example, the accordion calorimeter of <span class="bold"><strong>ATLAS</strong></span> 
+has a complicated tracking geometry, however the readout can be done by
+simple cylindrical sectors divided by theta, phi, and depth. Tracks
+will be traced in the tracking geometry, the ``real'' one, and the
+sensitive detector will have its own readout geometry Geant4 will
+message to find to which ``readout'' cell the current hit
+belongs.
+
+</p><div class="figure"><a name="fig.Hits_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/hit.src/RO.gif" align="middle" alt="Association of tracking and readout geometry."></div></div><p class="title"><b>Figure 4.8. 
+Association of tracking and readout geometry.
+</b></p></div><p><br class="figure-break">
+</p><p>
+<a href="ch04s04.html#fig.Hits_1" title="Figure 4.8. 
+Association of tracking and readout geometry.
+">Figure 4.8</a> shows how this association is done in Geant4. 
+The first step is to associate a sensitive detector to a volume of the
+tracking geometry, in the usual way (see 
+<a href="ch04s04.html#sect.Hits.SensDet" title="4.4.2. 
+Sensitive detector
+">Section 4.4.2</a>). The next step is to associate your
+<span class="emphasis"><em>G4VReadoutGeometry</em></span> object to the sensitive detector.
+</p><p>
+At tracking time, the base class <span class="emphasis"><em>G4VReadoutGeometry</em></span> will
+provide to your sensitive detector code the
+<span class="emphasis"><em>G4TouchableHistory</em></span> in the Readout geometry at the beginning
+of the step position (position of <span class="emphasis"><em>PreStepPoint</em></span> of
+<span class="emphasis"><em>G4Step</em></span>) and at this position only.
+</p><p>
+This <span class="emphasis"><em>G4TouchableHistory</em></span> is given to your sensitive
+detector code through the <span class="emphasis"><em>G4VSensitiveDetector</em></span> virtual
+method:
+
+</p><div class="informalexample"><pre class="programlisting">
+        G4bool processHits(G4Step* aStep, G4TouchableHistory* ROhist);
+</pre></div><p>
+
+by the <code class="literal">ROhist</code> argument.
+</p><p>
+Thus, you will be able to use information from both the
+<span class="emphasis"><em>G4Step</em></span> and the <span class="emphasis"><em>G4TouchableHistory</em></span> 
+coming from your
+Readout geometry. Note that since the association is done through a
+sensitive detector object, it is perfectly possible to have several
+Readout geometries in parallel.
+</p><h5><a name="id428454"></a>
+Definition of a virtual geometry setup
+</h5><p>
+The base class for the implementation of a Readout geometry is
+<span class="emphasis"><em>G4VReadoutGeometry</em></span>. This class has a single pure virtual
+protected method:
+
+</p><div class="informalexample"><pre class="programlisting">
+        virtual G4VPhysicalVolume* build() = 0;
+</pre></div><p>
+
+which you must override in your concrete class. The
+<span class="emphasis"><em>G4VPhysicalVolume</em></span> pointer you will have to return is of the
+physical world of the Readout geometry.
+</p><p>
+The step by step procedure for constructing a Readout geometry is:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    inherit from <span class="emphasis"><em>G4VReadoutGeometry</em></span> to define a
+    <span class="emphasis"><em>MyROGeom</em></span> class;
+  </p></li><li><p>
+    implement the Readout geometry in the <code class="literal">build()</code> method,
+    returning the physical world of this geometry.
+    </p><p>
+    The world is specified in the same way as for the detector
+    construction: a physical volume with no mother. The axis system of
+    this world is the same as the one of the world for tracking.
+    </p><p>
+    </p><p>
+    In this geometry you need to declare the sensitive parts in the
+    same way as in the tracking geometry: by setting a
+    non-<code class="literal">NULL</code> <span class="emphasis"><em>G4VSensitiveDetector</em></span> 
+    pointer in, say, the
+    relevant <span class="emphasis"><em>G4LogicalVolume</em></span> objects. This sensitive class needs
+    to be there, but will not be used.
+    </p><p>
+    </p><p>
+    You will also need to assign well defined materials to the
+    volumes you place in this geometry, but these materials are
+    irrelevant since they will not be seen by the tracking. It is
+    foreseen to allow the setting of a <code class="literal">NULL</code> pointer in this
+    case of the parallel geometry.
+    </p><p>
+  </p></li><li><p>
+    in the <code class="literal">construct()</code> method of your concrete
+    <span class="emphasis"><em>G4VUserDetectorConstruction</em></span> class:
+    </p><p>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        instantiate your Readout geometry:
+        </p><div class="informalexample"><pre class="programlisting">
+        MyROGeom* ROgeom = new MyROGeom("ROName");
+        </pre></div><p>            
+      </p></li><li><p>
+        build it:
+        </p><div class="informalexample"><pre class="programlisting">
+        ROgeom-&gt;buildROGeometry();
+        </pre></div><p>
+        That will invoke your <code class="literal">build()</code> method.
+      </p></li><li><p>
+        Instantiate the sensitive detector which will receive the
+        <code class="literal">ROGeom</code> pointer, <code class="literal">MySensitive</code>, 
+        and add this sensitive to the <span class="emphasis"><em>G4SDManager</em></span>. 
+        Associate this sensitive to
+        the volume(s) of the tracking geometry as usual.
+      </p></li><li><p>
+        Associate the sensitive to the Readout geometry:
+        </p><div class="informalexample"><pre class="programlisting">
+        MySensitive-&gt;SetROgeometry(ROgeom);
+        </pre></div><p>            
+      </p></li></ul></div><p>
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.G4SDMan"></a>4.4.4. 
+G4SDManager
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4SDManager</em></span> is the singleton manager class for sensitive
+detectors.
+</p><h5><a name="id428671"></a>
+Activation/inactivation of sensitive detectors
+</h5><p>
+The user interface commands <code class="literal">activate</code> and
+<code class="literal">inactivate</code> are available to control your sensitive
+detectors. For example:
+
+</p><div class="informalexample"><pre class="programlisting">
+/hits/activate detector_name
+/hits/inactivate detector_name
+</pre></div><p>
+
+where <code class="literal">detector_name</code> can be the detector name or the
+category name. 
+</p><p>
+For example, if your EM calorimeter is named
+
+</p><div class="informalexample"><pre class="programlisting">
+/myDet/myCal/myEMcal
+/hits/inactivate myCal
+</pre></div><p>
+
+will inactivate all detectors belonging to the <code class="literal">myCal</code>
+category.
+</p><h5><a name="id428731"></a>
+Access to the hit collections
+</h5><p>Hit collections are accessed for various cases.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Digitization
+  </p></li><li><p>
+    Event filtering in <span class="emphasis"><em>G4VUserStackingAction</em></span>
+  </p></li><li><p>
+    ``End of event'' simple analysis
+  </p></li><li><p>
+    Drawing / printing hits
+  </p></li></ul></div><p>
+</p><p>
+The following is an example of how to access the hit collection
+of a particular concrete type:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4SDManager* fSDM = G4SDManager::GetSDMpointer();
+  G4RunManager* fRM = G4RunManager::GetRunManager();
+  G4int collectionID = fSDM-&gt;GetCollectionID("collection_name");
+  const G4Event* currentEvent = fRM-&gt;GetCurrentEvent();
+  G4HCofThisEvent* HCofEvent = currentEvent-&gt;GetHCofThisEvent();
+  <span class="emphasis"><em>MyHitsCollection</em></span>* myCollection = (<span class="emphasis"><em>MyHitsCollection</em></span>*)(HC0fEvent-&gt;GetHC(collectionID));
+</pre></div><p> 
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.G4Multi"></a>4.4.5. 
+<span class="emphasis"><em>G4MultiFunctionalDetector</em></span> and
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4MultiFunctionalDetector</em></span> is a concrete class derived from
+<span class="emphasis"><em>G4VSensitiveDetector</em></span>. Instead of implementing a
+user-specific detector class, <span class="emphasis"><em>G4MultiFunctionalDetector</em></span>
+allows the user to register <span class="emphasis"><em>G4VPrimitiveScorer</em></span> classes to
+build up the sensitivity. <span class="emphasis"><em>G4MultiFunctionalDetector</em></span> should
+be instantiated in the users detector construction with its unique
+name and should be assigned to one or more <span class="emphasis"><em>G4LogicalVolume</em></span>s.
+</p><p>
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span> is an abstract base class representing
+a class to be registered to <span class="emphasis"><em>G4MultiFunctionalDetector</em></span> that
+creates a <span class="emphasis"><em>G4THitsMap</em></span> object of one physics quantity for an
+event. Geant4 provides many concrete primitive scorer classes
+listed in <a href="ch04s04.html#sect.Hits.G4VPrim" title="4.4.6. 
+Concrete classes of G4VPrimitiveScorer
+">Section 4.4.6</a>, and the user can
+also implement his/her own primitive scorers. Each primitive scorer
+object must be instantiated with a name that must be unique among
+primitive scorers registered in a <span class="emphasis"><em>G4MultiFunctionalDetector</em></span>.
+Please note that a primitive scorer object must <span class="bold"><strong>not</strong></span> be
+shared by more than one <span class="emphasis"><em>G4MultiFunctionalDetector</em></span>
+object.
+</p><p>As mentioned in <a href="ch04s04.html#sect.Hits.Hit" title="4.4.1. 
+Hit
+">Section 4.4.1</a>, 
+each <span class="emphasis"><em>G4VPrimitiveScorer</em></span> generates one 
+<span class="emphasis"><em>G4THitsMap</em></span> object
+per event. The name of the map object is the same as the name of
+the primitive scorer. Each of the concrete primitive scorers listed
+in <a href="ch04s04.html#sect.Hits.G4VPrim" title="4.4.6. 
+Concrete classes of G4VPrimitiveScorer
+">Section 4.4.6</a> generates a 
+<span class="emphasis"><em>G4THitsMap&lt;G4double&gt;</em></span> that maps a 
+<span class="emphasis"><em>G4double</em></span> value
+to its key integer number. By default, the key is taken as the copy
+number of the <span class="emphasis"><em>G4LogicalVolume</em></span> to which
+<span class="emphasis"><em>G4MultiFunctionalDetector</em></span> is assigned. In case the logical
+volume is uniquely placed in its mother volume and the mother is
+replicated, the copy number of its mother volume can be taken by
+setting the second argument of the <span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+constructor, "<span class="emphasis"><em>depth</em></span>" to 1, i.e. one level up. Furthermore,
+in case the key must consider more than one copy number of a
+different geometry hierarchy, the user can derive his/her own
+primitive scorer from the provided concrete class and implement the
+<span class="emphasis"><em>GetIndex(G4Step*)</em></span> virtual method to return the unique
+key.
+</p><p>
+<a href="ch04s04.html#programlist_Hits_2" title="Example 4.15. 
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+">Example 4.15</a> shows an example of primitive sensitivity
+class definitions.
+
+</p><div class="example"><a name="programlist_Hits_2"></a><p class="title"><b>Example 4.15. 
+An example of defining primitive sensitivity classes taken from
+<span class="emphasis"><em>ExN07DetectorConstruction</em></span>.
+</b></p><div class="example-contents"><pre class="programlisting">
+void ExN07DetectorConstruction::SetupDetectors()
+{ 
+  G4String filterName, particleName;
+  
+  G4SDParticleFilter* gammaFilter = 
+    new G4SDParticleFilter(filterName="gammaFilter",particleName="gamma");
+  G4SDParticleFilter* electronFilter = 
+    new G4SDParticleFilter(filterName="electronFilter",particleName="e-");
+  G4SDParticleFilter* positronFilter = 
+    new G4SDParticleFilter(filterName="positronFilter",particleName="e+");
+  G4SDParticleFilter* epFilter = new G4SDParticleFilter(filterName="epFilter");
+  epFilter-&gt;add(particleName="e-");
+  epFilter-&gt;add(particleName="e+");
+    
+    
+  for(G4int i=0;i&lt;3;i++)
+  {
+   for(G4int j=0;j&lt;2;j++)
+   {
+    // Loop counter j = 0 : absorber
+    //                = 1 : gap
+    G4String detName = calName[i];
+    if(j==0)
+    { detName += "_abs"; }
+    else
+    { detName += "_gap"; }
+    G4MultiFunctionalDetector* det = new G4MultiFunctionalDetector(detName);
+  
+    //  The second argument in each primitive means the "level" of geometrical hierarchy,
+    // the copy number of that level is used as the key of the G4THitsMap.
+    //  For absorber (j = 0), the copy number of its own physical volume is used.
+    //  For gap (j = 1), the copy number of its mother physical volume is used, since there
+    // is only one physical volume of gap is placed with respect to its mother.
+    G4VPrimitiveScorer* primitive;
+    primitive = new G4PSEnergyDeposit("eDep",j);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSNofSecondary("nGamma",j);
+    primitive-&gt;SetFilter(gammaFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSNofSecondary("nElectron",j);
+    primitive-&gt;SetFilter(electronFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSNofSecondary("nPositron",j);
+    primitive-&gt;SetFilter(positronFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSMinKinEAtGeneration("minEkinGamma",j);
+    primitive-&gt;SetFilter(gammaFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSMinKinEAtGeneration("minEkinElectron",j);
+    primitive-&gt;SetFilter(electronFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSMinKinEAtGeneration("minEkinPositron",j);
+    primitive-&gt;SetFilter(positronFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSTrackLength("trackLength",j);
+    primitive-&gt;SetFilter(epFilter);
+    det-&gt;RegisterPrimitive(primitive);
+    primitive = new G4PSNofStep("nStep",j);
+    primitive-&gt;SetFilter(epFilter); 
+    det-&gt;RegisterPrimitive(primitive);
+  
+    G4SDManager::GetSDMpointer()-&gt;AddNewDetector(det);
+    if(j==0)
+    { layerLogical[i]-&gt;SetSensitiveDetector(det); }
+    else
+    { gapLogical[i]-&gt;SetSensitiveDetector(det); }
+   }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+Each <span class="emphasis"><em>G4THitsMap</em></span> object can be accessed from
+<span class="emphasis"><em>G4HCofThisEvent</em></span> with a unique collection ID number. This ID
+number can be obtained from <span class="emphasis"><em>G4SDManager::GetCollectionID()</em></span>
+with a name of <span class="emphasis"><em>G4MultiFunctionalDetector</em></span> and
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span> connected with a slush ("/").
+<span class="emphasis"><em>G4THitsMap</em></span> has a [] operator taking the key value as an
+argument and returning <span class="bold"><strong>the pointer</strong></span> of the value. 
+Please note that the [] operator returns 
+<span class="bold"><strong>the pointer</strong></span> of the value. If
+you get zero from the [] operator, it does <span class="bold"><strong>not</strong></span> mean the
+value is zero, but that the provided key does not exist. The value
+itself is accessible with an astarisk ("*"). It is advised to check
+the validity of the returned pointer before accessing the value.
+<span class="emphasis"><em>G4THitsMap</em></span> also has a += operator in order to accumulate
+event data into run data. <a href="ch04s04.html#programlist_Hits_3" title="Example 4.16. 
+An example of accessing to G4THitsMap objects.
+">Example 4.16</a> shows the use of
+<span class="emphasis"><em>G4THitsMap</em></span>.
+
+</p><div class="example"><a name="programlist_Hits_3"></a><p class="title"><b>Example 4.16. 
+An example of accessing to <span class="emphasis"><em>G4THitsMap</em></span> objects.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "ExN07Run.hh"
+#include "G4Event.hh"
+#include "G4HCofThisEvent.hh"
+#include "G4SDManager.hh"
+
+ExN07Run::ExN07Run()
+{
+  G4String detName[6] = {"Calor-A_abs","Calor-A_gap","Calor-B_abs","Calor-B_gap",
+                         "Calor-C_abs","Calor-C_gap"};
+  G4String primNameSum[6] = {"eDep","nGamma","nElectron","nPositron","trackLength","nStep"};
+  G4String primNameMin[3] = {"minEkinGamma","minEkinElectron","minEkinPositron"};
+
+  G4SDManager* SDMan = G4SDManager::GetSDMpointer();
+  G4String fullName;
+  for(size_t i=0;i&lt;6;i++)
+  {
+    for(size_t j=0;j&lt;6;j++)
+    {
+      fullName = detName[i]+"/"+primNameSum[j];
+      colIDSum[i][j] = SDMan-&gt;GetCollectionID(fullName);
+    }
+    for(size_t k=0;k&lt;3;k++)
+    {
+      fullName = detName[i]+"/"+primNameMin[k];
+      colIDMin[i][k] = SDMan-&gt;GetCollectionID(fullName);
+    }
+  }
+}
+
+
+void ExN07Run::RecordEvent(const G4Event* evt)
+{
+  G4HCofThisEvent* HCE = evt-&gt;GetHCofThisEvent();
+  if(!HCE) return;
+  numberOfEvent++;
+  for(size_t i=0;i&lt;6;i++)
+  {
+    for(size_t j=0;j&lt;6;j++)
+    {
+      G4THitsMap&lt;G4double&gt;* evtMap = (G4THitsMap&lt;G4double&gt;*)(HCE-&gt;GetHC(colIDSum[i][j]));
+      mapSum[i][j] += *evtMap;
+    }
+    for(size_t k=0;k&lt;3;k++)
+    {
+      G4THitsMap&lt;G4double&gt;* evtMap = (G4THitsMap&lt;G4double&gt;*)(HCE-&gt;GetHC(colIDMin[i][k]));
+      std::map&lt;G4int,G4double*&gt;::iterator itr = evtMap-&gt;GetMap()-&gt;begin();
+      for(; itr != evtMap-&gt;GetMap()-&gt;end(); itr++)
+      {
+        G4int key = (itr-&gt;first);
+        G4double val = *(itr-&gt;second);
+        G4double* mapP = mapMin[i][k][key];
+        if( mapP &amp;&amp; (val&gt;*mapP) ) continue;
+        mapMin[i][k].set(key,val);
+      }
+    }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.G4VPrim"></a>4.4.6. 
+Concrete classes of <span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+</h3></div></div></div><p>
+With Geant4 version 8.0, several concrete primitive scorer classes
+are provided, all of which are derived from the
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span> abstract base class and which are to be
+registered to <span class="emphasis"><em>G4MultiFunctionalDetector</em></span>. Each of them
+contains one <span class="emphasis"><em>G4THitsMap</em></span> object and scores a simple double
+value for each key.
+</p><h5><a name="id429128"></a>
+Track length scorers
+</h5><p>
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      G4PSTrackLength
+    </span></dt><dd><p>
+      The track length is defined as the sum of step lengths of the
+      particles inside the cell. Bt default, the track weight is not
+      taken into account, but could be used as a multiplier of each step
+      length if the <span class="emphasis"><em>Weighted()</em></span> method of this class object is
+      invoked.
+    </p></dd><dt><span class="term">
+      G4PSPassageTrackLength
+    </span></dt><dd><p>
+      The passage track length is the same as the track length in
+      <span class="emphasis"><em>G4PSTrackLength</em></span>, except that only tracks which pass 
+      through the volume are taken into account. It means newly-generated or
+      stopped tracks inside the cell are excluded from the calculation.
+      By default, the track weight is not taken into account, but could
+      be used as a multiplier of each step length if the
+      <span class="emphasis"><em>Weighted()</em></span> method of this class object is invoked.
+    </p></dd></dl></div><p>
+</p><h5><a name="id429183"></a>
+<span class="bold"><strong>Deposited energy scorers</strong></span>
+</h5><p>
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      G4PSEnergyDeposit
+    </span></dt><dd><p>
+      This scorer stores a sum of particles' energy deposits at each
+      step in the cell. The particle weight is multiplied at each
+      step.
+    </p></dd><dt><span class="term">
+      G4PSDoseDeposit
+    </span></dt><dd><p>
+      In some cases, dose is a more convenient way to evaluate the
+      effect of energy deposit in a cell than simple deposited energy.
+      The dose deposit is defined by the sum of energy deposits at each
+      step in a cell divided by the mass of the cell. The mass is
+      calculated from the density and volume of the cell taken from the
+      methods of <span class="emphasis"><em>G4VSolid</em></span> and 
+      <span class="emphasis"><em>G4LogicalVolume</em></span>. The particle
+      weight is multiplied at each step.
+    </p></dd></dl></div><p>
+</p><h5><a name="id429239"></a>
+<span class="bold"><strong>Current and flux scorers</strong></span>
+</h5><p>
+There are two different definitions of a particle's flow for a
+given geometry. One is a current and the other is a flux. In our
+scorers, the current is simply defined as the number of particles
+(with the particle's weight) at a certain surface or volume, while
+the flux takes the particle's injection angle to the geometry into
+account. The current and flux are usually defined at a surface, but
+volume current and volume flux are also provided.
+</p><p>
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      G4PSFlatSurfaceCurrent
+    </span></dt><dd><p>
+      Flat surface current is a surface based scorer. The present
+      implementation is limited to scoring only at the -Z surface of a
+      <span class="emphasis"><em>G4Box</em></span> solid. The quantity is defined by the number 
+      of tracks that reach the surface. The user must choose a direction of the
+      particle to be scored. The choices are fCurrent_In, fCurrent_Out,
+      or fCurrent_InOut, one of which must be entered as the second
+      argument of the constructor. Here, fCurrent_In scores incoming
+      particles to the cell, while fCurrent_Out scores only outgoing
+      particles from the cell. fCurrent_InOut scores both directions. The
+      current is multiplied by particle weight and is normalized for a
+      unit area.
+    </p></dd><dt><span class="term">
+      G4PSSphereSurfaceCurrent
+    </span></dt><dd><p>
+      Sphere surface current is a surface based scorer, and similar
+      to the G4PSFlatSurfaceCurrent. The only difference is that the
+      surface is defined at the <span class="bold"><strong>inner surface</strong></span> 
+      of a G4Sphere solid.
+    </p></dd><dt><span class="term">
+      G4PSPassageCurrent
+    </span></dt><dd><p>
+      Passage current is a volume-based scorer. The current is
+      defined by the number of tracks that pass through the volume. A
+      particle weight is applied at the exit point. A passage current is
+      defined for a volume.
+    </p></dd><dt><span class="term">
+      G4PSFlatSurfaceFlux
+    </span></dt><dd><p>
+      Flat surface flux is a surface based flux scorer. The surface
+      flux is defined by the number of tracks that reach the surface. The
+      expression of surface flux is given by the sum of W/cos(t)/A, where
+      W, t and A represent particle weight, injection angle of particle
+      with respect to the surface normal, and area of the surface. The
+      user must enter one of the particle directions, fFlux_In,
+      fFlux_Out, or fFlux_InOut in the constructor. Here, fFlux_In scores
+      incoming particles to the cell, while fFlux_Out scores outgoing
+      particles from the cell. fFlux_InOut scores both directions.
+    </p></dd><dt><span class="term">
+      G4PSCellFlux
+    </span></dt><dd><p>
+      Cell flux is a volume based flux scorer. The cell flux is
+      defined by a track length (L) of the particle inside a volume
+      divided by the volume (V) of this cell. The track length is
+      calculated by a sum of the step lengths in the cell. The expression
+      for cell flux is given by the sum of (W*L)/V, where W is a particle
+      weight, and is multiplied by the track length at each step.
+    </p></dd><dt><span class="term">
+      G4PSPassageCellFlux
+    </span></dt><dd><p>
+      Passage cell flux is a volume based scorer similar to
+      <span class="emphasis"><em>G4PSCellFlux</em></span>. The only difference is that tracks 
+      which pass through a cell are taken into account. It means generated or
+      stopped tracks inside the volume are excluded from the
+      calculation.
+    </p></dd></dl></div><p>
+</p><h5><a name="id429373"></a>
+<span class="bold"><strong>Other scorers</strong></span>
+</h5><p>
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      G4PSMinKinEAtGeneration
+    </span></dt><dd><p>
+      This scorer records the minimum kinetic energy of secondary
+      particles at their production point in the volume in an event. This
+      primitive scorer does not integrate the quantity, but records the
+      minimum quantity.
+    </p></dd><dt><span class="term">
+      G4PSNofSecondary
+    </span></dt><dd><p>
+      This class scores the number of secondary particles generated
+      in the volume. The weight of the secondary track is taken into
+      account.
+    </p></dd><dt><span class="term">
+      G4PSNofStep
+    </span></dt><dd><p>
+      This class scores the number of steps in the cell. A particle
+      weight is not applied.
+    </p></dd><dt><span class="term">
+      G4PSCellCharge
+    </span></dt><dd><p>
+      This class scored the total charge of particles which has stoped 
+      in the volume.
+    </p></dd></dl></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Hits.G4VSDFil"></a>4.4.7. 
+<span class="emphasis"><em>G4VSDFilter</em></span> and its derived classes
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4VSDFilter</em></span> is an abstract class that represents a track
+filter to be associated with <span class="emphasis"><em>G4VSensitiveDetector</em></span> or
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span>. It defines a virtual method
+
+</p><div class="informalexample"><pre class="programlisting">
+  <span class="emphasis"><em>G4bool Accept(const G4Step*)</em></span>
+</pre></div><p>
+
+that should return <span class="emphasis"><em>true</em></span> if this particular step should be
+scored by the <span class="emphasis"><em>G4VSensitiveDetector</em></span> or
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span>.
+</p><p>
+While the user can implement his/her own filter class, Geant4
+version 8.0 provides the following concrete filter classes:
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      G4SDChargedFilter
+    </span></dt><dd><p>
+      All charged particles are accepted.
+    </p></dd><dt><span class="term">
+      G4SDNeutralFilter
+    </span></dt><dd><p>
+      All neutral particles are accepted.
+    </p></dd><dt><span class="term">
+      G4SDParticleFilter
+    </span></dt><dd><p>
+      Particle species which are registered to this filter object by
+      <span class="emphasis"><em>Add("particle_name")</em></span> are accepted. More than one 
+      species can be registered.
+    </p></dd><dt><span class="term">
+      G4SDKineticEnergyFilter
+    </span></dt><dd><p>
+      A track with kinetic energy greater than or equal to EKmin and
+      smaller than EKmin is accepted. EKmin and EKmax should be defined
+      as arguments of the constructor. The default values of EKmin and
+      EKmax are zero and DBL_MAX.
+    </p></dd><dt><span class="term">
+      G4SDParticleWithEnergyFilter
+    </span></dt><dd><p>
+      Combination of <span class="emphasis"><em>G4SDParticleFilter</em></span> and
+      <span class="emphasis"><em>G4SDParticleWithEnergyFilter</em></span>.
+    </p></dd></dl></div><p>
+</p><p>
+The use of the <span class="emphasis"><em>G4SDParticleFilter</em></span> class is demonstrated
+in <a href="ch04s04.html#programlist_Hits_2" title="Example 4.15. 
+An example of defining primitive sensitivity classes taken from
+ExN07DetectorConstruction.
+">Example 4.15</a>, where filters which accept gamma,
+electron, positron and electron/positron are defined.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.EvtBias.ScorImpRoul.Scor"></a>4.4.8. 
+Scoring for Event Biasing
+</h3></div></div></div><p>
+Scoring for Event Biasing (described in <a href="ch03s07.html" title="3.7. 
+Event Biasing Techniques
+">Section 3.7</a>) is a
+very specific use case whereby particle weights and fluxes through importance 
+cells are required.  The goals of the scoring technique are to:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    appraise particle quantities related to special regions or
+    surfaces,
+  </p></li><li><p>
+    be applicable to all "cells" (physical volumes or replicas) of
+    a given geometry,
+  </p></li><li><p>
+    be customizable.
+  </p></li></ul></div><p>
+</p><p>
+Standard scoring must be provided for quantities such as tracks
+entering a cell, average weight of entering tracks, energy of
+entering tracks, and collisions inside the cell.
+</p><p>
+A number of scorers have been created for this specific appliction:
+</p><p>
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      G4PSNofCollision
+    </span></dt><dd><p>
+    This scorer records the number of collisions that occur within a scored volume/cell.
+    There is the additional possibility to take into account the track weight
+    whilst scoring the number of collisions, via the following command:
+</p><div class="informalexample"><pre class="programlisting">
+  G4PSNofCollision*   scorer1 = new G4PSNofCollision(psName="CollWeight");  
+  scorer1-&gt;Weighted(true);
+</pre></div><p>
+      </p></dd><dt><span class="term">
+      G4PSPopulation
+    </span></dt><dd><p>
+      This scores the number of tracks within in a given cell per event.
+   </p></dd><dt><span class="term">
+      G4PSTrackLength
+    </span></dt><dd><p>
+      The track lengths within a cell are measured and if, additionally, the result is desired
+      to be weighted then the following code has to be implemented:
+</p><div class="informalexample"><pre class="programlisting">
+  G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW");  
+  scorer5-&gt;Weighted(true);
+</pre></div><p>
+  Further if the energy track flux is required then the following should be
+  implemented:
+</p><div class="informalexample"><pre class="programlisting">
+  G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE");  
+  scorer6-&gt;Weighted(true);
+  scorer6-&gt;MultiplyKineticEnergy(true);
+  MFDet-&gt;RegisterPrimitive(scorer6);
+</pre></div><p>
+
+     Alternatively to measure the flux per unit velocity then:
+</p><div class="informalexample"><pre class="programlisting">
+  G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V");  
+  scorer7-&gt;Weighted(true);
+  scorer7-&gt;DivideByVelocity(true);
+  MFDet-&gt;RegisterPrimitive(scorer7);
+</pre></div><p>
+
+   Finally to measure the flux energy per unit velocity then:
+</p><div class="informalexample"><pre class="programlisting">
+  G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V");  
+  scorer8-&gt;Weighted(true);
+  scorer8-&gt;MultiplyKineticEnergy(true);
+  scorer8-&gt;DivideByVelocity(true);
+  MFDet-&gt;RegisterPrimitive(scorer8);
+</pre></div><p>
+    </p></dd></dl></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.3. 
+Electromagnetic Field
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.5. 
+Digitization
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s05.html	(revision 901)
@@ -0,0 +1,143 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.5.  Digitization</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04s04.html" title="4.4.  Hits"><link rel="next" href="ch04s06.html" title="4.6.  Object Persistency"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.5. 
+Digitization
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Digi"></a>4.5. 
+Digitization
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Digi.Digi"></a>4.5.1. 
+Digi
+</h3></div></div></div><p>
+A hit is created by a sensitive detector when a step goes through
+it. Thus, the sensitive detector is associated to the corresponding
+<span class="emphasis"><em>G4LogicalVolume</em></span> object(s). On the other hand, a digit is
+created using information of hits and/or other digits by a
+digitizer module. The digitizer module is not associated with any
+volume, and you have to implicitly invoke the <code class="literal">Digitize()</code>
+method of your concrete <span class="emphasis"><em>G4VDigitizerModule</em></span> class.
+</p><p>
+Typical usages of digitizer module include:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    simulate ADC and/or TDC
+  </p></li><li><p>
+    simulate readout scheme
+  </p></li><li><p>
+    generate raw data
+  </p></li><li><p>
+    simulate trigger logics
+  </p></li><li><p>
+    simulate pile up
+  </p></li></ul></div><p>
+</p><h5><a name="id431887"></a>
+G4VDigi
+</h5><p>
+<span class="emphasis"><em>G4VDigi</em></span> is an abstract base class which represents a
+digit. You have to inherit this base class and derive your own
+concrete digit class(es). The member data of your concrete digit
+class should be defined by yourself. <span class="emphasis"><em>G4VDigi</em></span> has two virtual
+methods, <code class="literal">Draw()</code> and <code class="literal">Print()</code>.
+</p><h5><a name="id431920"></a>
+G4TDigiCollection
+</h5><p>
+<span class="emphasis"><em>G4TDigiCollection</em></span> is a template class for digits
+collections, which is derived from the abstract base class
+<span class="emphasis"><em>G4VDigiCollection</em></span>. <span class="emphasis"><em>G4Event</em></span> has a
+<span class="emphasis"><em>G4DCofThisEvent</em></span> object, which is a container class of
+collections of digits. The usages of <span class="emphasis"><em>G4VDigi</em></span> and
+<span class="emphasis"><em>G4TDigiCollection</em></span> are almost the same as <span class="emphasis"><em>G4VHit</em></span> and
+<span class="emphasis"><em>G4THitsCollection</em></span>, respectively, explained in the previous
+section.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Digi.DigMod"></a>4.5.2. 
+Digitizer module
+</h3></div></div></div><h5><a name="id431976"></a>
+G4VDigitizerModule
+</h5><p>
+<span class="emphasis"><em>G4VDigitizerModule</em></span> is an abstract base class which
+represents a digitizer module. It has a pure virtual method,
+<code class="literal">Digitize()</code>. A concrete digitizer module must have an
+implementation of this virtual method. The Geant4 kernel classes do
+not have a ``built-in'' invocation to the <code class="literal">Digitize()</code>
+method. You have to implement your code to invoke this method of
+your digitizer module.
+</p><p>
+In the <code class="literal">Digitize()</code> method, you construct your
+<span class="emphasis"><em>G4VDigi</em></span> concrete class objects and store them to your
+<span class="emphasis"><em>G4TDigiCollection</em></span> concrete class object(s). Your
+collection(s) should be associated with the <span class="emphasis"><em>G4DCofThisEvent</em></span>
+object.
+</p><h5><a name="id432028"></a>
+G4DigiManager
+</h5><p>
+<span class="emphasis"><em>G4DigiManager</em></span> is the singleton manager class of the
+digitizer modules. All of your concrete digitizer modules should be
+registered to <span class="emphasis"><em>G4DigiManager</em></span> with their unique names.
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = new MyDigitizer( "/myDet/myCal/myEMdigiMod" );
+     fDM-&gt;AddNewModule(myDM);
+</pre></div><p> 
+</p><p>
+Your concrete digitizer module can be accessed from your code using
+the unique module name.
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = fDM-&gt;FindDigitizerModule( "/myDet/myCal/myEMdigiMod" );
+     myDM-&gt;Digitize();
+</pre></div><p>  
+</p><p>
+Also, <span class="emphasis"><em>G4DigiManager</em></span> has a <span class="emphasis"><em>Digitize()</em></span> 
+method which takes the unique module name.
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     MyDigitizer * myDM = fDM-&gt;Digitize( "/myDet/myCal/myEMdigiMod" );
+</pre></div><p> 
+</p><h5><a name="id432095"></a>
+How to get hitsCollection and/or digiCollection
+</h5><p>
+<span class="emphasis"><em>G4DigiManager</em></span> has the following methods to access to the
+hits or digi collections of the currently processing event or of
+previous events.
+</p><p>
+First, you have to get the collection ID number of the hits or
+digits collection.
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4DigiManager * fDM = G4DigiManager::GetDMpointer();
+     G4int myHitsCollID = fDM-&gt;GetHitsCollectionID( "hits_collection_name" );
+     G4int myDigiCollID = fDM-&gt;GetDigiCollectionID( "digi_collection_name" );
+</pre></div><p> 
+</p><p>
+Then, you can get the pointer to your concrete
+<span class="emphasis"><em>G4THitsCollection</em></span> object or 
+<span class="emphasis"><em>G4TDigiCollection</em></span> object of the currently processing event.
+
+</p><div class="informalexample"><pre class="programlisting"> 
+     MyHitsCollection * HC = fDM-&gt;GetHitsCollection( myHitsCollID );
+     MyDigiCollection * DC = fDM-&gt;GetDigiCollection( myDigiCollID );
+</pre></div><p> 
+</p><p>
+In case you want to access to the hits or digits collection of
+previous events, add the second argument.
+
+</p><div class="informalexample"><pre class="programlisting"> 
+     MyHitsCollection * HC = fDM-&gt;GetHitsCollection( myHitsCollID, n );
+     MyDigiCollection * DC = fDM-&gt;GetDigiCollection( myDigiCollID, n );
+</pre></div><p>  
+
+where, <code class="literal">n</code> indicates the hits or digits collection of the
+<code class="literal">n</code><sup>th</sup> previous event.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.4. 
+Hits
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.6. 
+Object Persistency
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s06.html	(revision 901)
@@ -0,0 +1,81 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.6.  Object Persistency</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04s05.html" title="4.5.  Digitization"><link rel="next" href="ch04s07.html" title="4.7.  Parallel Geometries"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.6. 
+Object Persistency
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ObjPers"></a>4.6. 
+Object Persistency
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ObjPers.PersG4"></a>4.6.1. 
+Persistency in Geant4
+</h3></div></div></div><p>
+Object persistency is provided by Geant4 as an optional category,
+so that the user may run Geant4 with or without an object database
+management system (ODBMS).
+</p><p>
+When a usual (transient) object is created in C++, the object is
+placed onto the application heap and it ceases to exist when the
+application terminates. Persistent objects, on the other hand, live
+beyond the termination of the application process and may then be
+accessed by other processes (in some cases, by processes on other
+machines).
+
+</p><div class="figure"><a name="fig.ObjPers_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/persistency.src/pobject.gif" align="middle" alt="Persistent object."></div></div><p class="title"><b>Figure 4.9. 
+Persistent object.
+</b></p></div><p><br class="figure-break">
+</p><p>
+C++ does not have, as an intrinsic part of the language, the
+ability to store and retrieve persistent objects. Geant4 provides
+an abstract framework for persistency of hits, digits and
+events.
+</p><p>
+Two examples demonstrating an implementation of object
+persistency using one of the tools accessible through the available
+interface, is provided in
+<code class="literal">examples/extended/persistency</code>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ObjPers.Reflex"></a>4.6.2. 
+Using Reflex for persistency of Geant4 objects
+</h3></div></div></div><p>
+Object persistency of Geant4 objects is also possible by the
+mean of the <a href="http://cern.ch/seal-reflex/" target="_top">
+Reflex library</a>. 
+Reflex provides, in a non-intrusive way, reflection capabilities to C++
+classes by generating "dictionary information" for them. Those
+dictionaries can then be loaded in memory allowing direct
+persistency of the given objects without any instrumentation of the
+code. The Reflex library is also part of 
+<a href="http://root.cern.ch/" target="_top">
+ROOT</a> (since release <code class="literal">v5.08</code>).
+</p><p>
+The basic steps that one needs to do in order to use Reflex with
+ROOT I/O for arbitrary C++ classes is:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Generate the dictionary for the given classes using the
+    <code class="literal">genreflex</code> tool from ROOT (this usually is done by adding
+    the appropriate command to the makefile)
+  </p></li><li><p>
+    Add initialization of ROOT I/O and loading of the generated
+    dictionary for the given classes in the appropriate part of the
+    code
+  </p></li><li><p>
+    Whenever the objects to be persistified are available, call the
+    <code class="literal">WriteObject</code> method of <code class="literal">TFile</code> with 
+    the pointer to the appropriate object as argument (usually it is some sort 
+    of container, like <code class="literal">std::vector</code> containing the collection 
+    of objects to be persistified)
+  </p></li></ol></div><p>
+</p><p>
+The two examples provided in <code class="literal">examples/extended/persistency</code>
+demonstrate how to perform object persistency using the
+Reflex mechanism in ROOT I/O for storing hits and geometry description.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.5. 
+Digitization
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.7. 
+Parallel Geometries
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s07.html	(revision 901)
@@ -0,0 +1,221 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.7.  Parallel Geometries</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04s06.html" title="4.6.  Object Persistency"><link rel="next" href="ch04s08.html" title="4.8.  Command-based scoring"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.7. 
+Parallel Geometries
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch04s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ParaGeom"></a>4.7. 
+Parallel Geometries
+</h2></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">
+  Notice
+</h3><p>
+As of Geant4 release 8.2, this functionality for defining parallel
+geometries is still in <span class="emphasis"><em>beta</em></span> release. We appreciate your
+feedback.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ParaGeom.ParaWrld"></a>4.7.1. 
+A parallel world
+</h3></div></div></div><p>
+Occasionally, it is not straightforward to define geometries for
+sensitive detectors, importance geometries or envelopes for shower
+parameterization to be coherently assigned to volumes in the
+tracking (mass) geometry. The new parallel navigation functionality
+allows the user to define more than one worlds simultaneously. The
+new <code class="literal">G4Transportation</code> process will see all worlds
+simultaneously; steps will be limited by both boundaries of the
+mass geometry and parallel geometries.
+</p><p>
+In a parallel world, the user can define volumes in arbitrary
+manner with sensitivity, regions, shower parameterization setups,
+and/or importance weight for biasing. Volumes in different worlds
+can overlap.
+</p><p>
+Here are restrictions to be considered for the parallel
+geometry:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Materials, production thresholds and EM field are used only
+    from the mass geometry. Even if such <span class="emphasis"><em>physical</em></span> 
+    quantities are defined in a parallel world, they do not affect to the
+    simulation.
+  </p></li><li><p>
+    Although all worlds will be comprehensively taken care by the
+    <code class="literal">G4Transportation</code> process for the navigation, 
+    each parallel world must have its own process assigned to achieve 
+    its purpose.
+    For example: in case the user defines a sensitive detector to a
+    parallel world, a process dedicated to the parallel world is
+    responsible to invoke this detector. 
+    The <code class="literal">G4SteppingManager</code>
+    treats only the detectors in the mass geometry. For this case of
+    detector sensitivity defined in a parallel world, a
+    <code class="literal">G4ParallelWorldScoringProcess</code> process must be defined 
+    in the physics list (see 
+    <a href="ch04s07.html#sect.ParaGeom.SenstivParaWrld" title="4.7.3. 
+Detector sensitivity in a parallel world
+">Section 4.7.3</a>).
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ParaGeom.DefParaWrld"></a>4.7.2. 
+Defining a parallel world
+</h3></div></div></div><p>
+A parallel world should be defined in the <code class="literal">Construct()</code>
+virtual method of the user's class derived from the abstract base
+class <span class="emphasis"><em>G4VUserParallelWorld</em></span>.
+
+</p><div class="example"><a name="id433212"></a><p class="title"><b>Example 4.17. 
+An example header file of a concrete user parallel world class.
+</b></p><div class="example-contents"><pre class="programlisting">
+#ifndef MyParallelWorld_h
+#define MyParallelWorld_h 1
+
+#include "globals.hh"
+#include "G4VUserParallelWorld.hh"
+
+class MyParallelWorld : <span class="color_red">public G4VUserParallelWorld</span>
+{
+  public:
+    MyParallelWorld(G4String worldName);
+    virtual ~MyParallelWorld();
+
+  public:
+    <span class="color_red">virtual void Construct();</span>
+};
+
+#endif
+</pre></div></div><p><br class="example-break">
+</p><p>
+A parallel world must have its unique name, which should be set
+to the <code class="literal">G4VUserParallelWorld</code> base class as an argument of
+the base class constructor.
+</p><p>
+The world physical volume of the parallel world is provided by
+the <code class="literal">G4RunManager</code> as a clone of the mass geometry. In the
+<code class="literal">Construct()</code> virtual method of the user's class, the
+pointer to this cloned world physical volume is available through
+the <code class="literal">GetWorld()</code> method defined in the base class. The user
+should fill the volumes in the parallel world by using this
+provided world volume. For a logical volume in a parallel world,
+the material pointer can be <code class="literal">NULL</code>. Even if specified a
+valid material pointer, it will not be taken into account by any
+physics process.
+
+
+</p><div class="example"><a name="id433280"></a><p class="title"><b>Example 4.18. 
+An example source code of a concrete user parallel world class.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "MyParallelWorld.hh"
+#include "G4LogicalVolume.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4Box.hh"
+#include "G4PVPlacement.hh"
+
+MyParallelWorld::MyParallelWorld(G4String worldName)
+<span class="color_red">:G4VUserParallelWorld(worldName)</span>
+{;}
+
+MyParallelWorld::~MyParallelWorld() 
+{;}
+
+void MyParallelWorld::Construct() 
+{
+  G4VPhysicalVolume* ghostWorld = <span class="color_red">GetWorld();</span>
+  G4LogicalVolume* worldLogical = ghostWorld-&gt;GetLogicalVolume();
+
+  // place volumes in the parallel world here. For example ...
+  //
+  G4Box * ghostSolid = new G4Box("GhostdBox", 60.*cm, 60.*cm, 60.*cm);
+  G4LogicalVolume * ghostLogical
+        = new G4LogicalVolume(ghostSolid, 0, "GhostLogical", 0, 0, 0);
+  new G4PVPlacement(0, G4ThreeVector(), ghostLogical,
+                    "GhostPhysical", worldLogical, 0, 0);
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+In case the user needs to define more than one parallel worlds,
+each of them must be implemented through its dedicated class. Each
+parallel world should be registered to the mass geometry class
+using the method <code class="literal">RegisterParallelWorld()</code> available through
+the class <code class="literal">G4VUserDetectorConstruction</code>. The registration
+must be done -before- the mass world is registed to the
+<code class="literal">G4RunManager</code>.
+
+</p><div class="example"><a name="id433338"></a><p class="title"><b>Example 4.19. 
+Typical implementation in the <code class="literal">main()</code> to define a parallel
+world.
+</b></p><div class="example-contents"><pre class="programlisting">
+  // RunManager construction
+  //
+  G4RunManager* runManager = new G4RunManager;
+
+  // mass world
+  //
+  MyDetectorConstruction* massWorld = new MyDetectorConstruction;
+
+  // parallel world
+  //
+  massWorld-&gt;<span class="color_red">RegisterParallelWorld</span>(new MyParallelWorld("ParallelScoringWorld"));
+
+  // set mass world to run manager
+  //
+  runManager-&gt;SetUserInitialization(massWorld);
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ParaGeom.SenstivParaWrld"></a>4.7.3. 
+Detector sensitivity in a parallel world
+</h3></div></div></div><p>
+Any kind of <code class="literal">G4VSensitiveDetector</code> object can be defined
+in volumes in a parallel world, exactly at the same manner for the
+mass geometry. Once the user defines the sensitive detector in a
+parallel world, he/she must define a process which takes care of
+these detectors.
+</p><p>
+The <code class="literal">G4ParallelWorldScoringProcess</code> is the class provided
+for this purpose. This process must be defined to all kinds of
+particles which need to be "detected". This process must be ordered
+<span class="color_red">
+just after <code class="literal">G4Transporation</code> and prior
+to any other physics processes</span>. The name of the parallel
+world where the <code class="literal">G4ParallelWorldScoringProcess</code> is
+responsible for, must be defined through the method
+<code class="literal">SetParallelWorld()</code> available from the class
+<code class="literal">G4ParallelWorldScoringProcess</code>. If the user has more than
+one parallel worlds with detectors, for each of the parallel
+worlds, dedicated <code class="literal">G4ParallelWorldScoringProcess</code> objects
+must be instantiated with the name of each parallel world
+respectively and registered to the particles.
+
+</p><div class="example"><a name="id433442"></a><p class="title"><b>Example 4.20. 
+Define <code class="literal">G4ParallelWorldScoringProcess</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+  // Add parallel world scoring process
+  //
+  G4ParallelWorldScoringProcess* theParallelWorldScoringProcess 
+      = new <span class="color_red">G4ParallelWorldScoringProcess</span>("ParaWorldScoringProc");
+  theParallelWorldScoringProcess-&gt;<span class="color_red">SetParallelWorld</span>("ParallelScoringWorld");
+
+  theParticleIterator-&gt;reset();
+  while( (*theParticleIterator)() )
+  {
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    if (!particle-&gt;IsShortLived())
+    {
+      G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+      pmanager-&gt;AddProcess(theParallelWorldScoringProcess);
+      pmanager-&gt;SetProcessOrderingToLast(theParallelWorldScoringProcess, idxAtRest);
+      pmanager-&gt;SetProcessOrdering(theParallelWorldScoringProcess, idxAlongStep, 1);
+      pmanager-&gt;SetProcessOrderingToLast(theParallelWorldScoringProcess, idxPostStep);
+    }
+  }
+</pre></div></div><p><br class="example-break">
+</p><p>
+At the end of processing an event, all hits collections made for
+the parallel world are stored in <code class="literal">G4HCofThisEvent</code> as well
+as those for the mass geometry.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.6. 
+Object Persistency
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 4.8. 
+Command-based scoring
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s08.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s08.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch04s08.html	(revision 901)
@@ -0,0 +1,145 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.8.  Command-based scoring</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch04.html" title="Chapter 4.  Detector Definition and Response"><link rel="prev" href="ch04s07.html" title="4.7.  Parallel Geometries"><link rel="next" href="ch05.html" title="Chapter 5.  Tracking and Physics"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.8. 
+Command-based scoring
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 4. 
+Detector Definition and Response
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.CommandScore"></a>4.8. 
+Command-based scoring
+</h2></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">
+  Notice
+</h3><p>
+As of Geant4 release 9.1, this functionality of command-based scoring
+is still in <span class="emphasis"><em>alpha</em></span> release and functionality offered 
+is preliminary. We do not guarantee the correctness of the code. Also, 
+we may change any of the commands / methods in the near future release. 
+We appreciate your feedback.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CommandScore.Intro"></a>4.8.1. 
+Command-based scoring
+</h3></div></div></div><p>
+This new command-based scoring utilizes the parallel world described 
+in the previous section. With UI interactive commands, the user can define :
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+ A parallel world for scoring and three-dimensional mesh in it
+  </p></li><li><p>
+ Arbitrary number of physics quantities to be scored and filters
+  </p></li></ul></div><p>
+
+After scoring (i.e. a run), the user can visualize the score and dump
+scores into a file. All available UI commands are listed in 
+<a href="./AllResources/Control/UIcommands/_score_.html" target="_top">
+List of built-in commands</a>.
+</p><p>
+For the time being of the alpha release, this command-based scoring
+is an optional functionality and the user has to explicity define 
+its use in his/her <code class="literal">main()</code>. To do this, the 
+method <code class="literal">G4ScoringManager::GetScoringManager()</code>
+must be invoked <span class="color_red">right after</span>
+the instantiation of <code class="literal">G4RunManager</code>.
+
+</p><div class="example"><a name="id434047"></a><p class="title"><b>Example 4.21. 
+A user <code class="literal">main()</code> to use the command-based scoring
+</b></p><div class="example-contents"><pre class="programlisting">
+
+#include "G4RunManager.hh"
+<span class="color_red">#include "G4ScoringManager.hh"</span>
+
+int main(int argc,char** argv)
+{
+ // Construct the run manager
+ G4RunManager * runManager = new G4RunManager;
+
+ // Activate command-based scorer
+ <span class="color_red">G4ScoringManager::GetScoringManager();</span>
+
+ ...
+
+}
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CommandScore.Mesh"></a>4.8.2. 
+Defining a scoring mesh
+</h3></div></div></div><p>
+To define a scoring mesh, the user has to specify the followings.
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+ Shape and name of the 3D scoring mesh. Currently, box is the only available shape.
+  </p></li><li><p>
+ Size of the scoring mesh. Mesh size must be specified as "half width" similar to the
+ arguments of <code class="literal">G4Box</code>.
+  </p></li><li><p>
+ Number of bins for each axes. Note that too hugh number causes immense memory consumption.
+  </p></li><li><p>
+ Optionally, position and rotation of the mesh. If not specified, the mesh is positioned
+ at the center of the world volume without rotation.
+  </p></li></ul></div><p>
+</p><p>
+For a scoring mesh the user can have arbitrary number of quantities to be scored for each cell of the mesh.
+For each scoring quantity, the use can set one filter. Please note that <code class="literal">/score/filter</code>
+affects on the preceding scorer. Names of scorers and filters must be unique for the mesh.
+The user can define more than one scorers of same kind with different names (and most likely with different 
+filters).
+</p><p>
+Defining a scoring mesh and scores in thiat mesh should terminate with <code class="literal">/score/close</code>
+command. The following sample UI commands define a scoring mesh named <code class="literal">boxMesh_1</code>,
+size of which is 2 m * 2 m * 2 m, and sliced into 30 cells along each axes. For each cell energy deposition,
+number of steps of gamma, number of steps of electron and number of steps of positron are scored.
+</p><div class="example"><a name="id434160"></a><p class="title"><b>Example 4.22. 
+UI commands to define a scoring mesh and scorers
+</b></p><div class="example-contents"><pre class="programlisting">
+
+#
+# define scoring mesh
+#
+/score/create/boxMesh boxMesh_1
+/score/mesh/boxSize 100. 100. 100. cm
+/score/mesh/nBin 30 30 30
+#
+# define scorers and filters
+#
+/score/quantity/energyDeposit eDep
+/score/quantity/nOfStep nOfStepGamma
+/score/filter/particle gammaFilter gamma
+/score/quantity/nOfStep nOfStepEMinus
+/score/filter/particle eMinusFilter e-
+/score/quantity/nOfStep nOfStepEPlus
+/score/filter/particle ePlusFilter e+
+#
+<span class="color_red">/score/close</span>
+#
+
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CommandScore.Draw"></a>4.8.3. 
+Drawing scores
+</h3></div></div></div><p>
+Once scores are filled, the user can visualize the scores. The score is 
+drawn on top of the mass geometry with the current visualization settings.
+
+</p><div class="figure"><a name="fig.CommandScore_1"></a><div class="figure-contents"><div class="mediaobject" align="center"><img src="./AllResources/Detector/hit.src/scoreCombinedPicture.jpg" align="middle" width="566.929133858268" alt="Drawing scores in slices (left) and projection (right)"></div></div><p class="title"><b>Figure 4.10. 
+Drawing scores in slices (left) and projection (right)
+</b></p></div><p><br class="figure-break">
+</p><p>
+By default, entries are linearly mapped to colors (gray - blue - green - red).
+This color mapping is implemented in <code class="literal">G4DefaultLinearColorMap</code>
+class, and registered to <code class="literal">G4ScoringManager</code> with the color map
+name <code class="literal">"defaultLinearColorMap"</code>. The user may alternate color map
+by implementing his/her own color map class derived from <code class="literal">G4VScoreColorMap</code>
+and register it to <code class="literal">G4ScoringManager</code>. Then, for each <code class="literal">draw</code>
+command, the user can specify the color map of his/her own.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CommandScore.Dump"></a>4.8.4. 
+Writing scores to a file
+</h3></div></div></div><p>
+The user may dump a score in a mesh (<code class="literal">/score/dumpQuantityToFile</code> command) 
+or all scores in a mesh (<code class="literal">/score/dumpAllQuantitiesToFile</code> command) to a file.
+The default file format is the simple CSV. To alternate the file format, the user should
+overwrite <code class="literal">G4VScoreWriter</code> class and register it to <code class="literal">G4ScoringManager</code>.
+Please refer to <code class="literal">/examples/extended/runAndEvent/RE03</code> for the detail.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.7. 
+Parallel Geometries
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 5. 
+Tracking and Physics
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05.html	(revision 901)
@@ -0,0 +1,460 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 5.  Tracking and Physics</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch04s08.html" title="4.8.  Command-based scoring"><link rel="next" href="ch05s02.html" title="5.2.  Physics Processes"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. 
+Tracking and Physics
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.TrackAndPhysics"></a>Chapter 5. 
+Tracking and Physics
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Track"></a>5.1. 
+Tracking
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.Basic"></a>5.1.1. 
+Basic Concepts
+</h3></div></div></div><h5><a name="id453977"></a>
+Philosophy of Tracking
+</h5><p>
+All Geant4 processes, including the transportation of particles,
+are treated generically. In spite of the name "<span class="emphasis"><em>tracking</em></span>",
+particles are not <span class="emphasis"><em>transported</em></span> in the tracking category.
+<span class="emphasis"><em>G4TrackingManager</em></span> is an interface class which brokers
+transactions between the event, track and tracking categories. An
+instance of this class handles the message passing between the
+upper hierarchical object, which is the event manager, and lower
+hierarchical objects in the tracking category. The event manager is
+a singleton instance of the <span class="emphasis"><em>G4EventManager</em></span> class.
+</p><p>
+The tracking manager receives a track from the event manager and
+takes the actions required to finish tracking it.
+<span class="emphasis"><em>G4TrackingManager</em></span> aggregates the pointers to
+<span class="emphasis"><em>G4SteppingManager,</em></span> <span class="emphasis"><em>G4Trajectory</em></span> and
+<span class="emphasis"><em>G4UserTrackingAction</em></span>. Also there is a "use" relation to
+<span class="emphasis"><em>G4Track</em></span> and <span class="emphasis"><em>G4Step</em></span>.
+</p><p>
+<span class="emphasis"><em>G4SteppingManager</em></span> plays an essential role in tracking the
+particle. It takes care of all message passing between objects in
+the different categories relevant to transporting a particle (for
+example, geometry and interactions in matter). Its public method
+<code class="literal">Stepping()</code> steers the stepping of the particle. The
+algorithm to handle one step is given below.
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    The particle's velocity at the beginning of the step is
+    calculated.
+  </p></li><li><p>
+    Each active discrete or continuous process must propose a step
+    length based on the interaction it describes. The smallest of these
+    step lengths is taken.
+  </p></li><li><p>
+    The geometry navigator calculates "Safety", the distance to the
+    next volume boundary. If the minimum physical-step-length from the
+    processes is shorter than "Safety", the physical-step-length is
+    selected as the next step length. In this case, no further
+    geometrical calculations will be performed.
+  </p></li><li><p>
+    If the minimum physical-step-length from the processes is
+    longer than "Safety", the distance to the next boundary is
+    re-calculated.
+  </p></li><li><p>
+    The smaller of the minimum physical-step-length and the
+    geometric step length is taken.
+  </p></li><li><p>
+    All active continuous processes are invoked. Note that the
+    particle's kinetic energy will be updated only after all invoked
+    processes have completed. The change in kinetic energy will be the
+    sum of the contributions from these processes.
+  </p></li><li><p>
+    The track is checked to see whether or not it has been
+    terminated by a continuous process.
+  </p></li><li><p>
+    The current track properties are updated before discrete
+    processes are invoked. This includes:
+
+    </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+        updating the kinetic energy of the current track particle (note
+        that 'sumEnergyChange' is the sum of the new kinetic energy after
+        each continuos process was invoked, and NOT the sum of the energy
+        difference before and after the process invocation) and
+      </p></li><li><p>
+        updating position and time.
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    The discrete process is invoked. After the invocation,
+
+    </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+        the energy of the current track particle is updated, and
+      </p></li><li><p>
+        the secondaries from ParticleChange are stored in
+        SecondaryList. This includes constructing "G4Track" objects, and
+        setting their member data. Note that the stepping manager is
+        responsible for deleting secodaries from ParticleChange.
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    The track is checked to see whether or not it has been
+    terminated by the discrete process.
+  </p></li><li><p>
+    "Safety" is updated.
+  </p></li><li><p>
+    If the step was limited by the volume boundary, push the
+    particle into the next volume.
+  </p></li><li><p>
+    Invoke the user intervention <span class="emphasis"><em>G4UserSteppingAction</em></span>.
+  </p></li><li><p>
+    Handle hit information.
+  </p></li><li><p>
+    Save data to Trajectory.
+  </p></li><li><p>
+    Update the mean free paths of the discrete processes.
+  </p></li><li><p>
+    If the parent particle is still alive, reset the maximum
+    interaction length of the discrete process which has occurred.
+  </p></li><li><p>
+    One step completed.
+  </p></li></ol></div><p>
+</p><h5><a name="id454192"></a>
+What is a Step?
+</h5><p>
+<span class="emphasis"><em>G4Step</em></span> stores the transient information of a step. This
+includes the two endpoints of the step, <code class="literal">PreStepPoint</code> and
+<code class="literal">PostStepPoint</code>, which contain the points' coordinates and
+the volumes containing the points. <span class="emphasis"><em>G4Step</em></span> also stores the
+change in track properties between the two points. These
+properties, such as energy and momentum, are updated as the various
+active processes are invoked.
+</p><h5><a name="id454225"></a>
+What is a Track?
+</h5><p>
+<span class="emphasis"><em>G4Track</em></span> keeps information on the final status of the
+particle after the completion of one step. This means that
+<span class="emphasis"><em>G4Track</em></span> has information on the previous step while the
+<code class="literal">AlongStepDoIt</code>s are being invoked for the step in progress.
+Only after finishing all <code class="literal">AlongStepDoIt</code>s, will
+<span class="emphasis"><em>G4Track</em></span> have the final information (e.g., the final
+position) for the step in progress. Also, <span class="emphasis"><em>G4Track</em></span> will be
+updated after each invocation of a <code class="literal">PostStepDoIt</code>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.AccInfo"></a>5.1.2. 
+Access to Track and Step Information
+</h3></div></div></div><h5><a name="id454286"></a>
+How to Get Track Information
+</h5><p>
+Track information may be accessed by invoking various
+<code class="literal">Get</code> methods provided in the <span class="emphasis"><em>G4Track</em></span> 
+class. For details, see the 
+<span class="bold"><strong>Software Reference Manual</strong></span>. 
+Typical information available includes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    (x,y,z)
+  </p></li><li><p>
+   Global time (time since the event was created)
+  </p></li><li><p>
+    Local time (time since the track was created)
+  </p></li><li><p>
+    Proper time (time in its rest frame since the track was created )
+  </p></li><li><p>
+    Momentum direction ( unit vector )
+  </p></li><li><p>
+    Kinetic energy
+  </p></li><li><p>
+    Accumulated geometrical track length
+  </p></li><li><p>
+    Accumulated true track length
+  </p></li><li><p>
+    Pointer to dynamic particle
+  </p></li><li><p>
+    Pointer to physical volume
+  </p></li><li><p>
+    Track ID number
+  </p></li><li><p>
+    Track ID number of the parent
+  </p></li><li><p>
+    Current step number
+  </p></li><li><p>
+    Track status
+  </p></li><li><p>
+    (x,y,z) at the start point (vertex position) of the track
+  </p></li><li><p>
+    Momentum direction at the start point (vertex position) of the
+    track
+  </p></li><li><p>
+    Kinetic energy at the start point (vertex position) of the track
+  </p></li><li><p>
+    Pinter to the process which created the current track
+  </p></li></ul></div><p>
+</p><h5><a name="id454406"></a>
+How to Get Step Information
+</h5><p>
+Step and step-point information can be retrieved by invoking
+various <code class="literal">Get</code> methods provided in the
+<span class="emphasis"><em>G4Step</em></span>/<span class="emphasis"><em>G4StepPoint</em></span> 
+classes. For details, see the
+<span class="bold"><strong>Software Reference Manual</strong></span>. 
+</p><p>
+Information in <span class="emphasis"><em>G4Step</em></span>
+includes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Pointers to <code class="literal">PreStep</code> and 
+    <code class="literal">PostStepPoint</code>
+  </p></li><li><p>
+    Geometrical step length (step length before the correction of
+    multiple scattering)
+  </p></li><li><p>
+    True step length (step length after the correction of multiple
+    scattering)
+  </p></li><li><p>
+    Increment of position and time between <code class="literal">PreStepPoint</code>
+    and <code class="literal">PostStepPoint</code>
+  </p></li><li><p>
+    Increment of momentum and energy between  <code class="literal">PreStepPoint</code>
+    and <code class="literal">PostStepPoint</code>. (Note: to get the energy deposited in
+    the step, you cannot use this 'Delta energy'. You have to use
+    'Total energy deposit' as below.)
+  </p></li><li><p>
+    Pointer to <code class="literal">G4Track</code>
+  </p></li><li><p>
+    Total energy deposited during the step - this is the sum of
+    </p><p>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        the energy deposited by the energy loss process, and
+      </p></li><li><p>
+        the energy lost by secondaries which have NOT been generated
+        because each of their energies was below the cut threshold
+      </p></li></ul></div><p>
+    </p><p>
+  </p></li><li><p>
+    Energy deposited not by ionization during the step 
+  </p></li></ul></div><p>
+</p><p>
+Information in <span class="emphasis"><em>G4StepPoint</em></span> 
+(<code class="literal">PreStepPoint</code> and <code class="literal">PostStepPoint</code>) 
+includes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    (x, y, z, t)
+  </p></li><li><p>
+    (px, py, pz, Ek)
+  </p></li><li><p>
+    Momentum direction (unit vector)
+  </p></li><li><p>
+    Pointers to physical volumes
+  </p></li><li><p>
+    Safety
+  </p></li><li><p>
+    Beta, gamma
+  </p></li><li><p>
+    Polarization
+  </p></li><li><p>
+    Step status
+  </p></li><li><p>
+    Pointer to the physics process which defined the current step
+    and its <code class="literal">DoIt</code> type
+  </p></li><li><p>
+    Pointer to the physics process which defined the previous step
+    and its <code class="literal">DoIt</code> type
+  </p></li><li><p>
+    Total track length
+  </p></li><li><p>
+    Global time (time since the current event began)
+  </p></li><li><p>
+    Local time (time since the current track began)
+  </p></li><li><p>
+    Proper time
+  </p></li></ul></div><p>
+</p><h5><a name="id454654"></a>
+How to Get "particle change"
+</h5><p>
+Particle change information can be accessed by invoking various
+<code class="literal">Get</code> methods provided in the 
+<span class="emphasis"><em>G4ParticleChange</em></span> class.
+Typical information available includes (for details, see the
+<span class="bold"><strong>Software Reference Manual</strong></span>):
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    final momentum direction of the parent particle
+  </p></li><li><p>
+    final kinetic energy of the parent particle
+  </p></li><li><p>
+    final position of the parent particle
+  </p></li><li><p>
+    final global time of the parent particle
+  </p></li><li><p>
+    final proper time of the parent particle
+  </p></li><li><p>
+    final polarization of the parent particle
+  </p></li><li><p>
+    status of the parent particle (<span class="emphasis"><em>G4TrackStatus</em></span>)
+  </p></li><li><p>
+    true step length (this is used by multiple scattering to store
+    the result of the transformation from the geometrical step length
+    to the true step length)
+  </p></li><li><p>
+    local energy deposited - this consists of either
+    </p><p>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        energy deposited by the energy loss process, or
+      </p></li><li><p>
+        the energy lost by secondaries which have NOT been generated
+        because each of their energies was below the cut threshold.
+      </p></li></ul></div><p>
+    </p><p>
+  </p></li><li><p>
+    number of secondaries particles
+  </p></li><li><p>
+    list of secondary particles (list of <span class="emphasis"><em>G4Track</em></span>)
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.SecPar"></a>5.1.3. 
+Handling of Secondary Particles
+</h3></div></div></div><p>
+Secondary particles are passed as <span class="emphasis"><em>G4Track</em></span>s from a physics
+process to tracking. <span class="emphasis"><em>G4ParticleChange</em></span> provides the following
+four methods for a physics process:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">AddSecondary( G4Track* aSecondary )</code>
+  </p></li><li><p>
+    <code class="literal">AddSecondary( G4DynamicParticle* aSecondary )</code>
+  </p></li><li><p>
+    <code class="literal">AddSecondary( G4DynamicParticle* aSecondary, G4ThreeVector
+    position )</code>
+  </p></li><li><p>
+    <code class="literal">AddSecondary( G4DynamicParticle* aSecondary, G4double time)</code>
+  </p></li></ul></div><p>
+</p><p>
+In all but the first, the construction of <span class="emphasis"><em>G4Track</em></span> is done in
+the methods using informaton given by the arguments.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.UserAct"></a>5.1.4. 
+User Actions
+</h3></div></div></div><p>
+There are two classes which allow the user to intervene in the
+tracking. These are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="emphasis"><em>G4UserTrackingAction</em></span>, and
+  </p></li><li><p>
+    <span class="emphasis"><em>G4UserSteppingAction</em></span>.
+  </p></li></ul></div><p>
+</p><p>
+Each provides methods which allow the user access to the Geant4
+kernel at specific points in the tracking. For details, see the
+<span class="bold"><strong>Software Reference Manual</strong></span>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.Verb"></a>5.1.5. 
+Verbose Outputs
+</h3></div></div></div><p>
+The verbose information output flag can be turned on or off. The
+amount of information printed about the track/step, from brief to
+very detailed, can be controlled by the value of the verbose flag,
+for example,
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4UImanager* UI = G4UImanager::GetUIpointer();
+
+  UI-&gt;ApplyCommand("/tracking/verbose 1");
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Track.Traj"></a>5.1.6. 
+Trajectory and Trajectory Point
+</h3></div></div></div><h5><a name="id454939"></a>
+G4Trajectory and G4TrajectoryPoint
+</h5><p>
+<span class="emphasis"><em>G4Trajectory</em></span> and <span class="emphasis"><em>G4TrajectoryPoint</em></span> 
+are default concrete classes provided by Geant4, which are derived from the
+<span class="emphasis"><em>G4VTrajectory</em></span> and <span class="emphasis"><em>G4VTrajectoryPoint</em></span> 
+base classes, respectively. 
+A <span class="emphasis"><em>G4Trajectory</em></span> class object is created by
+<span class="emphasis"><em>G4TrackingManager</em></span> when a <span class="emphasis"><em>G4Track</em></span> 
+is passed from the <span class="emphasis"><em>G4EventManager</em></span>. 
+<span class="emphasis"><em>G4Trajectory</em></span> has the following data
+members:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    ID numbers of the track and the track's parent
+  </p></li><li><p>
+    particle name, charge, and PDG code
+  </p></li><li><p>
+    a collection of <span class="emphasis"><em>G4TrajectoryPoint</em></span> pointers
+  </p></li></ul></div><p>
+</p><p>
+<span class="emphasis"><em>G4TrajectoryPoint</em></span> corresponds to a step point along 
+the path followed by the track. Its position is given by a
+<span class="emphasis"><em>G4ThreeVector</em></span>. A <span class="emphasis"><em>G4TrajectoryPoint</em></span> 
+class object is created in the <span class="emphasis"><em>AppendStep()</em></span> method of 
+<span class="emphasis"><em>G4Trajectory</em></span> and this method is invoked by 
+<span class="emphasis"><em>G4TrackingManager</em></span> at the end of each step. 
+The first point is created when the <span class="emphasis"><em>G4Trajectory</em></span> 
+is created, thus the first point is the original vertex.
+</p><p>
+The creation of a trajectory can be controlled by invoking
+<span class="emphasis"><em>G4TrackingManager::SetStoreTrajectory(G4bool)</em></span>. The UI
+command <span class="emphasis"><em>/tracking/storeTrajectory _bool_</em></span> does the same. The
+user can set this flag for each individual track from his/her
+<span class="emphasis"><em>G4UserTrackingAction::PreUserTrackingAction()</em></span> method.
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"></h3><p>
+The user should not create trajectories for secondaries in a shower 
+due to the large amount of memory consumed.
+</p></div><p>
+All the created trajectories in an event are stored in
+<span class="emphasis"><em>G4TrajectoryContainer</em></span> class object and this object will be
+kept by <span class="emphasis"><em>G4Event</em></span>. To draw or print trajectories generated in
+an event, the user may invoke the <span class="emphasis"><em>DrawTrajectory()</em></span> or
+<span class="emphasis"><em>ShowTrajectory()</em></span> methods of <span class="emphasis"><em>G4VTrajectory</em></span>,
+respectively, from his/her
+<span class="emphasis"><em>G4UserEventAction::EndOfEventAction()</em></span>. The geometry must be
+drawn before the trajectory drawing. The color of the drawn
+trajectory depends on the particle charge:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    negative: red
+  </p></li><li><p>
+    neutral: green
+  </p></li><li><p>
+    positive: blue
+  </p></li></ul></div><p>
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"></h3><p>
+Due to improvements in <span class="emphasis"><em>G4Navigator</em></span>, a track
+can execute more than one turn of its spiral trajectory without
+being broken into smaller steps as long as the trajectory does not
+cross a geometrical boundary. Thus a drawn trajectory may not be
+circular.
+</p></div><h5><a name="id455124"></a>
+Customizing trajectory and trajectory point
+</h5><p>
+<span class="emphasis"><em>G4Track</em></span> and <span class="emphasis"><em>G4Step</em></span> are 
+transient classes; they are not available at the end of the event. 
+Thus, the concrete classes <span class="emphasis"><em>G4VTrajectory</em></span> and 
+<span class="emphasis"><em>G4VTrajectoryPoint</em></span> are the only
+ones a user may employ for end-of-event analysis or for
+persistency. As mentioned above, the default classes which Geant4
+provides, i.e. <span class="emphasis"><em>G4Trajectory</em></span> and 
+<span class="emphasis"><em>G4TrajectoryPoint</em></span>,
+have only very primitive quantities. The user can customize his/her
+own trajectory and trajectory point classes by deriving directly
+from the respective base classes.
+</p><p>
+To use the customized trajectory, the user must construct a
+concrete trajectory class object in the
+<span class="emphasis"><em>G4UserTrackingAction::PreUserTrackingAction()</em></span> method and
+make its pointer available to <span class="emphasis"><em>G4TrackingManager</em></span> by using the
+<span class="emphasis"><em>SetTrajectory()</em></span> method. The customized trajectory point
+class object must be constructed in the <span class="emphasis"><em>AppendStep()</em></span> method
+of the user's implementation of the trajectory class. This
+<span class="emphasis"><em>AppendStep()</em></span> method will be invoked by
+<span class="emphasis"><em>G4TrackingManager</em></span>.
+</p><p>
+To customize trajectory drawing, the user can override the
+<span class="emphasis"><em>DrawTrajectory()</em></span> method in his/her own trajectory class.
+</p><p>
+When a customized version of G4Trajectory declares any new class
+variables, <span class="emphasis"><em>operator new</em></span> and 
+<span class="emphasis"><em>operator delete</em></span> must be
+provided. It is also useful to check that the allocation size in
+<span class="emphasis"><em>operator new</em></span> is equal to 
+<span class="emphasis"><em>sizeof(G4Trajectory)</em></span>. These two points do not 
+apply to <span class="emphasis"><em>G4VTrajectory</em></span> because it has no
+<span class="emphasis"><em>operator new</em></span> or <span class="emphasis"><em>operator delete</em></span>.
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch05s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">4.8. 
+Command-based scoring
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.2. 
+Physics Processes
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s02.html	(revision 901)
@@ -0,0 +1,3053 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.2.  Physics Processes</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="next" href="ch05s03.html" title="5.3.  Particles"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.2. 
+Physics Processes
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.PhysProc"></a>5.2. 
+Physics Processes
+</h2></div></div></div><p>
+Physics processes describe how particles interact with a
+material. Seven major categories of processes are provided by
+Geant4:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    <a href="ch05s02.html#sect.PhysProc.EleMag" title="5.2.1.  Electromagnetic Interactions">
+    electromagnetic
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="ch05s02.html#sect.PhysProc.Had" title="5.2.2.  Hadronic Interactions">
+    hadronic
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="ch05s02.html#sect.PhysProc.Decay" title="5.2.3.  Particle Decay Process">
+    decay
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="ch05s02.html#sect.PhysProc.PhotoHad" title="5.2.4.  Photolepton-hadron Processes">
+    photolepton-hadron
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="ch05s02.html#sect.PhysProc.Photo" title="5.2.5.  Optical Photon Processes">
+    optical
+    </a>
+    ,
+  </p></li><li><p>
+    <a href="ch05s02.html#sect.PhysProc.Param" title="5.2.6.  Parameterization">
+    parameterization
+    </a>
+    and
+  </p></li><li><p>
+    <a href="ch05s02.html#sect.PhysProc.Trans" title="5.2.7.  Transportation Process">
+    transportation
+    </a>
+    .
+  </p></li></ol></div><p>
+</p><p>
+The generalization and abstraction of physics processes is a key
+issue in the design of Geant4. All physics processes are treated in
+the same manner from the tracking point of view. The Geant4
+approach enables anyone to create a process and assign it to a
+particle type. This openness should allow the creation of processes
+for novel, domain-specific or customised purposes by individuals or
+groups of users.
+</p><p>
+Each process has two groups of methods which play an important
+role in tracking, <code class="literal">GetPhysicalInteractionLength</code> (GPIL) and
+<code class="literal">DoIt</code>. The GPIL method gives the step length from the
+current space-time point to the next space-time point. It does this
+by calculating the probability of interaction based on the
+process's cross section information. At the end of this step the
+<code class="literal">DoIt</code> method should be invoked. The <code class="literal">DoIt</code> method
+implements the details of the interaction, changing the particle's
+energy, momentum, direction and position, and producing secondary
+tracks if required. These changes are recorded as
+<span class="emphasis"><em>G4VParticleChange</em></span> objects(see 
+<a href="ch05s02.html#brhead.PhysProc.PrtChng">
+Particle Change</a>).
+</p><h5><a name="id456777"></a>
+G4VProcess
+</h5><p>
+<span class="emphasis"><em>G4VProcess</em></span> is the base class for all physics processes.
+Each physics process must implement virtual methods of
+<span class="emphasis"><em>G4VProcess</em></span> which describe the interaction (DoIt) and
+determine when an interaction should occur (GPIL). In order to
+accommodate various types of interactions <span class="emphasis"><em>G4VProcess</em></span>
+provides three <code class="literal">DoIt</code> methods:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4VParticleChange* AlongStepDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</code>
+    </p><p>
+    This method is invoked while <span class="emphasis"><em>G4SteppingManager</em></span> is
+    transporting a particle through one step. The corresponding
+    <code class="literal">AlongStepDoIt</code> for each defined process is applied for
+    every step regardless of which process produces the minimum step
+    length. Each resulting change to the track information is recorded
+    and accumulated in <span class="emphasis"><em>G4Step</em></span>. After all processes have been
+    invoked, changes due to <code class="literal">AlongStepDoIt</code> are applied to
+    <span class="emphasis"><em>G4Track</em></span>, including the particle relocation and the safety
+    update. Note that after the invocation of <code class="literal">AlongStepDoIt</code>,
+    the endpoint of the <span class="emphasis"><em>G4Track</em></span> object is in a new volume if the
+    step was limited by a geometric boundary. In order to obtain
+    information about the old volume, <span class="emphasis"><em>G4Step</em></span> must be accessed,
+    since it contains information about both endpoints of a step.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4VParticleChange* PostStepDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</code>
+    </p><p>
+    This method is invoked at the end point of a step, only if its
+    process has produced the minimum step length, or if the process is
+    forced to occur. <span class="emphasis"><em>G4Track</em></span> will be updated after each
+    invocation of <code class="literal">PostStepDoIt</code>, in contrast to the
+    <code class="literal">AlongStepDoIt</code> method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4VParticleChange* AtRestDoIt( const G4Track&amp; track,
+    const G4Step&amp; stepData )</code>
+    </p><p>
+    This method is invoked only for stopped particles, and only if
+    its process produced the minimum step length or the process is
+    forced to occur.
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+For each of the above <code class="literal">DoIt</code> methods <span class="emphasis"><em>G4VProcess</em></span>
+provides a corresponding pure virtual GPIL method:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4double PostStepGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4double previousStepSize, G4ForceCondition*
+    condition )</code>
+    </p><p>
+    This method generates the step length allowed by its process. It
+    also provides a flag to force the interaction to occur regardless
+    of its step length.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4double AlongStepGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4double previousStepSize, G4double
+    currentMinimumStep, G4double&amp; proposedSafety, G4GPILSelection*
+    selection )</code>
+    </p><p>
+    This method generates the step length allowed by its process.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4double AtRestGetPhysicalInteractionLength( const
+    G4Track&amp; track, G4ForceCondition* condition )</code>
+    </p><p>
+    This method generates the step length in time allowed by its
+    process. It also provides a flag to force the interaction to occur
+    regardless of its step length.
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+Other pure virtual methods in <span class="emphasis"><em>G4VProcess</em></span> follow:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">virtual G4bool IsApplicable(const
+    G4ParticleDefinition&amp;)</code>
+    </p><p>
+    returns true if this process object is applicable to the
+    particle type.
+    </p><p>
+  </p></li><li><p>
+      <code class="literal">virtual void PreparePhysicsTable(const
+      G4ParticleDefinition&amp;)</code> and
+  </p></li><li><p>
+    <code class="literal">virtual void BuildPhysicsTable(const
+    G4ParticleDefinition&amp;)</code>
+    </p><p>
+    is messaged by the process manager, whenever cross section
+    tables should be prepared and rebuilt due to changing cut-off
+    values. It is not mandatory if the process is not affected by
+    cut-off values.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">virtual void StartTracking()</code> and
+  </p></li><li><p>
+    <code class="literal">virtual void EndTracking()</code>
+    </p><p>
+    are messaged by the tracking manager at the beginning and end of
+    tracking the current track.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id457064"></a>
+Other base classes for processes
+</h5><p>
+Specialized processes may be derived from seven additional
+virtual base classes which are themselves derived from
+<span class="emphasis"><em>G4VProcess</em></span>. Three of these classes are used for simple
+processes:
+
+</p><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>G4VRestProcess</em></span></span></dt><dd><p>
+      Processes using only the <code class="literal">AtRestDoIt</code> method.
+      </p><p>
+      example: neutron capture
+      </p></dd><dt><span class="term"><span class="emphasis"><em>G4VDiscreteProcess</em></span></span></dt><dd><p>
+      Processes using only the <code class="literal">PostStepDoIt</code> method.
+      </p><p>
+      example: compton scattering, hadron inelastic interaction
+      </p></dd></dl></div><p>
+</p><p>
+The other four classes are provided for rather complex
+processes:
+
+</p><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>G4VContinuousDiscreteProcess</em></span></span></dt><dd><p>
+      Processes using both <code class="literal">AlongStepDoIt</code> and
+      <code class="literal">PostStepDoIt</code> methods.
+      </p><p>
+      example: transportation, ionisation(energy loss and delta ray)
+      </p></dd><dt><span class="term"><span class="emphasis"><em>G4VRestDiscreteProcess</em></span></span></dt><dd><p>
+      Processes using both <code class="literal">AtRestDoIt</code> and
+      <code class="literal">PostStepDoIt</code> methods.
+      </p><p>
+      example: positron annihilation, decay (both in flight and at rest)
+      </p></dd><dt><span class="term"><span class="emphasis"><em>G4VRestContinuousProcess</em></span></span></dt><dd><p>
+      Processes using both <code class="literal">AtRestDoIt</code> and
+      <code class="literal">AlongStepDoIt</code> methods.
+      </p></dd><dt><span class="term"><span class="emphasis"><em>G4VRestContinuousDiscreteProcess</em></span></span></dt><dd><p>
+      Processes using <code class="literal">AtRestDoIt</code>, 
+      <code class="literal">AlongStepDoIt and</code> PostStepDoIt methods.
+      </p></dd></dl></div><p>
+</p><h5><a name="brhead.PhysProc.PrtChng"></a>
+Particle change
+</h5><p>
+<span class="emphasis"><em>G4VParticleChange</em></span> and its descendants are used to store
+the final state information of the track, including secondary
+tracks, which has been generated by the <code class="literal">DoIt</code> methods. The
+instance of <span class="emphasis"><em>G4VParticleChange</em></span> is the only object whose
+information is updated by the physics processes, hence it is
+responsible for updating the step. The stepping manager collects
+secondary tracks and only sends requests via particle change to
+update <span class="emphasis"><em>G4Step</em></span>.
+</p><p>
+<span class="emphasis"><em>G4VParticleChange</em></span> is introduced as an abstract class. It
+has a minimal set of methods for updating <span class="emphasis"><em>G4Step</em></span> and
+handling secondaries. A physics process can therefore define its
+own particle change derived from <span class="emphasis"><em>G4VParticleChange</em></span>. Three
+pure virtual methods are provided,
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">virtual G4Step* UpdateStepForAtRest( G4Step* step)</code>, 
+  </p></li><li><p>
+    <code class="literal">virtual G4Step* UpdateStepForAlongStep( G4Step* step )</code>
+    and
+  </p></li><li><p>
+    <code class="literal">virtual G4Step* UpdateStepForPostStep( G4Step* step)</code>,
+  </p></li></ul></div><p>
+
+which correspond to the three <code class="literal">DoIt</code> methods of
+<span class="emphasis"><em>G4VProcess</em></span>. Each derived class should implement these
+methods.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.EleMag"></a>5.2.1. 
+Electromagnetic Interactions
+</h3></div></div></div><p>
+This section summarizes the electromagnetic physics processes which
+are installed in Geant4. For details on the implementation of these
+processes please refer to the 
+<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html" target="_top">
+<span class="bold"><strong>Physics Reference Manual</strong></span></a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.EleMag.Stand"></a>5.2.1.1. 
+"Standard" Electromagnetic Processes
+</h4></div></div></div><p>
+The following is a summary of the standard electromagnetic
+processes available in Geant4.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Photon processes
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Compton scattering (class name <span class="emphasis"><em>G4ComptonScattering</em></span>)
+      </p></li><li><p>
+        Gamma conversion (also called pair production, class name
+        <span class="emphasis"><em>G4GammaConversion</em></span>)
+      </p></li><li><p>
+        Photo-electric effect (class name <span class="emphasis"><em>G4PhotoElectricEffect</em></span>)
+      </p></li><li><p>
+        Muon pair production (class name <span class="emphasis"><em>G4GammaConversionToMuons</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Electron/positron processes
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Ionisation and delta ray production (class name
+        <span class="emphasis"><em>G4eIonisation</em></span>)
+      </p></li><li><p>
+        Bremsstrahlung (class name <span class="emphasis"><em>G4eBremsstrahlung</em></span>)
+      </p></li><li><p>
+        Positron annihilation into two gammas (class name
+        <span class="emphasis"><em>G4eplusAnnihilation</em></span>)
+      </p></li><li><p>
+        Positron annihilation into two muons (class name
+        <span class="emphasis"><em>G4AnnihiToMuPair</em></span>)
+      </p></li><li><p>
+        Positron annihilation into hadrons (class name
+        <span class="emphasis"><em>G4eeToHadrons</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Muon processes
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Ionisation and delta ray production (class name
+        <span class="emphasis"><em>G4MuIonisation</em></span>)
+      </p></li><li><p>
+        Bremsstrahlung (class name <span class="emphasis"><em>G4MuBremsstrahlung</em></span>)
+      </p></li><li><p>
+        e+e- pair production (class name
+        <span class="emphasis"><em>G4MuPairProduction</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Hadron/ion processes
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Ionisation (class name <span class="emphasis"><em>G4hIonisation</em></span>)
+      </p></li><li><p>
+        Ionisation for ions (class name <span class="emphasis"><em>G4ionIonisation</em></span>)
+      </p></li><li><p>
+        Ionisation for ions in low-density media (class name <span class="emphasis"><em>G4ionGasIonisation</em></span>)
+      </p></li><li><p>
+        Ionisation for heavy exotic particles (class name
+        <span class="emphasis"><em>G4hhIonisation</em></span>)
+      </p></li><li><p>
+        Ionisation for classical magnetic monopole (class name
+        <span class="emphasis"><em>G4mplIonisation</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Coulomb scattering processes
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        A general process in the sense that the same process/class 
+        is used to simulate the multiple scattering of the all charged 
+        particles  (class name <span class="emphasis"><em>G4MultipleScattering</em></span>)
+      </p></li><li><p>
+        Specialised process for more fast simulation the multiple scattering 
+        of muons and hadrons (class name <span class="emphasis"><em>G4hMultipleScattering</em></span>)
+      </p></li><li><p>
+        Alternative process (beta-version) for the multiple scattering 
+        of muons (class name <span class="emphasis"><em>G4MuMultipleScattering</em></span>)
+      </p></li><li><p>
+        Alternative process for simulation of single Coulomb scattering 
+        of all charged particles (class name <span class="emphasis"><em>G4CoulombScattering</em></span>)
+      </p></li><li><p>
+        Alternative process for simulation of single Coulomb scattering 
+        of ions (class name <span class="emphasis"><em>G4ScreenedNuclearRecoil</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Processes for simulation of polarized electron and gamma beams
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Compton scattering of circularly polarized gamma beam on 
+        polarized target (class name <span class="emphasis"><em>G4PolarizedCompton</em></span>)
+      </p></li><li><p>
+        Pair production induced by circularly polarized gamma beam 
+        (class name <span class="emphasis"><em>G4PolarizedGammaConversion</em></span>)
+      </p></li><li><p>
+        Photo-electric effect induced by circularly polarized gamma beam
+        (class name <span class="emphasis"><em>G4PolarizedPhotoElectricEffect</em></span>)
+      </p></li><li><p>
+        Bremsstrahlung of polarized electrons and positrons 
+        (class name <span class="emphasis"><em>G4ePolarizedBremsstrahlung</em></span>)
+      </p></li><li><p>
+        Ionisation of polarized electron and positron beam 
+        (class name <span class="emphasis"><em>G4ePolarizedIonisation</em></span>)
+      </p></li><li><p>
+        Annihilation of polarized positrons 
+        (class name <span class="emphasis"><em>G4eplusPolarizedAnnihilation</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Processes for simulation of X-rays and optical protons production by charged particles
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Synchrotron radiation (class name <span class="emphasis"><em>G4SynchrotronRadiation</em></span>)
+      </p></li><li><p>
+        Transition radiation 
+        (class name <span class="emphasis"><em>G4TransitionRadiation</em></span>)
+      </p></li><li><p>
+        Cerenkov radiation  
+        (class name <span class="emphasis"><em>G4Cerenkov</em></span>)
+      </p></li><li><p>
+        Scintillations
+        (class name <span class="emphasis"><em>G4Scintillation</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    The processes described above use physics model classes, which
+    may be combined according to particle energy. It is possible to
+    change the energy range over which different models are valid, and
+    to apply other models specific to particle type, energy range, and
+    G4Region. The following alternative models are available:
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Ionisation in thin absorbers (class name <span class="emphasis"><em>G4PAIModel</em></span>)
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><p>
+An example of the registration of these processes in a physics list
+is given in <a href="ch05s02.html#programlist_PhysProc_1" title="Example 5.1. 
+Registration of standard electromagnetic processes
+">Example 5.1</a>, 
+similar method is used in EM-builders of reference physics
+lists ($G4INSTALL/source/physics_lists/builders) and in
+EM examples ($G4INSTALL/examples/extended/electromagnetic).
+
+</p><div class="example"><a name="programlist_PhysProc_1"></a><p class="title"><b>Example 5.1. 
+<code class="literal">Registration of standard electromagnetic processes</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+void PhysicsList::ConstructEM()
+
+{
+
+  theParticleIterator-&gt;reset();
+
+  while( (*theParticleIterator)() ){
+
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+    G4String particleName = particle-&gt;GetParticleName();
+
+    if (particleName == "gamma") {
+
+      pmanager-&gt;AddDiscreteProcess(new G4PhotoElectricEffect);
+      pmanager-&gt;AddDiscreteProcess(new G4ComptonScattering);
+      pmanager-&gt;AddDiscreteProcess(new G4GammaConversion);
+
+    } else if (particleName == "e-") {
+
+      pmanager-&gt;AddProcess(new G4MultipleScattering, -1, 1, 1);
+      pmanager-&gt;AddProcess(new G4eIonisation,        -1, 2, 2);
+      pmanager-&gt;AddProcess(new G4eBremsstrahlung,    -1, 3, 3);
+
+    } else if (particleName == "e+") {
+
+      pmanager-&gt;AddProcess(new G4MultipleScattering, -1, 1, 1);
+      pmanager-&gt;AddProcess(new G4eIonisation,        -1, 2, 2);
+      pmanager-&gt;AddProcess(new G4eBremsstrahlung,    -1, 3, 3);
+      pmanager-&gt;AddProcess(new G4eplusAnnihilation,   0,-1, 4);
+      
+    } else if( particleName == "mu+" || 
+               particleName == "mu-"    ) {
+
+      pmanager-&gt;AddProcess(new G4hMultipleScattering,-1, 1, 1);
+      pmanager-&gt;AddProcess(new G4MuIonisation,       -1, 2, 2);
+      pmanager-&gt;AddProcess(new G4MuBremsstrahlung,   -1, 3, 3);
+               pmanager-&gt;AddProcess(new G4MuPairProduction,   -1, 4, 4);       
+
+    } else if (particleName == "alpha" ||
+               particleName == "He3" ||
+               particleName == "GenericIon") {
+      // ions with charge &gt;= +2
+      pmanager-&gt;AddProcess(new G4hMultipleScattering,-1, 1, 1);
+      pmanager-&gt;AddProcess(new G4ionIonisation,      -1, 2, 2);
+     
+    } else if ((!particle-&gt;IsShortLived()) &amp;&amp;
+               (particle-&gt;GetPDGCharge() != 0.0) &amp;&amp; 
+               (particle-&gt;GetParticleName() != "chargedgeantino")) {
+      //all others charged particles except geantino and short-lived
+      pmanager-&gt;AddProcess(new G4hMultipleScattering,-1, 1, 1);
+      pmanager-&gt;AddProcess(new G4hIonisation,        -1, 2, 2);
+            
+    }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+Novice and extended electromagnetic examples illustrating the use
+of electromagnetic processes are available as part of the Geant4
+<a href="http://geant4.web.cern.ch/geant4/support/download.shtml" target="_top">
+release</a>.
+</p><p>
+<span class="bold"><strong>Options</strong></span> are available for steering the standard
+electromagnetic processes. These options may be invoked either by
+UI commands or by the interface class G4EmProcessOptions. This
+class has the following public methods:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     SetLossFluctuations(G4bool)
+   </p></li><li><p>
+     SetSubCutoff(G4bool, const G4Region* r=0)
+   </p></li><li><p>
+     SetIntegral(G4bool)
+   </p></li><li><p>
+     SetMinSubRange(G4double)
+   </p></li><li><p>
+     SetMinEnergy(G4double)
+   </p></li><li><p>
+     SetMaxEnergy(G4double)
+   </p></li><li><p>
+     SetMaxEnergyForCSDARange(G4double)
+   </p></li><li><p>
+     SetMaxEnergyForMuons(G4double)
+   </p></li><li><p>
+     SetDEDXBinning(G4int)
+   </p></li><li><p>
+     SetDEDXBinningForCSDARange(G4int)
+   </p></li><li><p>
+     SetLambdaBinning(G4int)
+   </p></li><li><p>
+     SetStepFunction(G4double, G4double)
+   </p></li><li><p>
+     SetRandomStep(G4bool)
+   </p></li><li><p>
+     SetApplyCuts(G4bool)
+   </p></li><li><p>
+     SetBuildCSDARange(G4bool)
+   </p></li><li><p>
+     SetVerbose(G4int, const G4String name= "all")
+   </p></li><li><p>
+     SetLambdaFactor(G4double)  
+   </p></li><li><p>
+     SetLinearLossLimit(G4double)  
+   </p></li><li><p>
+     ActivateDeexcitation(G4bool val, const G4Region* r = 0)  
+   </p></li><li><p>
+     SetMscStepLimitation(G4MscStepLimitType val)  
+   </p></li><li><p>
+     SetMscLateralDisplacement(G4bool val)  
+   </p></li><li><p>
+     SetSkin(G4double)  
+   </p></li><li><p>
+     SetMscRangeFactor(G4double)  
+   </p></li><li><p>
+     SetMscGeomFactor(G4double)  
+   </p></li><li><p>
+     SetLPMFlag(G4bool)
+   </p></li><li><p>
+     SetBremsstrahlungTh(G4double)
+   </p></li></ul></div><p>
+</p><p>
+The corresponding UI command can be accessed in the UI subdirectory
+"/process/eLoss". The following types of step limitation by multiple scattering 
+are available:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     fSimple - step limitation used in g4 7.1 version (used in QGSP_EMV Physics List)
+   </p></li><li><p>
+     fUseSafety - default
+   </p></li><li><p>
+     fUseDistanceToBoundary - advance method of step limitation used in EM examples,
+     required parameter <span class="emphasis"><em>skin &gt; 0</em></span>, should be used for
+     setup without magnetic field
+   </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>G4EmCalculator</strong></span> is a class which provides 
+access to cross sections and stopping powers. This class can be used 
+anywhere in the user code provided the physics list has already been
+initialised (G4State_Idle). G4EmCalculator has "Get" methods which
+can be applied to materials for which physics tables are already
+built, and "Compute" methods which can be applied to any material
+defined in the application or existing in the Geant4 internal
+database. The public methods of this class are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     GetDEDX(kinEnergy,particle,material,G4Region region=0)
+   </p></li><li><p>
+     GetRangeFromRestrictedDEDX(kinEnergy,particle,material,G4Region* region=0)
+   </p></li><li><p>
+     GetCSDARange(kinEnergy,particle,material,G4Region* region=0)
+   </p></li><li><p>
+     GetRange(kinEnergy,particle,material,G4Region* region=0)
+   </p></li><li><p>
+     GetKinEnergy(range,particle,material,G4Region* region=0)
+   </p></li><li><p>
+     GetCrosSectionPerVolume(kinEnergy,particle,material,G4Region* region=0)
+   </p></li><li><p>
+     GetMeanFreePath(kinEnergy,particle,material,G4Region* region=0)
+   </p></li><li><p>
+     PrintDEDXTable(particle)
+   </p></li><li><p>
+     PrintRangeTable(particle)
+   </p></li><li><p>
+     PrintInverseRangeTable(particle)
+   </p></li><li><p>
+     ComputeDEDX(kinEnergy,particle,process,material,cut=DBL_MAX)
+   </p></li><li><p>
+     ComputeElectronicDEDX(kinEnergy,particle,material,cut=DBL_MAX)
+   </p></li><li><p>
+     ComputeNuclearDEDX(kinEnergy,particle,material,cut=DBL_MAX)
+   </p></li><li><p>
+     ComputeTotalDEDX(kinEnergy,particle,material,cut=DBL_MAX)
+   </p></li><li><p>
+     ComputeCrosSectionPerVolume(kinEnergy,particle,process,material,cut=0)
+   </p></li><li><p>
+     ComputeCrosSectionPerAtom(kinEnergy,particle,process,Z,A,cut=0)
+   </p></li><li><p>
+     ComputeMeanFreePath(kinEnergy,particle,process,material,cut=0)
+   </p></li><li><p>
+     ComputeEnergyCutFromRangeCut(range,particle,material)
+   </p></li><li><p>
+     FindParticle(const G4String&amp;)
+   </p></li><li><p>
+     FindMaterial(const G4String&amp;)
+   </p></li><li><p>
+     FindRegion(const G4String&amp;)
+   </p></li><li><p>
+     FindCouple(const G4Material*, const G4Region* region=0)
+   </p></li><li><p>
+     SetVerbose(G4int)
+   </p></li></ul></div><p>
+</p><p>
+For these interfaces, particles, materials, or processes may be
+pointers or strings with names.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.EleMag.LowE"></a>5.2.1.2. 
+Low Energy Electromagnetic Processes
+</h4></div></div></div><p>
+The following is a summary of the Low Energy Electromagnetic
+processes available in Geant4. Further information is available in
+the 
+<a href="http://www.ge.infn.it/geant4/lowE/index.html" target="_top">
+homepage 
+</a>
+of the Geant4 Low Energy Electromagnetic Physics Working Group. 
+The physics content of these processes is documented in Geant4 
+<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html" target="_top">
+Physics Reference Manual 
+</a>
+and in other 
+<a href="http://www.ge.infn.it/geant4/lowE/papers.html" target="_top">
+papers</a>.
+</p><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Photon processes</strong></span>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Compton scattering (class <span class="emphasis"><em>G4LowEnergyCompton</em></span>)
+      </p></li><li><p>
+        Polarized Compton scattering (class
+        <span class="emphasis"><em>G4LowEnergyPolarizedCompton</em></span>)
+      </p></li><li><p>
+        Rayleigh scattering (class <span class="emphasis"><em>G4LowEnergyRayleigh</em></span>)
+      </p></li><li><p>
+        Gamma conversion (also called pair production, class
+        <span class="emphasis"><em>G4LowEnergyGammaConversion</em></span>)
+      </p></li><li><p>
+        Photo-electric effect (class<span class="emphasis"><em>G4LowEnergyPhotoElectric</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Electron processes</strong></span>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Bremsstrahlung (class <span class="emphasis"><em>G4LowEnergyBremsstrahlung</em></span>)
+      </p></li><li><p>
+        Ionisation and delta ray production (class
+        <span class="emphasis"><em>G4LowEnergyIonisation</em></span>)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Hadron and ion processes</strong></span>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Ionisation and delta ray production (class
+        <span class="emphasis"><em>G4hLowEnergyIonisation</em></span>)
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><p>
+An example of the registration of these processes in a physics list
+is given in <a href="ch05s02.html#programlist_PhysProc_2" title="Example 5.2. 
+Registration of electromagnetic low energy electron/photon processes.
+">Example 5.2</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_2"></a><p class="title"><b>Example 5.2. 
+Registration of electromagnetic low energy electron/photon processes.
+</b></p><div class="example-contents"><pre class="programlisting">
+void LowEnPhysicsList::ConstructEM()
+{
+  theParticleIterator-&gt;reset();
+
+  while( (*theParticleIterator)() ){
+
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+    G4String particleName = particle-&gt;GetParticleName();
+
+    if (particleName == "gamma") {
+
+      theLEPhotoElectric   = new G4LowEnergyPhotoElectric();
+      theLECompton         = new G4LowEnergyCompton();
+      theLEGammaConversion = new G4LowEnergyGammaConversion();
+      theLERayleigh        = new G4LowEnergyRayleigh();
+
+      pmanager-&gt;AddDiscreteProcess(theLEPhotoElectric);
+      pmanager-&gt;AddDiscreteProcess(theLECompton);
+      pmanager-&gt;AddDiscreteProcess(theLERayleigh);
+      pmanager-&gt;AddDiscreteProcess(theLEGammaConversion);
+
+    }
+    else if (particleName == "e-") {
+
+      theLEIonisation = new G4LowEnergyIonisation();
+      theLEBremsstrahlung = new G4LowEnergyBremsstrahlung();
+      theeminusMultipleScattering = new G4MultipleScattering();
+
+      pmanager-&gt;AddProcess(theeminusMultipleScattering,-1,1,1);
+      pmanager-&gt;AddProcess(theLEIonisation,-1,2,2);
+      pmanager-&gt;AddProcess(theLEBremsstrahlung,-1,-1,3);
+
+    }
+    else if (particleName == "e+") {
+
+      theeplusMultipleScattering = new G4MultipleScattering();
+      theeplusIonisation = new G4eIonisation();
+      theeplusBremsstrahlung = new G4eBremsstrahlung();
+      theeplusAnnihilation = new G4eplusAnnihilation();
+
+      pmanager-&gt;AddProcess(theeplusMultipleScattering,-1,1,1);
+      pmanager-&gt;AddProcess(theeplusIonisation,-1,2,2);
+      pmanager-&gt;AddProcess(theeplusBremsstrahlung,-1,-1,3);
+      pmanager-&gt;AddProcess(theeplusAnnihilation,0,-1,4);
+    }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+Advanced <span class="bold"><strong>examples</strong></span> illustrating the use of Low Energy
+Electromagnetic processes are available as part of the Geant4
+<a href="http://geant4.web.cern.ch/geant4/support/download.shtml" target="_top">
+release
+</a>
+and are further documented 
+<a href="http://www.ge.infn.it/geant4/lowE/examples/index.html" target="_top">
+here</a>.
+</p><p>
+To run the Low Energy code for photon and electron
+electromagnetic processes, <span class="bold"><strong>
+<a href="http://geant4.web.cern.ch/geant4/support/download.shtml" target="_top">
+data files
+</a>
+</strong></span> 
+need to be copied by the user to his/her code
+repository. These files are distributed together with Geant4
+<a href="http://geant4.web.cern.ch/geant4/support/download.shtml" target="_top">
+release</a>.
+</p><p>
+The user should set the environment variable 
+<span class="bold"><strong>G4LEDATA</strong></span> to the
+directory where he/she has copied the files.
+</p><p>
+<span class="bold"><strong>Options</strong></span> are available for low energy electromagnetic
+processes for hadrons and ions in terms of public member functions
+of the G4hLowEnergyIonisation class:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     SetHighEnergyForProtonParametrisation(G4double)
+   </p></li><li><p>
+     SetLowEnergyForProtonParametrisation(G4double)
+   </p></li><li><p>
+     SetHighEnergyForAntiProtonParametrisation(G4double)
+   </p></li><li><p>
+     SetLowEnergyForAntiProtonParametrisation(G4double)
+   </p></li><li><p>
+     SetElectronicStoppingPowerModel(const G4ParticleDefinition*,const G4String&amp; )
+   </p></li><li><p>
+     SetNuclearStoppingPowerModel(const G4String&amp;)
+   </p></li><li><p>
+     SetNuclearStoppingOn()
+   </p></li><li><p>
+     SetNuclearStoppingOff()
+   </p></li><li><p>
+     SetBarkasOn()
+   </p></li><li><p>
+     SetBarkasOff()
+   </p></li><li><p>
+     SetFluorescence(const G4bool)
+   </p></li><li><p>
+     ActivateAugerElectronProduction(G4bool)
+   </p></li><li><p>
+     SetCutForSecondaryPhotons(G4double)
+   </p></li><li><p>
+     SetCutForSecondaryElectrons(G4double)
+   </p></li></ul></div><p>
+</p><p>
+The available models for ElectronicStoppingPower and
+NuclearStoppingPower are documented in the 
+<a href="http://www.ge.infn.it/geant4/lowE/swprocess/design/" target="_top">
+class diagrams</a>.
+</p><p>
+<span class="bold"><strong>Options</strong></span> are available for low energy electromagnetic
+processes for electrons in the G4LowEnergyIonisation class:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     ActivateAuger(G4bool)
+   </p></li><li><p>
+     SetCutForLowEnSecPhotons(G4double)
+   </p></li><li><p>
+     SetCutForLowEnSecElectrons(G4double)
+   </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Options</strong></span> are available for low energy electromagnetic
+processes for electrons/positrons in the G4LowEnergyBremsstrahlung
+class, that allow the use of alternative bremsstrahlung angular
+generators:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     SetAngularGenerator(G4VBremAngularDistribution* distribution);
+   </p></li><li><p>
+     SetAngularGenerator(const G4String&amp; name);
+   </p></li></ul></div><p>
+</p><p>
+Currently three angular generators are available: G4ModifiedTsai,
+2BNGenerator and 2BSGenerator. G4ModifiedTsai is set by default,
+but it can be forced using the string "tsai". 2BNGenerator and
+2BSGenerator can be set using the strings "2bs" and "2bn".
+Information regarding conditions of use, performance and energy
+limits of different models are available in the 
+<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html" target="_top">
+Physics Reference Manual
+</a> 
+and in the Geant4 Low Energy Electromagnetic Physics Working Group 
+<a href="http://www.ge.infn.it/geant4/lowE/index.html" target="_top">
+homepage</a>.
+</p><p>
+Other <span class="bold"><strong>options</strong></span> G4LowEnergyBremsstrahlung class are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     SetCutForLowEnSecPhotons(G4double)
+   </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Options</strong></span> can also be set in the G4LowEnergyPhotoElectric
+class, that allow the use of alternative photoelectron angular
+generators:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     SetAngularGenerator(G4VPhotoElectricAngularDistribution* distribution);
+   </p></li><li><p>
+     SetAngularGenerator(const G4String&amp; name);
+   </p></li><li><p>
+     
+   </p></li><li><p>
+     
+   </p></li><li><p>
+     
+   </p></li></ul></div><p>
+</p><p>
+Currently three angular generators are available:
+G4PhotoElectricAngularGeneratorSimple,
+G4PhotoElectricAngularGeneratorSauterGavrilla and
+G4PhotoElectricAngularGeneratorPolarized.
+G4PhotoElectricAngularGeneratorSimple is set by default, but it can
+be forced using the string "default".
+G4PhotoElectricAngularGeneratorSauterGavrilla and
+G4PhotoElectricAngularGeneratorPolarized can be set using the
+strings "standard" and "polarized". Information regarding
+conditions of use, performance and energy limits of different
+models are available in the 
+<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html" target="_top">
+Physics Reference Manual
+</a> 
+and in the Geant4 Low Energy Electromagnetic Physics Working Group 
+<a href="http://www.ge.infn.it/geant4/lowE/index.html" target="_top">
+homepage</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.EleMag.VeryLowE"></a>5.2.1.3. 
+Very Low energy Electromagnetic Processes (Geant4 DNA extension)
+</h4></div></div></div><p>
+Geant4 low energy electromagnetic Physics processes have been extended down 
+to energies of a few electronVolts suitable for the simulation of radiation 
+effects in liquid water for applications at the cellular and sub-cellular 
+level. These developments take place in the framework of the Geant4 DNA 
+project 
+[
+<a href="http://www.ge.infn.it/geant4/dna" target="_top">
+http://www.ge.infn.it/geant4/dna
+</a>
+] and are fully described in the paper 
+[<span class="citation">
+<a href="bi01.html#biblio.chauvie2007">
+    Chauvie2007
+  </a>
+</span>].
+</p><p>
+Their implementation in Geant4 is based on the usage of innovative techniques 
+first introduced in Monte Carlo simulation (policy-based class design), to 
+ensure openness to future extension and evolution as well as flexibility of 
+configuration in user applications. In this new design, a generic Geant4-DNA 
+physics process is configured by template specialization in order to acquire 
+physical properties (cross section, final state), using policy classes : 
+a Cross Section policy class and a Final State policy class.
+</p><p>
+These processes apply to electrons, protons, hydrogen, alpha particles and 
+their charge states.
+</p><h5><a name="id456546"></a>
+ Electron processes
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Elastic scattering (two complementary models available depending on energy range) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name, common to both models : 
+        G4CrossSectionElasticScreenedRutherford       
+      </p></li><li><p>
+        Final state policy class names : G4FinalStateElasticScreenedRutherford
+        or  G4FinalStateElasticBrennerZaider      
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Excitation (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionExcitationEmfietzoglou  
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateExcitationEmfietzoglou
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Ionisation (one model)   
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionIonisationBorn  
+      </p></li><li><p>
+        Final state policy class names : G4FinalStateIonisationBorn
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id458868"></a>
+ Proton processes
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Excitation  (two complementary models available depending on energy range)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </p></li><li><p>
+        Cross section policy class name : G4CrossSectionExcitationBorn
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateExcitationBorn
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Ionisation (two complementary models available depending on energy range) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateIonisationRudd 
+      </p></li><li><p>
+        Cross section policy class name : G4CrossSectionIonisationBorn
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateIonisationBorn
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Charge decrease (one model)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionChargeDecrease
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateChargeDecrease
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id458967"></a>
+ Hydrogen processes
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Ionisation (one model)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Charge increase (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionChargeIncrease
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateChargeIncrease
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id459025"></a>
+ Helium (neutral) processes
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Excitation (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Ionisation (one model)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Charge increase (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionChargeIncrease
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateChargeIncrease
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id459103"></a>
+ Helium+ (ionized once) processes
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Excitation (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Ionisation (one model)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Charge increase (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionChargeIncrease
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateChargeIncrease
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Charge decrease (one model)  
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionChargeDecrease
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateChargeDecrease
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id459202"></a>
+ Helium++ (ionised twice) processes
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Excitation (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionExcitationMillerGreen
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateExcitationMillerGreen
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Ionisation (one model)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionIonisationRudd
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateIonisationRudd
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Charge decrease (one model) 
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Cross section policy class name : G4CrossSectionChargeDecrease
+      </p></li><li><p>
+        Final state policy class name : G4FinalStateChargeDecrease
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><p>
+An example of the registration of these processes in a physics list is given here below :
+
+</p><div class="informalexample"><pre class="programlisting">
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Geant4 DNA header files
+
+#include "G4DNAGenericIonsManager.hh"
+#include "G4FinalStateProduct.hh"
+#include "G4DNAProcess.hh"
+
+#include "G4CrossSectionExcitationEmfietzoglou.hh"
+#include "G4FinalStateExcitationEmfietzoglou.hh"
+
+#include "G4CrossSectionElasticScreenedRutherford.hh"
+#include "G4FinalStateElasticScreenedRutherford.hh"
+#include "G4FinalStateElasticBrennerZaider.hh"
+
+#include "G4CrossSectionExcitationBorn.hh"
+#include "G4FinalStateExcitationBorn.hh"
+
+#include "G4CrossSectionIonisationBorn.hh"
+#include "G4FinalStateIonisationBorn.hh"
+
+#include "G4CrossSectionIonisationRudd.hh"
+#include "G4FinalStateIonisationRudd.hh"
+
+#include "G4CrossSectionExcitationMillerGreen.hh"
+#include "G4FinalStateExcitationMillerGreen.hh"
+
+#include "G4CrossSectionChargeDecrease.hh"
+#include "G4FinalStateChargeDecrease.hh"
+
+#include "G4CrossSectionChargeIncrease.hh"
+#include "G4FinalStateChargeIncrease.hh"
+
+// Processes definition
+
+typedef G4DNAProcess&lt;G4CrossSectionElasticScreenedRutherford,G4FinalStateElasticScreenedRutherford&gt; 
+  ElasticScreenedRutherford;
+typedef G4DNAProcess&lt;G4CrossSectionElasticScreenedRutherford,G4FinalStateElasticBrennerZaider&gt; 
+  ElasticBrennerZaider;
+typedef G4DNAProcess&lt;G4CrossSectionExcitationEmfietzoglou,G4FinalStateExcitationEmfietzoglou&gt; 
+  ExcitationEmfietzoglou;
+typedef G4DNAProcess&lt;G4CrossSectionExcitationBorn,G4FinalStateExcitationBorn&gt; 
+  ExcitationBorn;
+typedef G4DNAProcess&lt;G4CrossSectionIonisationBorn,G4FinalStateIonisationBorn&gt; 
+  IonisationBorn;
+typedef G4DNAProcess&lt;G4CrossSectionIonisationRudd,G4FinalStateIonisationRudd&gt; 
+  IonisationRudd;
+typedef G4DNAProcess&lt;G4CrossSectionExcitationMillerGreen,G4FinalStateExcitationMillerGreen&gt; 
+  ExcitationMillerGreen;
+typedef G4DNAProcess&lt;G4CrossSectionChargeDecrease,G4FinalStateChargeDecrease&gt; 
+  ChargeDecrease;
+typedef G4DNAProcess&lt;G4CrossSectionChargeIncrease,G4FinalStateChargeIncrease&gt; 
+  ChargeIncrease;
+
+// Processes registration
+
+void MicrodosimetryPhysicsList::ConstructEM()
+{
+  theParticleIterator-&gt;reset();
+
+  while( (*theParticleIterator)() ){
+
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* processManager = particle-&gt;GetProcessManager();
+    G4String particleName = particle-&gt;GetParticleName();
+
+    if (particleName == "e-") {
+       processManager-&gt;AddDiscreteProcess(new ExcitationEmfietzoglou);
+       processManager-&gt;AddDiscreteProcess(new ElasticScreenedRutherford);
+       processManager-&gt;AddDiscreteProcess(new ElasticBrennerZaider);
+       processManager-&gt;AddDiscreteProcess(new IonisationBorn);
+
+    } else if ( particleName == "proton" ) {
+       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen);
+       processManager-&gt;AddDiscreteProcess(new ExcitationBorn);
+       processManager-&gt;AddDiscreteProcess(new IonisationRudd);
+       processManager-&gt;AddDiscreteProcess(new IonisationBorn);
+       processManager-&gt;AddDiscreteProcess(new ChargeDecrease);
+
+    } else if ( particleName == "hydrogen" ) {
+       processManager-&gt;AddDiscreteProcess(new IonisationRudd);
+       processManager-&gt;AddDiscreteProcess(new ChargeIncrease);
+
+    } else if ( particleName == "alpha" ) {
+       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen);
+       processManager-&gt;AddDiscreteProcess(new IonisationRudd);
+       processManager-&gt;AddDiscreteProcess(new ChargeDecrease);
+    
+    } else if ( particleName == "alpha+" ) {
+       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen);
+       processManager-&gt;AddDiscreteProcess(new IonisationRudd);
+       processManager-&gt;AddDiscreteProcess(new ChargeDecrease);
+       processManager-&gt;AddDiscreteProcess(new ChargeIncrease);
+    
+    } else if ( particleName == "helium" ) {
+       processManager-&gt;AddDiscreteProcess(new ExcitationMillerGreen);
+       processManager-&gt;AddDiscreteProcess(new IonisationRudd);
+       processManager-&gt;AddDiscreteProcess(new ChargeIncrease);
+    }
+
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+</pre></div><p>
+</p><p>
+Note that in the above example, "alpha"  particles are helium atoms ionised
+twice and "helium" particles are neutral helium atoms. The definition of 
+particles in the physics list may be for example implemented as follows :
+
+</p><div class="informalexample"><pre class="programlisting">
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4DNAGenericIonsManager.hh"
+
+void MicrodosimetryPhysicsList::ConstructBaryons()
+{
+  //  construct baryons ---
+
+  // Geant4 DNA particles
+
+  G4DNAGenericIonsManager * genericIonsManager;
+  genericIonsManager=G4DNAGenericIonsManager::Instance();
+  genericIonsManager-&gt;GetIon("alpha++");
+  genericIonsManager-&gt;GetIon("alpha+");
+  genericIonsManager-&gt;GetIon("helium");
+  genericIonsManager-&gt;GetIon("hydrogen");
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+</pre></div><p>
+</p><p>
+To run the Geant4 DNA extension, data files need to be copied by the user to 
+his/her code repository. These files are distributed together with the Geant4 release. 
+</p><p>
+The user should set the environment variable G4LEDATA to the directory where 
+he/she has copied the files. 
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.Had"></a>5.2.2. 
+Hadronic Interactions
+</h3></div></div></div><p>
+This section briefly introduces the hadronic physics processes
+installed in Geant4. For details of the implementation of hadronic
+interactions available in Geant4, please refer to the 
+<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html" target="_top">
+<span class="bold"><strong>Physics Reference Manual</strong></span></a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Had.TreatCross"></a>5.2.2.1. 
+Treatment of Cross Sections
+</h4></div></div></div><h5><a name="id459402"></a>
+Cross section data sets
+</h5><p>
+Each hadronic process object (derived from
+<span class="emphasis"><em>G4HadronicProcess</em></span>) may have one or more cross section data
+sets associated with it. The term "data set" is meant, in a broad
+sense, to be an object that encapsulates methods and data for
+calculating total cross sections for a given process. The methods
+and data may take many forms, from a simple equation using a few
+hard-wired numbers to a sophisticated parameterisation using large
+data tables. Cross section data sets are derived from the abstract
+class <span class="emphasis"><em>G4VCrossSectionDataSet</em></span>, and are required to implement
+the following methods:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4bool IsApplicable( const G4DynamicParticle*, const G4Element* )
+</pre></div><p>
+</p><p>
+This method must return <code class="literal">True</code> if the data set is able to
+calculate a total cross section for the given particle and
+material, and <code class="literal">False</code> otherwise.
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4double GetCrossSection( const G4DynamicParticle*, const G4Element* )
+</pre></div><p>
+</p><p>
+This method, which will be invoked only if <code class="literal">True</code> was
+returned by <code class="literal">IsApplicable</code>, must return a cross section, in
+Geant4 default units, for the given particle and material.
+
+</p><div class="informalexample"><pre class="programlisting">
+    void BuildPhysicsTable( const G4ParticleDefinition&amp; )
+</pre></div><p>
+</p><p>
+This method may be invoked to request the data set to recalculate
+its internal database or otherwise reset its state after a change
+in the cuts or other parameters of the given particle type.
+
+
+</p><div class="informalexample"><pre class="programlisting">
+    void DumpPhysicsTable( const G4ParticleDefinition&amp; ) = 0
+</pre></div><p>
+</p><p>
+This method may be invoked to request the data set to print its
+internal database and/or other state information, for the given
+particle type, to the standard output stream.
+</p><h5><a name="id459505"></a>
+Cross section data store
+</h5><p>
+Cross section data sets are used by the process for the
+calculation of the physical interaction length. A given cross
+section data set may only apply to a certain energy range, or may
+only be able to calculate cross sections for a particular type of
+particle. The class <span class="emphasis"><em>G4CrossSectionDataStore</em></span> has been
+provided to allow the user to specify, if desired, a series of data
+sets for a process, and to arrange the priority of data sets so
+that the appropriate one is used for a given energy range,
+particle, and material. It implements the following public
+methods:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4CrossSectionDataStore()
+
+   ~G4CrossSectionDataStore()
+</pre></div><p>
+
+and
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4double GetCrossSection( const G4DynamicParticle*, const G4Element* )
+</pre></div><p>
+</p><p>
+For a given particle and material, this method returns a cross
+section value provided by one of the collection of cross section
+data sets listed in the data store object. If there are no known
+data sets, a <code class="literal">G4Exception</code> is thrown and <code class="literal">DBL_MIN</code> is
+returned. Otherwise, each data set in the list is queried, in
+reverse list order, by invoking its <code class="literal">IsApplicable</code> method
+for the given particle and material. The first data set object that
+responds positively will then be asked to return a cross section
+value via its <code class="literal">GetCrossSection</code> method. If no data set
+responds positively, a <code class="literal">G4Exception</code> is thrown and
+<code class="literal">DBL_MIN</code> is returned.
+</p><p>
+</p><div class="informalexample"><pre class="programlisting">
+    void AddDataSet( G4VCrossSectionDataSet* aDataSet )
+</pre></div><p>
+
+This method adds the given cross section data set to the end of the
+list of data sets in the data store. For the evaluation of cross
+sections, the list has a LIFO (Last In First Out) priority, meaning
+that data sets added later to the list will have priority over
+those added earlier to the list. Another way of saying this, is
+that the data store, when given a <code class="literal">GetCrossSection</code> request,
+does the <code class="literal">IsApplicable</code> queries in the reverse list order,
+starting with the last data set in the list and proceeding to the
+first, and the first data set that responds positively is used to
+calculate the cross section.
+</p><p>
+</p><div class="informalexample"><pre class="programlisting">
+    void BuildPhysicsTable( const G4ParticleDefinition&amp; aParticleType )
+</pre></div><p>
+
+This method may be invoked to indicate to the data store that there
+has been a change in the cuts or other parameters of the given
+particle type. In response, the data store will invoke the
+<code class="literal">BuildPhysicsTable</code> of each of its data sets.
+</p><p>
+</p><div class="informalexample"><pre class="programlisting">
+    void DumpPhysicsTable( const G4ParticleDefinition&amp; )
+</pre></div><p>
+
+This method may be used to request the data store to invoke the
+<code class="literal">DumpPhysicsTable</code> method of each of its data sets.
+</p><h5><a name="id459658"></a>
+Default cross sections
+</h5><p>
+The defaults for total cross section data and calculations have
+been encapsulated in the singleton class
+<span class="emphasis"><em>G4HadronCrossSections</em></span>. Each hadronic process:
+<span class="emphasis"><em>G4HadronInelasticProcess</em></span>, 
+<span class="emphasis"><em>G4HadronElasticProcess</em></span>,
+<span class="emphasis"><em>G4HadronFissionProcess</em></span>, 
+and <span class="emphasis"><em>G4HadronCaptureProcess</em></span>,
+comes already equipped with a cross section data store and a
+default cross section data set. The data set objects are really
+just shells that invoke the singleton <span class="emphasis"><em>G4HadronCrossSections</em></span>
+to do the real work of calculating cross sections.
+</p><p>
+The default cross sections can be overridden in whole or in part
+by the user. To this end, the base class <span class="emphasis"><em>G4HadronicProcess</em></span>
+has a ``get'' method:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4CrossSectionDataStore* GetCrossSectionDataStore()
+</pre></div><p>
+
+which gives public access to the data store for each process. The
+user's cross section data sets can be added to the data store
+according to the following framework:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4Hadron...Process aProcess(...)
+
+    MyCrossSectionDataSet myDataSet(...)
+
+    aProcess.GetCrossSectionDataStore()-&gt;AddDataSet( &amp;MyDataSet )
+</pre></div><p>
+</p><p>
+The added data set will override the default cross section data
+whenever so indicated by its <code class="literal">IsApplicable</code> method.
+</p><p>
+In addition to the ``get'' method, <span class="emphasis"><em>G4HadronicProcess</em></span> also
+has the method
+
+</p><div class="informalexample"><pre class="programlisting">
+    void SetCrossSectionDataStore( G4CrossSectionDataStore* )
+</pre></div><p>
+
+which allows the user to completely replace the default data
+store with a new data store.
+</p><p>
+It should be noted that a process does not send any information
+about itself to its associated data store (and hence data set)
+objects. Thus, each data set is assumed to be formulated to
+calculate cross sections for one and only one type of process. Of
+course, this does not prevent different data sets from sharing
+common data and/or calculation methods, as in the case of the
+<span class="emphasis"><em>G4HadronCrossSections</em></span> class mentioned above. Indeed,
+<span class="emphasis"><em>G4VCrossSectionDataSet</em></span> specifies only the abstract interface
+between physics processes and their data sets, and leaves the user
+free to implement whatever sort of underlying structure is
+appropriate.
+</p><p>
+The current implementation of the data set
+<span class="emphasis"><em>G4HadronCrossSections</em></span> reuses the total cross-sections for
+inelastic and elastic scattering, radiative capture and fission as
+used with <span class="bold"><strong>GHEISHA</strong></span> to provide cross-sections 
+for calculation
+of the respective mean free paths of a given particle in a given
+material.
+</p><h5><a name="id459782"></a>
+Cross-sections for low energy neutron transport
+</h5><p>
+The cross section data for low energy neutron transport are
+organized in a set of files that are read in by the corresponding
+data set classes at time zero. Hereby the file system is used, in
+order to allow highly granular access to the data. The ``root''
+directory of the cross-section directory structure is accessed
+through an environment variable, <code class="literal">NeutronHPCrossSections</code>,
+which is to be set by the user. The classes accessing the total
+cross-sections of the individual processes, i.e., the cross-section
+data set classes for low energy neutron transport, are
+<span class="emphasis"><em>G4NeutronHPElasticData</em></span>, 
+<span class="emphasis"><em>G4NeutronHPCaptureData</em></span>,
+<span class="emphasis"><em>G4NeutronHPFissionData</em></span>, 
+and <span class="emphasis"><em>G4NeutronHPInelasticData</em></span>.
+</p><p>
+For detailed descriptions of the low energy neutron total
+cross-sections, they may be registered by the user as described
+above with the data stores of the corresponding processes for
+neutron interactions.
+</p><p>
+It should be noted that using these total cross section classes
+does not require that the neutron_hp models also be used. It is up
+to the user to decide whethee this is desirable or not for his
+particular problem.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Had.AtRest"></a>5.2.2.2. 
+Hadrons at Rest
+</h4></div></div></div><h5><a name="id459844"></a>
+List of implemented "Hadron at Rest" processes
+</h5><p>
+The following process classes have been implemented:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    pi- absorption (class name <span class="emphasis"><em>G4PionMinusAbsorptionAtRest</em></span>
+    or <span class="emphasis"><em>G4PiMinusAbsorptionAtRest</em></span>)
+  </p></li><li><p>
+    kaon- absorption (class name <span class="emphasis"><em>G4KaonMinusAbsorptionAtRest</em></span>
+    or <span class="emphasis"><em>G4KaonMinusAbsorption</em></span>)
+  </p></li><li><p>
+    neutron capture (class name <span class="emphasis"><em>G4NeutronCaptureAtRest</em></span>)
+  </p></li><li><p>
+    anti-proton annihilation (class name
+    <span class="emphasis"><em>G4AntiProtonAnnihilationAtRest</em></span>)
+  </p></li><li><p>
+    anti-neutron annihilation (class name
+    <span class="emphasis"><em>G4AntiNeutronAnnihilationAtRest</em></span>)
+  </p></li><li><p>
+    mu- capture (class name <span class="emphasis"><em>G4MuonMinusCaptureAtRest</em></span>)
+  </p></li><li><p>
+    alternative CHIPS model for any negativly charged particle
+    (class name <span class="emphasis"><em>G4QCaptureAtRest</em></span>)
+  </p></li></ul></div><p>
+</p><p>
+Obviously the last process does not, strictly speaking, deal with a
+``hadron at rest''. It does, nonetheless, share common features
+with the others in the above list because of the implementation
+model chosen. The differences between the alternative
+implementation for kaon and pion absorption concern the fast part
+of the emitted particle spectrum. G4PiMinusAbsorptionAtRest, and
+G4KaonMinusAbsorptionAtRest focus especially on a good description
+of this part of the spectrum.
+</p><h5><a name="id459937"></a>
+Implementation Interface to Geant4
+</h5><p>
+All of these classes are derived from the abstract class
+<span class="emphasis"><em>G4VRestProcess</em></span>. In addition to the constructor and
+destructor methods, the following public methods of the abstract
+class have been implemented for each of the above six
+processes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    </p><p>
+    <code class="literal">AtRestGetPhysicalInteractionLength( const G4Track&amp;,
+    G4ForceCondition* )</code>
+    </p><p>
+    </p><p>
+    This method returns the time taken before the interaction actually
+    occurs. In all processes listed above, except for muon capture, a
+    value of zero is returned. For the muon capture process the muon
+    capture lifetime is returned.
+    </p><p>
+  </p></li><li><p>
+    </p><p>
+    <code class="literal">AtRestDoIt( const G4Track&amp;, const G4Step&amp;)</code>
+    </p><p>
+    </p><p>
+    This method generates the secondary particles produced by the
+    process.
+    </p><p>
+  </p></li><li><p>
+    </p><p>
+    <code class="literal">IsApplicable( const G4ParticleDefinition&amp; )</code>
+    </p><p>
+    </p><p>
+    This method returns the result of a check to see if the process is
+    possible for a given particle.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id460014"></a>
+Example of how to use a hadron at rest process
+</h5><p>
+Including a ``hadron at rest'' process for a particle, a pi- for
+example, into the Geant4 system is straightforward and can be done
+in the following way:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    create a process:
+    </p><div class="informalexample"><pre class="programlisting">
+       theProcess = new G4PionMinusAbsorptionAtRest();
+    </pre></div><p>
+  </p></li><li><p>
+    register the process with the particle's process manager:
+    </p><div class="informalexample"><pre class="programlisting">
+       theParticleDef = G4PionMinus::PionMinus();
+       G4ProcessManager* pman = theParticleDef-&gt;GetProcessManager();
+       pman-&gt;AddRestProcess( theProcess );
+    </pre></div><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Had.Flight"></a>5.2.2.3. 
+Hadrons in Flight
+</h4></div></div></div><h5><a name="id460076"></a>
+What processes do you need?
+</h5><p>
+For hadrons in motion, there are four physics process classes.
+<a href="ch05s02.html#table.PhysProc_1" title="Table 5.1. 
+Hadronic processes and relevant particles.
+">Table 5.1</a> shows each process and the 
+particles for which it is relevant.
+
+</p><div class="table"><a name="table.PhysProc_1"></a><div class="table-contents"><table summary="
+Hadronic processes and relevant particles.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+      <span class="emphasis"><em>G4HadronElasticProcess</em></span>
+    </td><td>
+      pi+, pi-, K<sup>+</sup>, 
+      K<sup>0</sup><sub>S</sub>, 
+      K<sup>0</sup><sub>L</sub>, 
+      K<sup>-</sup>, 
+      p, p-bar, n, n-bar, lambda, lambda-bar, 
+      Sigma<sup>+</sup>, Sigma<sup>-</sup>,
+      Sigma<sup>+</sup>-bar, 
+      Sigma<sup>-</sup>-bar, 
+      Xi<sup>0</sup>, Xi<sup>-</sup>, 
+      Xi<sup>0</sup>-bar, Xi<sup>-</sup>-bar
+    </td></tr><tr><td>
+      <span class="emphasis"><em>G4HadronInelasticProcess</em></span>
+    </td><td>
+      pi+, pi-, K<sup>+</sup>, 
+      K<sup>0</sup><sub>S</sub>,
+      K<sup>0</sup><sub>L</sub>, 
+      K<sup>-</sup>, 
+      p, p-bar, n, n-bar, lambda, lambda-bar, 
+      Sigma<sup>+</sup>, Sigma<sup>-</sup>,
+      Sigma<sup>+</sup>-bar, 
+      Sigma<sup>-</sup>-bar, Xi<sup>0</sup>,
+      Xi<sup>-</sup>, Xi<sup>0</sup>-bar, 
+      Xi<sup>-</sup>-bar
+    </td></tr><tr><td>
+      <span class="emphasis"><em>G4HadronFissionProcess</em></span>
+    </td><td>
+      all
+    </td></tr><tr><td>
+      <span class="emphasis"><em>G4CaptureProcess</em></span>
+    </td><td>
+      n, n-bar
+    </td></tr></tbody></table></div><p class="title"><b>Table 5.1. 
+Hadronic processes and relevant particles.
+</b></p></div><p><br class="table-break">
+</p><h5><a name="id460260"></a>
+How to register Models
+</h5><p>
+To register an inelastic process model for a particle, a proton
+for example, first get the pointer to the particle's process
+manager:
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4ParticleDefinition *theProton = G4Proton::ProtonDefinition();
+   G4ProcessManager *theProtonProcMan = theProton-&gt;GetProcessManager();
+</pre></div><p>
+</p><p>
+Create an instance of the particle's inelastic process:
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4ProtonInelasticProcess *theProtonIEProc = new G4ProtonInelasticProcess();
+</pre></div><p>
+</p><p>
+Create an instance of the model which determines the secondaries
+produced in the interaction, and calculates the momenta of the
+particles:
+
+</p><div class="informalexample"><pre class="programlisting">
+   G4LEProtonInelastic *theProtonIE = new G4LEProtonInelastic();
+</pre></div><p>
+</p><p>
+Register the model with the particle's inelastic process:
+
+</p><div class="informalexample"><pre class="programlisting">
+   theProtonIEProc-&gt;RegisterMe( theProtonIE );
+</pre></div><p>
+</p><p>
+Finally, add the particle's inelastic process to the list of
+discrete processes:
+
+</p><div class="informalexample"><pre class="programlisting">
+   theProtonProcMan-&gt;AddDiscreteProcess( theProtonIEProc );
+</pre></div><p>
+</p><p>
+The particle's inelastic process class,
+<span class="emphasis"><em>G4ProtonInelasticProcess</em></span> in the example above, derives from
+the <span class="emphasis"><em>G4HadronicInelasticProcess</em></span> class, and simply defines the
+process name and calls the <span class="emphasis"><em>G4HadronicInelasticProcess</em></span>
+constructor. All of the specific particle inelastic processes
+derive from the <span class="emphasis"><em>G4HadronicInelasticProcess</em></span> class, which
+calls the <code class="literal">PostStepDoIt</code> function, which returns the
+particle change object from the <span class="emphasis"><em>G4HadronicProcess</em></span> function
+<code class="literal">GeneralPostStepDoIt</code>. This class also gets the mean free
+path, builds the physics table, and gets the microscopic cross
+section. The <span class="emphasis"><em>G4HadronicInelasticProcess</em></span> class derives from
+the <span class="emphasis"><em>G4HadronicProcess</em></span> class, which is the top level hadronic
+process class. The <span class="emphasis"><em>G4HadronicProcess</em></span> class derives from the
+<span class="emphasis"><em>G4VDiscreteProcess</em></span> class. The inelastic, elastic, capture,
+and fission processes derive from the <span class="emphasis"><em>G4HadronicProcess</em></span>
+class. This pure virtual class also provides the energy range
+manager object and the <code class="literal">RegisterMe</code> access function.
+</p><p>
+A sample case for the proton's inelastic interaction model class
+is shown in <a href="ch05s02.html#programlist_PhysProc_3" title="Example 5.3. 
+An example of a proton inelastic interaction model class.
+">Example 5.3</a>, where
+<code class="literal">G4LEProtonInelastic.hh</code> is the name of the include
+file:
+
+</p><div class="example"><a name="programlist_PhysProc_3"></a><p class="title"><b>Example 5.3. 
+An example of a proton inelastic interaction model class.
+</b></p><div class="example-contents"><pre class="programlisting">
+ ----------------------------- include file ------------------------------------------
+
+#include "G4InelasticInteraction.hh"
+ class G4LEProtonInelastic : public G4InelasticInteraction
+ {
+ public:
+    G4LEProtonInelastic() : G4InelasticInteraction()
+    {
+      SetMinEnergy( 0.0 );
+      SetMaxEnergy( 25.*GeV );
+    }
+    ~G4LEProtonInelastic() { }
+    G4ParticleChange *ApplyYourself( const G4Track &amp;aTrack,
+                                     G4Nucleus &amp;targetNucleus );
+ private:
+    void CascadeAndCalculateMomenta( required arguments );
+ };
+
+ ----------------------------- source file ------------------------------------------
+
+ #include "G4LEProtonInelastic.hh"
+ G4ParticleChange *
+  G4LEProton Inelastic::ApplyYourself( const G4Track &amp;aTrack,
+                                       G4Nucleus &amp;targetNucleus )
+  {
+    theParticleChange.Initialize( aTrack );
+    const G4DynamicParticle *incidentParticle = aTrack.GetDynamicParticle();
+    // create the target particle
+    G4DynamicParticle *targetParticle = targetNucleus.ReturnTargetParticle();
+    CascadeAndCalculateMomenta( required arguments )
+    { ... }
+    return &amp;theParticleChange;
+  }
+</pre></div></div><p><br class="example-break">
+</p><p>
+The <code class="literal">CascadeAndCalculateMomenta</code> function is the bulk of
+the model and is to be provided by the model's creator. It should
+determine what secondary particles are produced in the interaction,
+calculate the momenta for all the particles, and put this
+information into the <span class="emphasis"><em>ParticleChange</em></span> object which is
+returned.
+</p><p>
+The <span class="emphasis"><em>G4LEProtonInelastic</em></span> class derives from the
+<span class="emphasis"><em>G4InelasticInteraction</em></span> class, which is an abstract base
+class since the pure virtual function <code class="literal">ApplyYourself</code> is not
+defined there. <span class="emphasis"><em>G4InelasticInteraction</em></span> itself derives from
+the <span class="emphasis"><em>G4HadronicInteraction</em></span> abstract base class. This class is
+the base class for all the model classes. It sorts out the energy
+range for the models and provides class utilities. The
+<span class="emphasis"><em>G4HadronicInteraction</em></span> class provides the
+<code class="literal">Set/GetMinEnergy</code> and the <code class="literal">Set/GetMaxEnergy</code>
+functions which determine the minimum and maximum energy range for
+the model. An energy range can be set for a specific element, a
+specific material, or for general applicability:
+
+</p><div class="informalexample"><pre class="programlisting">
+ void SetMinEnergy( G4double anEnergy, G4Element *anElement )
+ void SetMinEnergy( G4double anEnergy, G4Material *aMaterial )
+ void SetMinEnergy( const G4double anEnergy )
+ void SetMaxEnergy( G4double anEnergy, G4Element *anElement )
+ void SetMaxEnergy( G4double anEnergy, G4Material *aMaterial )
+ void SetMaxEnergy( const G4double anEnergy )
+</pre></div><p>
+</p><h5><a name="id460525"></a>
+Which models are there, and what are the defaults
+</h5><p>
+In Geant4, any model can be run together with any other model
+without the need for the implementation of a special interface, or
+batch suite, and the ranges of applicability for the different
+models can be steered at initialisation time. This way, highly
+specialised models (valid only for one material and particle, and
+applicable only in a very restricted energy range) can be used in
+the same application, together with more general code, in a
+coherent fashion.
+</p><p>
+Each model has an intrinsic range of applicability, and the
+model chosen for a simulation depends very much on the use-case.
+Consequently, there are no ``defaults''. However, physics lists are
+provided which specify sets of models for various purposes.
+</p><p>
+Three types of hadronic shower models have been implemented:
+parametrisation driven models, data driven models, and theory
+driven models.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Parametrisation driven models are used for all processes
+    pertaining to particles coming to rest, and interacting with the
+    nucleus. For particles in flight, two sets of models exist for
+    inelastic scattering; low energy, and high energy models. Both sets
+    are based originally on the <span class="bold"><strong>GHEISHA</strong></span> 
+    package of Geant3.21,
+    and the original approaches to primary interaction, nuclear
+    excitation, intra-nuclear cascade and evaporation is kept. The
+    models are located in the sub-directories
+    <code class="literal">hadronics/models/low_energy</code> and
+    <code class="literal">hadronics/models/high_energy</code>. The low energy models are
+    targeted towards energies below 20 GeV; the high energy models
+    cover the energy range from 20 GeV to O(TeV). Fission, capture and
+    coherent elastic scattering are also modeled through parametrised
+    models.
+  </p></li><li><p>
+    Data driven models are available for the transport of low
+    energy neutrons in matter in sub-directory
+    <code class="literal">hadronics/models/neutron_hp</code>. The modeling is based 
+    on the data formats of <span class="bold"><strong>ENDF/B-VI</strong></span>, 
+    and all distributions of this standard data format are implemented. 
+    The data sets used are selected from data libraries that conform to 
+    these standard formats. The file system is used in order to allow granular 
+    access to, and flexibility in, the use of the cross sections for different
+    isotopes, and channels. The energy coverage of these models is from
+    thermal energies to 20 MeV.
+  </p></li><li><p>
+    Theory driven models are available for inelastic scattering in
+    a first implementation, covering the full energy range of LHC
+    experiments. They are located in sub-directory
+    <code class="literal">hadronics/models/generator</code>. The current philosophy 
+    implies the usage of parton string models at high energies, of
+    intra-nuclear transport models at intermediate energies, and of
+    statistical break-up models for de-excitation.
+  </p></li></ul></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.Decay"></a>5.2.3. 
+Particle Decay Process
+</h3></div></div></div><p>
+This section briefly introduces decay processes installed in
+Geant4. For details of the implementation of particle decays,
+please refer to the 
+<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html" target="_top">
+<span class="bold"><strong>Physics Reference Manual</strong></span></a>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Decay.Class"></a>5.2.3.1. 
+Particle Decay Class
+</h4></div></div></div><p>
+Geant4 provides a <span class="emphasis"><em>G4Decay</em></span> class for both ``at rest'' and
+``in flight'' particle decays. <span class="emphasis"><em>G4Decay</em></span> can be applied to all
+particles except:
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      massless particles, i.e.,
+    </span></dt><dd><code class="literal">G4ParticleDefinition::thePDGMass &lt;= 0</code></dd><dt><span class="term">
+      particles with ``negative'' life time, i.e.,
+    </span></dt><dd><code class="literal">G4ParticleDefinition::thePDGLifeTime &lt; 0</code></dd><dt><span class="term">
+      shortlived particles, i.e.,
+    </span></dt><dd><code class="literal">G4ParticleDefinition::fShortLivedFlag = True</code></dd></dl></div><p>
+</p><p>
+Decay for some particles may be switched on or off by using
+<code class="literal">G4ParticleDefinition::SetPDGStable()</code> as well as
+<code class="literal">ActivateProcess()</code> and <code class="literal">InActivateProcess()</code> 
+methods of <span class="emphasis"><em>G4ProcessManager</em></span>.
+</p><p>
+<span class="emphasis"><em>G4Decay</em></span> proposes the step length (or step time for
+<code class="literal">AtRest</code>) according to the lifetime of the particle unless
+<code class="literal">PreAssignedDecayProperTime</code> is defined in
+<span class="emphasis"><em>G4DynamicParticle</em></span>.
+</p><p>
+The <span class="emphasis"><em>G4Decay</em></span> class itself does not define decay modes of
+the particle. Geant4 provides two ways of doing this:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    using <span class="emphasis"><em>G4DecayChannel</em></span> in <span class="emphasis"><em>G4DecayTable</em></span>, 
+    and
+  </p></li><li><p>
+    using <code class="literal">thePreAssignedDecayProducts</code> of
+    <span class="emphasis"><em>G4DynamicParticle</em></span>
+  </p></li></ul></div><p>
+</p><p>
+The <span class="emphasis"><em>G4Decay</em></span> class calculates the
+<code class="literal">PhysicalInteractionLength</code> and boosts decay products
+created by <span class="emphasis"><em>G4VDecayChannel</em></span> or event generators. See below
+for information on the determination of the decay modes.
+</p><p>
+An object of <span class="emphasis"><em>G4Decay</em></span> can be shared by particles.
+Registration of the decay process to particles in the
+<code class="literal">ConstructPhysics</code> method of <span class="emphasis"><em>PhysicsList</em></span> 
+(see <a href="ch02s05.html#sect.HowToSpecPhysProc.SpecPhysProc" title="2.5.3. 
+Specifying Physics Processes
+">Section 2.5.3</a>) 
+is shown in <a href="ch05s02.html#programlist_PhysProc_4" title="Example 5.4. 
+Registration of the decay process to particles in the
+ConstructPhysics method of PhysicsList.
+">Example 5.4</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_4"></a><p class="title"><b>Example 5.4. 
+Registration of the decay process to particles in the
+<code class="literal">ConstructPhysics</code> method of <span class="emphasis"><em>PhysicsList</em></span>.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "G4Decay.hh"
+void ExN02PhysicsList::ConstructGeneral()
+{
+  // Add Decay Process
+  G4Decay* theDecayProcess = new G4Decay();
+  theParticleIterator-&gt;reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+    if (theDecayProcess-&gt;IsApplicable(*particle)) { 
+      pmanager -&gt;AddProcess(theDecayProcess);
+      // set ordering for PostStepDoIt and AtRestDoIt
+      pmanager -&gt;SetProcessOrdering(theDecayProcess, idxPostStep);
+      pmanager -&gt;SetProcessOrdering(theDecayProcess, idxAtRest);
+    }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Decay.Table"></a>5.2.3.2. 
+Decay Table
+</h4></div></div></div><p>
+Each particle has its <span class="emphasis"><em>G4DecayTable</em></span>, which stores information
+on the decay modes of the particle. Each decay mode, with its
+branching ratio, corresponds to an object of various ``decay
+channel'' classes derived from <span class="emphasis"><em>G4VDecayChannel</em></span>. Default
+decay modes are created in the constructors of particle classes.
+For example, the decay table of the neutral pion has
+<span class="emphasis"><em>G4PhaseSpaceDecayChannel</em></span> and 
+<span class="emphasis"><em>G4DalitzDecayChannel</em></span> as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  // create a decay channel
+  G4VDecayChannel* mode;
+  // pi0 -&gt; gamma + gamma
+  mode = new G4PhaseSpaceDecayChannel("pi0",0.988,2,"gamma","gamma");
+  table-&gt;Insert(mode);
+  // pi0 -&gt; gamma + e+ + e-
+  mode = new G4DalitzDecayChannel("pi0",0.012,"e-","e+");
+  table-&gt;Insert(mode);
+</pre></div><p>
+</p><p>
+Decay modes and branching ratios defined in Geant4 are listed in
+<a href="ch05s03.html#sect.Parti.Def" title="5.3.2. 
+Definition of a particle
+">Section 5.3.2</a>.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Decay.PreAssgn"></a>5.2.3.3. 
+Pre-assigned Decay Modes by Event Generators
+</h4></div></div></div><p>
+Decays of heavy flavor particles such as B mesons are very complex,
+with many varieties of decay modes and decay mechanisms. There are
+many models for heavy particle decay provided by various event
+generators and it is impossible to define all the decay modes of
+heavy particles by using <span class="emphasis"><em>G4VDecayChannel</em></span>. In other words,
+decays of heavy particles cannot be defined by the Geant4 decay
+process, but should be defined by event generators or other
+external packages. Geant4 provides two ways to do this:
+<code class="literal">pre-assigned decay mode</code> and <code class="literal">external decayer</code>.
+</p><p>
+In the latter approach, the class <span class="emphasis"><em>G4VExtDecayer</em></span> is used
+for the interface to an external package which defines decay modes
+for a particle. If an instance of <span class="emphasis"><em>G4VExtDecayer</em></span> is attached
+to <span class="emphasis"><em>G4Decay</em></span>, daughter particles will be generated by the
+external decay handler.
+</p><p>
+In the former case, decays of heavy particles are simulated by
+an event generator and the primary event contains the decay
+information. <span class="emphasis"><em>G4VPrimaryGenerator</em></span> automatically attaches any
+daughter particles to the parent particle as the
+PreAssignedDecayProducts member of <span class="emphasis"><em>G4DynamicParticle</em></span>.
+<span class="emphasis"><em>G4Decay</em></span> adopts these pre-assigned daughter particles instead
+of asking <span class="emphasis"><em>G4VDecayChannel</em></span> to generate decay products.
+</p><p>
+In addition, the user may assign a <code class="literal">pre-assigned</code> decay
+time for a specific track in its rest frame (i.e. decay time is
+defined in the proper time) by using the
+<span class="emphasis"><em>G4PrimaryParticle::SetProperTime()</em></span> method.
+<span class="emphasis"><em>G4VPrimaryGenerator</em></span> sets the PreAssignedDecayProperTime
+member of <span class="emphasis"><em>G4DynamicParticle</em></span>. <span class="emphasis"><em>G4Decay</em></span> 
+uses this decay time instead of the life time of the particle type.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.PhotoHad"></a>5.2.4. 
+Photolepton-hadron Processes
+</h3></div></div></div><p>
+To be delivered.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.Photo"></a>5.2.5. 
+Optical Photon Processes
+</h3></div></div></div><p>
+A photon is considered to be <span class="emphasis"><em>optical</em></span> when its wavelength
+is much greater than the typical atomic spacing. In GEANT4 optical
+photons are treated as a class of particle distinct from their
+higher energy <span class="emphasis"><em>gamma</em></span> cousins. This implementation allows the
+wave-like properties of electromagnetic radiation to be
+incorporated into the optical photon process. Because this
+theoretical description breaks down at higher energies, there is no
+smooth transition as a function of energy between the optical
+photon and gamma particle classes.
+</p><p>
+For the simulation of optical photons to work correctly in
+GEANT4, they must be imputed a linear polarization. This is unlike
+most other particles in GEANT4 but is automatically and correctly
+done for optical photons that are generated as secondaries by
+existing processes in GEANT4. Not so, if the user wishes to start
+optical photons as primary particles. In this case, the user must
+set the linear polarization using particle gun methods, the General
+Particle Source, or his/her PrimaryGeneratorAction. For an
+unpolarized source, the linear polarization should be sampled
+randomly for each new primary photon.
+</p><p>
+The GEANT4 catalogue of processes at optical wavelengths
+includes refraction and reflection at medium boundaries, bulk
+absorption and Rayleigh scattering. Processes which produce optical
+photons include the Cerenkov effect, transition radiation and
+scintillation. Optical photons are generated in GEANT4 without
+energy conservation and their energy must therefore not be tallied
+as part of the energy balance of an event.
+</p><p>
+The optical properties of the medium which are key to the
+implementation of these types of processes are stored as entries in
+a <code class="literal">G4MaterialPropertiesTable</code> which is linked to the
+<code class="literal">G4Material</code> in question. These properties may be constants
+or they may be expressed as a function of the photon's wavelength.
+This table is a private data member of the <code class="literal">G4Material</code>
+class. The <code class="literal">G4MaterialPropertiesTable</code> is implemented as a
+hash directory, in which each entry consists of a <span class="emphasis"><em>value</em></span> and
+a <span class="emphasis"><em>key</em></span>. The key is used to quickly and efficiently retrieve
+the corresponding value. All values in the dictionary are either
+instantiations of <code class="literal">G4double</code> or the class
+<code class="literal">G4MaterialPropertyVector</code>, and all keys are of type
+<code class="literal">G4String</code>.
+</p><p>
+A <code class="literal">G4MaterialPropertyVector</code> is composed of
+instantiations of the class <code class="literal">G4MPVEntry</code>. The
+<code class="literal">G4MPVEntry</code> is a pair of numbers, which in the case of an
+optical property, are the photon momentum and corresponding
+property value. The <code class="literal">G4MaterialPropertyVector</code> is
+implemented as a <code class="literal">G4std::vector</code>, with the sorting operation
+defined as 
+MPVEntry<sub>1</sub> &lt; MPVEntry<sub>2</sub> ==
+photon_momentum<sub>1</sub> &lt; photon_momentum<sub>2</sub>. 
+This results in all <code class="literal">G4MaterialPropertyVector</code>s being sorted in
+ascending order of photon momenta. It is possible for the user to
+add as many material (optical) properties to the material as he
+wishes using the methods supplied by the
+<code class="literal">G4MaterialPropertiesTable</code> class. An example of this is
+shown in <a href="ch05s02.html#programlist_PhysProc_5" title="Example 5.5. 
+Optical properties added to a G4MaterialPropertiesTable 
+and linked to a G4Material
+">Example 5.5</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_5"></a><p class="title"><b>Example 5.5. 
+Optical properties added to a <code class="literal">G4MaterialPropertiesTable</code> 
+and linked to a <code class="literal">G4Material</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+const G4int NUMENTRIES = 32;
+
+G4double ppckov[NUMENTRIES] = {2.034*eV, ......, 4.136*eV};
+G4double rindex[NUMENTRIES] = {1.3435, ......, 1.3608};
+G4double absorption[NUMENTRIES] = {344.8*cm, ......, 1450.0*cm];
+
+G4MaterialPropertiesTable *MPT = new G4MaterialPropertiesTable();
+
+MPT -&gt; AddConstProperty("SCINTILLATIONYIELD",100./MeV);
+
+MPT -&gt; AddProperty("RINDEX",ppckov,rindex,NUMENTRIES};
+MPT -&gt; AddProperty("ABSLENGTH",ppckov,absorption,NUMENTRIES};
+
+scintillator -&gt; SetMaterialPropertiesTable(MPT);
+</pre></div></div><p><br class="example-break">
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Photo.Cerenkov"></a>5.2.5.1. 
+Generation of Photons in 
+<code class="literal">processes/electromagnetic/xrays</code> - Cerenkov Effect
+</h4></div></div></div><p>
+The radiation of Cerenkov light occurs when a charged particle
+moves through a dispersive medium faster than the group velocity of
+light in that medium. Photons are emitted on the surface of a cone,
+whose opening angle with respect to the particle's instantaneous
+direction decreases as the particle slows down. At the same time,
+the frequency of the photons emitted increases, and the number
+produced decreases. When the particle velocity drops below the
+local speed of light, the radiation ceases and the emission cone
+angle collapses to zero. The photons produced by this process have
+an inherent polarization perpendicular to the cone's surface at
+production.
+</p><p>
+The flux, spectrum, polarization and emission of Cerenkov
+radiation in the <code class="literal">AlongStepDoIt</code> method of the class
+<code class="literal">G4Cerenkov</code> follow well-known formulae, with two inherent
+computational limitations. The first arises from step-wise
+simulation, and the second comes from the requirement that
+numerical integration calculate the average number of Cerenkov
+photons per step. The process makes use of a
+<code class="literal">G4PhysicsTable</code> which contains incremental integrals to
+expedite this calculation.
+</p><p>
+The time and position of Cerenkov photon emission are calculated
+from quantities known at the beginning of a charged particle's
+step. The step is assumed to be rectilinear even in the presence of
+a magnetic field. The user may limit the step size by specifying a
+maximum (average) number of Cerenkov photons created during the
+step, using the <code class="literal">SetMaxNumPhotonsPerStep(const G4int
+NumPhotons)</code> method. The actual number generated will
+necessarily be different due to the Poissonian nature of the
+production. In the present implementation, the production density
+of photons is distributed evenly along the particle's track
+segment, even if the particle has slowed significantly during the
+step.
+</p><p>
+The frequently very large number of secondaries produced in a
+single step (about 300/cm in water), compelled the idea in
+GEANT3.21 of suspending the primary particle until all its progeny
+have been tracked. Despite the fact that GEANT4 employs dynamic
+memory allocation and thus does not suffer from the limitations of
+GEANT3.21 with its fixed large initial ZEBRA store, GEANT4
+nevertheless provides for an analogous functionality with the
+public method <code class="literal">SetTrackSecondariesFirst</code>. An example of the
+registration of the Cerenkov process is given in 
+<a href="ch05s02.html#programlist_PhysProc_6" title="Example 5.6. 
+Registration of the Cerenkov process in PhysicsList.
+">Example 5.6</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_6"></a><p class="title"><b>Example 5.6. 
+Registration of the Cerenkov process in <code class="literal">PhysicsList</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "G4Cerenkov.hh"
+
+void ExptPhysicsList::ConstructOp(){
+
+  G4Cerenkov*   theCerenkovProcess = new G4Cerenkov("Cerenkov");
+
+  G4int MaxNumPhotons = 300;
+
+  theCerenkovProcess-&gt;SetTrackSecondariesFirst(true);
+  theCerenkovProcess-&gt;SetMaxNumPhotonsPerStep(MaxNumPhotons);
+
+  theParticleIterator-&gt;reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+    G4String particleName = particle-&gt;GetParticleName();
+    if (theCerenkovProcess-&gt;IsApplicable(*particle)) {
+      pmanager-&gt;AddContinuousProcess(theCerenkovProcess);
+    }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Photo.Scinti"></a>5.2.5.2. 
+Generation of Photons in 
+<code class="literal">processes/electromagnetic/xrays</code> - Scintillation
+</h4></div></div></div><p>
+Every scintillating material has a characteristic light yield,
+<code class="literal">SCINTILLATIONYIELD</code>, and an intrinsic resolution,
+<code class="literal">RESOLUTIONSCALE</code>, which generally broadens the statistical
+distribution of generated photons. A wider intrinsic resolution is
+due to impurities which are typical for doped crystals like NaI(Tl)
+and CsI(Tl). On the other hand, the intrinsic resolution can also
+be narrower when the Fano factor plays a role. The actual number of
+emitted photons during a step fluctuates around the mean number of
+photons with a width given by
+<code class="literal">ResolutionScale*sqrt(MeanNumberOfPhotons)</code>. The average
+light yield, <code class="literal">MeanNumberOfPhotons</code>, has a linear dependence
+on the local energy deposition, but it may be different for minimum
+ionizing and non-minimum ionizing particles.
+</p><p>
+A scintillator is also characterized by its photon emission
+spectrum and by the exponential decay of its time spectrum. In
+GEANT4 the scintillator can have a fast and a slow component. The
+relative strength of the fast component as a fraction of total
+scintillation yield is given by the <code class="literal">YIELDRATIO</code>.
+Scintillation may be simulated by specifying these empirical
+parameters for each material. It is sufficient to specify in the
+user's <code class="literal">DetectorConstruction</code> class a relative spectral
+distribution as a function of photon energy for the scintillating
+material. An example of this is shown in 
+<a href="ch05s02.html#programlist_PhysProc_7" title="Example 5.7. 
+Specification of scintillation properties in
+DetectorConstruction.
+">Example 5.7</a>
+
+</p><div class="example"><a name="programlist_PhysProc_7"></a><p class="title"><b>Example 5.7. 
+Specification of scintillation properties in
+<code class="literal">DetectorConstruction</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+  const G4int NUMENTRIES = 9;
+  G4double Scnt_PP[NUMENTRIES] = { 6.6*eV, 6.7*eV, 6.8*eV, 6.9*eV,
+                                   7.0*eV, 7.1*eV, 7.2*eV, 7.3*eV, 7.4*eV };
+
+  G4double Scnt_FAST[NUMENTRIES] = { 0.000134, 0.004432, 0.053991, 0.241971, 
+                                     0.398942, 0.000134, 0.004432, 0.053991,
+                                     0.241971 };
+  G4double Scnt_SLOW[NUMENTRIES] = { 0.000010, 0.000020, 0.000030, 0.004000,
+                                     0.008000, 0.005000, 0.020000, 0.001000,
+                                     0.000010 };
+
+  G4Material* Scnt;
+  G4MaterialPropertiesTable* Scnt_MPT = new G4MaterialPropertiesTable();
+
+  Scnt_MPT-&gt;AddProperty("FASTCOMPONENT", Scnt_PP, Scnt_FAST, NUMENTRIES);
+  Scnt_MPT-&gt;AddProperty("SLOWCOMPONENT", Scnt_PP, Scnt_SLOW, NUMENTRIES);
+
+  Scnt_MPT-&gt;AddConstProperty("SCINTILLATIONYIELD", 5000./MeV);
+  Scnt_MPT-&gt;AddConstProperty("RESOLUTIONSCALE", 2.0);
+  Scnt_MPT-&gt;AddConstProperty("FASTTIMECONSTANT",  1.*ns);
+  Scnt_MPT-&gt;AddConstProperty("SLOWTIMECONSTANT", 10.*ns);
+  Scnt_MPT-&gt;AddConstProperty("YIELDRATIO", 0.8);
+
+  Scnt-&gt;SetMaterialPropertiesTable(Scnt_MPT);
+</pre></div></div><p><br class="example-break">
+</p><p>
+In cases where the scintillation yield of a scintillator depends
+on the particle type, different scintillation processes may be
+defined for them. How this yield scales to the one specified for
+the material is expressed with the
+<code class="literal">ScintillationYieldFactor</code> in the user's
+<code class="literal">PhysicsList</code> as shown in 
+<a href="ch05s02.html#programlist_PhysProc_8" title="Example 5.8. 
+Implementation of the scintillation process in
+PhysicsList.
+">Example 5.8</a>. 
+In those cases where the fast to slow excitation ratio changes with particle
+type, the method <code class="literal">SetScintillationExcitationRatio</code> can be
+called for each scintillation process (see the advanced
+underground_physics example). This overwrites the
+<code class="literal">YieldRatio</code> obtained from the
+<code class="literal">G4MaterialPropertiesTable</code>.
+
+</p><div class="example"><a name="programlist_PhysProc_8"></a><p class="title"><b>Example 5.8. 
+Implementation of the scintillation process in
+<code class="literal">PhysicsList</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+  G4Scintillation* theMuonScintProcess = new G4Scintillation("Scintillation");
+
+  theMuonScintProcess-&gt;SetTrackSecondariesFirst(true);
+  theMuonScintProcess-&gt;SetScintillationYieldFactor(0.8);
+
+  theParticleIterator-&gt;reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+    G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+    G4String particleName = particle-&gt;GetParticleName();
+    if (theMuonScintProcess-&gt;IsApplicable(*particle)) {
+       if (particleName == "mu+") {
+          pmanager-&gt;AddProcess(theMuonScintProcess);
+          pmanager-&gt;SetProcessOrderingToLast(theMuonScintProcess, idxAtRest);
+          pmanager-&gt;SetProcessOrderingToLast(theMuonScintProcess, idxPostStep);
+       }
+    }
+  }
+</pre></div></div><p><br class="example-break">
+</p><p>
+A Gaussian-distributed number of photons is generated according
+to the energy lost during the step. A resolution scale of 1.0
+produces a statistical fluctuation around the average yield set
+with <code class="literal">AddConstProperty("SCINTILLATIONYIELD")</code>, while values
+&gt; 1 broaden the fluctuation. A value of zero produces no
+fluctuation. Each photon's frequency is sampled from the empirical
+spectrum. The photons originate evenly along the track segment and
+are emitted uniformly into 4&#960; with a random linear polarization
+and at times characteristic for the scintillation component.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Photo.WaveShift"></a>5.2.5.3. 
+Generation of Photons in 
+<code class="literal">processes/optical</code> - Wavelength Shifting
+</h4></div></div></div><p>
+Wavelength Shifting (WLS) fibers are used in many high-energy
+particle physics experiments. They absorb light at one wavelength
+and re-emit light at a different wavelength and are used for
+several reasons. For one, they tend to decrease the self-absorption
+of the detector so that as much light reaches the PMTs as possible.
+WLS fibers are also used to match the emission spectrum of the
+detector with the input spectrum of the PMT.
+</p><p>
+A WLS material is characterized by its photon absorption and
+photon emission spectrum and by a possible time delay between the
+absorption and re-emission of the photon. Wavelength Shifting may
+be simulated by specifying these empirical parameters for each WLS
+material in the simulation. It is sufficient to specify in the
+user's <code class="literal">DetectorConstruction</code> class a relative spectral
+distribution as a function of photon energy for the WLS material.
+WLSABSLENGTH is the absorption length of the material as a function
+of the photon's momentum. WLSCOMPONENT is the relative emission
+spectrum of the material as a function of the photon's momentum,
+and WLSTIMECONSTANT accounts for any time delay which may occur
+between absorption and re-emission of the photon. An example is
+shown in <a href="ch05s02.html#programlist_PhysProc_9" title="Example 5.9. 
+Specification of WLS properties in DetectorConstruction.
+">Example 5.9</a>.
+
+</p><div class="example"><a name="programlist_PhysProc_9"></a><p class="title"><b>Example 5.9. 
+Specification of WLS properties in <code class="literal">DetectorConstruction</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+ const G4int nEntries = 9;
+
+ G4double PhotonEnergy[nEntries] = { 6.6*eV, 6.7*eV, 6.8*eV, 6.9*eV,
+                                   7.0*eV, 7.1*eV, 7.2*eV, 7.3*eV, 7.4*eV };
+
+ G4double RIndexFiber[nEntries] =
+           { 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60, 1.60 };
+ G4double AbsFiber[nEntries] =
+           {0.1*mm,0.2*mm,0.3*mm,0.4*cm,1.0*cm,10*cm,1.0*m,10.0*m,10.0*m};
+ G4double EmissionFiber[nEntries] =
+           {0.0, 0.0, 0.0, 0.1, 0.5, 1.0, 5.0, 10.0, 10.0 };
+
+  G4Material* WLSFiber;
+  G4MaterialPropertiesTable* MPTFiber = new G4MaterialPropertiesTable();
+
+  MPTFiber-&gt;AddProperty("RINDEX",PhotonEnergy,RIndexFiber,nEntries);
+  MPTFiber-&gt;AddProperty("WLSABSLENGTH",PhotonEnergy,AbsFiber,nEntries);
+  MPTFiber-&gt;AddProperty("WLSCOMPONENT",PhotonEnergy,EmissionFiber,nEntries);
+  MPTFiber-&gt;AddConstProperty("WLSTIMECONSTANT", 0.5*ns);
+
+  WLSFiber-&gt;SetMaterialPropertiesTable(MPTFiber);
+</pre></div></div><p><br class="example-break">
+</p><p>
+The process is defined in the PhysicsList in the usual way. The
+process class name is G4OpWLS. It should be instantiated with
+theWLSProcess = new G4OpWLS("OpWLS") and attached to the process
+manager of the optical photon as a DiscreteProcess. The way the
+WLSTIMECONSTANT is used depends on the time profile method chosen
+by the user. If in the PhysicsList
+theWLSProcess-&gt;UseTimeGenerator("exponential") option is set,
+the time delay between absorption and re-emission of the photon is
+sampled from an exponential distribution, with the decay term equal
+to WLSTIMECONSTANT. If, on the other hand,
+theWLSProcess-&gt;UseTimeGenerator("delta") is chosen, the time
+delay is a delta function and equal to WLSTIMECONSTANT. The default
+is "delta" in case the G4OpWLS::UseTimeGenerator(const G4String
+name) method is not used.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Photo.Track"></a>5.2.5.4. 
+Tracking of Photons in <code class="literal">processes/optical</code>
+</h4></div></div></div><h5><a name="id461706"></a>
+Absorption
+</h5><p>
+The implementation of optical photon bulk absorption,
+<code class="literal">G4OpAbsorption</code>, is trivial in that the process merely
+kills the particle. The procedure requires the user to fill the
+relevant <code class="literal">G4MaterialPropertiesTable</code> with empirical data for
+the absorption length, using <code class="literal">ABSLENGTH</code> as the property key
+in the public method <code class="literal">AddProperty</code>. The absorption length is
+the average distance traveled by a photon before being absorpted by
+the medium; i.e. it is the mean free path returned by the
+<code class="literal">GetMeanFreePath</code> method.
+</p><h5><a name="id461751"></a>
+Rayleigh Scattering
+</h5><p>
+The differential cross section in Rayleigh scattering,
+&#963;/&#969;, is proportional 
+to cos<sup>2</sup>(&#952;),
+where &#952; is the polar of the new polarization vector with
+respect to the old polarization vector. The <code class="literal">G4OpRayleigh</code>
+scattering process samples this angle accordingly and then
+calculates the scattered photon's new direction by requiring that
+it be perpendicular to the photon's new polarization in such a way
+that the final direction, initial and final polarizations are all
+in one plane. This process thus depends on the particle's
+polarization (spin). The photon's polarization is a data member of
+the <code class="literal">G4DynamicParticle</code> class.
+</p><p>
+A photon which is not assigned a polarization at production,
+either via the <code class="literal">SetPolarization</code> method of the
+<code class="literal">G4PrimaryParticle</code> class, or indirectly with the
+<code class="literal">SetParticlePolarization</code> method of the
+<code class="literal">G4ParticleGun</code> class, may not be Rayleigh scattered.
+Optical photons produced by the <code class="literal">G4Cerenkov</code> process have
+inherently a polarization perpendicular to the cone's surface at
+production. Scintillation photons have a random linear polarization
+perpendicular to their direction.
+</p><p>
+The process requires a <code class="literal">G4MaterialPropertiesTable</code> to be
+filled by the user with Rayleigh scattering length data. The
+Rayleigh scattering attenuation length is the average distance
+traveled by a photon before it is Rayleigh scattered in the medium
+and it is the distance returned by the <code class="literal">GetMeanFreePath</code>
+method. The <code class="literal">G4OpRayleigh</code> class provides a
+<code class="literal">RayleighAttenuationLengthGenerator</code> method which calculates
+the attenuation coefficient of a medium following the
+Einstein-Smoluchowski formula whose derivation requires the use of
+statistical mechanics, includes temperature, and depends on the
+isothermal compressibility of the medium. This generator is
+convenient when the Rayleigh attenuation length is not known from
+measurement but may be calculated from first principles using the
+above material constants. For a medium named <span class="emphasis"><em>Water</em></span> and no
+Rayleigh scattering attenutation length specified by the user, the
+program automatically calls the
+<code class="literal">RayleighAttenuationLengthGenerator</code>
+which calculates it for 10 degrees Celsius liquid water.
+</p><h5><a name="id461867"></a>
+Boundary Process
+</h5><p>
+Reference: E. Hecht and A. Zajac, Optics
+[<span class="citation">
+<a href="bi01.html#biblio.hecht1974">
+    Hecht1974
+  </a>
+</span>]
+</p><p>
+For the simple case of a perfectly smooth interface between two
+dielectric materials, all the user needs to provide are the
+refractive indices of the two materials stored in their respective
+<code class="literal">G4MaterialPropertiesTable</code>. In all other cases, the optical
+boundary process design relies on the concept of <span class="emphasis"><em>surfaces</em></span>.
+The information is split into two classes. One class in the
+material category keeps information about the physical properties
+of the surface itself, and a second class in the geometry category
+holds pointers to the relevant physical and logical volumes
+involved and has an association to the physical class. Surface
+objects of the second type are stored in a related table and can be
+retrieved by either specifying the two ordered pairs of physical
+volumes touching at the surface, or by the logical volume entirely
+surrounded by this surface. The former is called a <span class="emphasis"><em>border
+surface</em></span> while the latter is referred to as the <span class="emphasis"><em>skin
+surface</em></span>. This second type of surface is useful in situations
+where a volume is coded with a reflector and is placed into many
+different mother volumes. A limitation is that the skin surface can
+only have one and the same optical property for all of the enclosed
+volume's sides. The border surface is an ordered pair of physical
+volumes, so in principle, the user can choose different optical
+properties for photons arriving from the reverse side of the same
+interface. For the optical boundary process to use a border
+surface, the two volumes must have been positioned with
+<code class="literal">G4PVPlacement</code>. The ordered combination can exist at many
+places in the simulation. When the surface concept is not needed,
+and a perfectly smooth surface exists beteen two dielectic
+materials, the only relevant property is the index of refraction, a
+quantity stored with the material, and no restriction exists on how
+the volumes were positioned.
+</p><p>
+The physical surface object also specifies which model the
+boundary process should use to simulate interactions with that
+surface. In addition, the physical surface can have a material
+property table all its own. The usage of this table allows all
+specular constants to be wavelength dependent. In case the surface
+is painted or wrapped (but not a cladding), the table may include
+the thin layer's index of refraction. This allows the simulation of
+boundary effects at the intersection between the medium and the
+surface layer, as well as the Lambertian reflection at the far side
+of the thin layer. This occurs within the process itself and does
+not invoke the <code class="literal">G4Navigator</code>. Combinations of surface finish
+properties, such as <span class="emphasis"><em>polished</em></span> or 
+<span class="emphasis"><em>ground</em></span> and <span class="emphasis"><em>front
+painted</em></span> or <span class="emphasis"><em>back painted</em></span>, enumerate the different
+situations which can be simulated.
+</p><p>
+When a photon arrives at a medium boundary its behavior depends
+on the nature of the two materials that join at that boundary.
+Medium boundaries may be formed between two dielectric materials or
+a dielectric and a metal. In the case of two dielectric materials,
+the photon can undergo total internal reflection, refraction or
+reflection, depending on the photon's wavelength, angle of
+incidence, and the refractive indices on both sides of the
+boundary. Furthermore, reflection and transmission probabilites are
+sensitive to the state of linear polarization. In the case of an
+interface between a dielectric and a metal, the photon can be
+absorbed by the metal or reflected back into the dielectric. If the
+photon is absorbed it can be detected according to the
+photoelectron efficiency of the metal.
+</p><p>
+As expressed in Maxwell's equations, Fresnel reflection and
+refraction are intertwined through their relative probabilities of
+occurrence. Therefore neither of these processes, nor total
+internal reflection, are viewed as individual processes deserving
+separate class implementation. Nonetheless, an attempt was made to
+adhere to the abstraction of having independent processes by
+splitting the code into different methods where practicable.
+</p><p>
+One implementation of the <code class="literal">G4OpBoundaryProcess</code> class
+employs the 
+<a href="http://geant4.slac.stanford.edu/UsersWorkshop/G4Lectures/Peter/moisan.ps" target="_top">
+UNIFIED model</a>
+ [A. Levin and C. Moisan, A More Physical Approach
+to Model the Surface Treatment of Scintillation Counters and its
+Implementation into DETECT, TRIUMF Preprint TRI-PP-96-64, Oct.
+1996] of the DETECT program [G.F. Knoll, T.F. Knoll and T.M.
+Henderson, Light Collection Scintillation Detector Composites for
+Neutron Detection, IEEE Trans. Nucl. Sci., 35 (1988) 872.]. It
+applies to dielectric-dielectric interfaces and tries to provide a
+realistic simulation, which deals with all aspects of surface
+finish and reflector coating. The surface may be assumed as smooth
+and covered with a metallized coating representing a specular
+reflector with given reflection coefficient, or painted with a
+diffuse reflecting material where Lambertian reflection occurs. The
+surfaces may or may not be in optical contact with another
+component and most importantly, one may consider a surface to be
+made up of micro-facets with normal vectors that follow given
+distributions around the nominal normal for the volume at the
+impact point. For very rough surfaces, it is possible for the
+photon to inversely aim at the same surface again after reflection
+of refraction and so multiple interactions with the boundary are
+possible within the process itself and without the need for
+relocation by <code class="literal">G4Navigator</code>.
+</p><p>
+The UNIFIED model provides for a range of different reflection
+mechanisms. The specular lobe constant represents the reflection
+probability about the normal of a micro facet. The specular spike
+constant, in turn, illustrates the probability of reflection about
+the average surface normal. The diffuse lobe constant is for the
+probability of internal Lambertian reflection, and finally the
+back-scatter spike constant is for the case of several reflections
+within a deep groove with the ultimate result of exact
+back-scattering. The four probabilities must add up to one, with
+the diffuse lobe constant being implicit. The reader may consult
+the reference for a thorough description of the model.
+
+</p><div class="example"><a name="programlist_PhysProc_10"></a><p class="title"><b>Example 5.10. 
+Dielectric-dielectric surface properties 
+defined via the <span class="emphasis"><em>G4OpticalSurface</em></span>.
+</b></p><div class="example-contents"><pre class="programlisting">
+G4VPhysicalVolume* volume1;
+G4VPhysicalVolume* volume2;
+
+G4OpticalSurface* OpSurface = new G4OpticalSurface("name");
+
+G4LogicalBorderSurface* Surface = new
+  G4LogicalBorderSurface("name",volume1,volume2,OpSurface);
+
+G4double sigma_alpha = 0.1;
+
+OpSurface -&gt; SetType(dielectric_dielectric);
+OpSurface -&gt; SetModel(unified);
+OpSurface -&gt; SetFinish(groundbackpainted);
+OpSurface -&gt; SetSigmaAlpha(sigma_alpha);
+
+const G4int NUM = 2;
+
+G4double pp[NUM] = {2.038*eV, 4.144*eV};
+G4double specularlobe[NUM] = {0.3, 0.3};
+G4double specularspike[NUM] = {0.2, 0.2};
+G4double backscatter[NUM] = {0.1, 0.1};
+G4double rindex[NUM] = {1.35, 1.40};
+G4double reflectivity[NUM] = {0.3, 0.5};
+G4double efficiency[NUM] = {0.8, 0.1};
+
+G4MaterialPropertiesTable* SMPT = new G4MaterialPropertiesTable();
+
+SMPT -&gt; AddProperty("RINDEX",pp,rindex,NUM);
+SMPT -&gt; AddProperty("SPECULARLOBECONSTANT",pp,specularlobe,NUM);
+SMPT -&gt; AddProperty("SPECULARSPIKECONSTANT",pp,specularspike,NUM);
+SMPT -&gt; AddProperty("BACKSCATTERCONSTANT",pp,backscatter,NUM);
+SMPT -&gt; AddProperty("REFLECTIVITY",pp,reflectivity,NUM);
+SMPT -&gt; AddProperty("EFFICIENCY",pp,efficiency,NUM);
+
+OpSurface -&gt; SetMaterialPropertiesTable(SMPT);
+</pre></div></div><p><br class="example-break">
+</p><p>
+The original 
+<a href="http://wwwasdoc.web.cern.ch/wwwasdoc/geant_html3/node231.html" target="_top">
+GEANT3.21 implementation</a>  of this process is also available via
+the GLISUR methods flag. [GEANT Detector Description and Simulation
+Tool, Application Software Group, Computing and Networks Division,
+CERN, PHYS260-6 tp 260-7.].
+
+</p><div class="example"><a name="programlist_PhysProc_11"></a><p class="title"><b>Example 5.11. 
+Dielectric metal surface properties defined via the
+<span class="emphasis"><em>G4OpticalSurface</em></span>.
+</b></p><div class="example-contents"><pre class="programlisting">
+G4LogicalVolume* volume_log;
+
+G4OpticalSurface* OpSurface = new G4OpticalSurface("name");
+
+G4LogicalSkinSurface* Surface = new
+  G4LogicalSkinSurface("name",volume_log,OpSurface);
+
+OpSurface -&gt; SetType(dielectric_metal);
+OpSurface -&gt; SetFinish(ground);
+OpSurface -&gt; SetModel(glisur);
+
+G4double polish = 0.8;
+
+G4MaterialPropertiesTable *OpSurfaceProperty = new G4MaterialPropertiesTable();
+
+OpSurfaceProperty -&gt; AddProperty("REFLECTIVITY",pp,reflectivity,NUM);
+OpSurfaceProperty -&gt; AddProperty("EFFICIENCY",pp,efficiency,NUM);
+
+OpSurface -&gt; SetMaterialPropertiesTable(OpSurfaceProperty);
+</pre></div></div><p><br class="example-break">
+</p><p>
+The reflectivity off a metal surface can also be calculated by way of a complex 
+index of refraction. Instead of storing the REFLECTIVITY directly, the user 
+stores the real part (REALRINDEX) and the imaginary part (IMAGINARYRINDEX) as 
+a function of photon energy separately in the G4MaterialPropertyTable. Geant4 
+then 
+<a href="./AllResources/TrackingAndPhysics/physicsProcessOptical.src/GetReflectivity.pdf" target="_top">
+calculates the reflectivity 
+</a>
+depending on the incident angle, photon energy, degree of TE and TM
+polarization, and this complex refractive index.
+</p><p>
+The program defaults to the GLISUR model and <span class="emphasis"><em>polished</em></span>
+surface finish when no specific model and surface finish is
+specified by the user. In the case of a dielectric-metal interface,
+or when the GLISUR model is specified, the only surface finish
+options available are <span class="emphasis"><em>polished</em></span> or <span class="emphasis"><em>ground</em></span>. For
+dielectric-metal surfaces, the <code class="literal">G4OpBoundaryProcess</code> also
+defaults to unit reflectivity and zero detection efficiency. In
+cases where the user specifies the UNIFIED model, but does not
+otherwise specify the model reflection probability constants, the
+default becomes Lambertian reflection.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.Param"></a>5.2.6. 
+Parameterization
+</h3></div></div></div><p>
+In this section we describe how to use the parameterization or
+"fast simulation" facilities of GEANT4. Examples are provided in
+the <span class="bold"><strong>examples/novice/N05 directory</strong></span>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.Gene"></a>5.2.6.1. 
+Generalities:
+</h4></div></div></div><p>
+The Geant4 parameterization facilities allow you to shortcut the
+detailed tracking in a given volume and for given particle types in
+order for you to provide your own implementation of the physics and
+of the detector response.
+</p><p>
+Parameterisations are bound to a 
+<span class="bold"><strong><code class="literal">G4Region</code></strong></span>
+object, which, in the case of fast simulation is also called an
+<span class="bold"><strong>envelope</strong></span>. Prior to release 8.0, 
+parameterisations were bound
+to a <code class="literal">G4LogicalVolume</code>, the root of a volume hierarchy.
+These root volumes are now attributes of the <code class="literal">G4Region</code>.
+Envelopes often correspond to the volumes of sub-detectors:
+electromagnetic calorimeters, tracking chambers, etc. With GEANT4
+it is also possible to define envelopes by overlaying a parallel or
+"ghost" geometry as discussed in <a href="ch05s02.html#sect.PhysProc.Param.Ghost" title="5.2.6.7. 
+Parameterisation Using Ghost Geometries
+">Section 5.2.6.7</a>.
+</p><p>
+In GEANT4, parameterisations have three main features. You must
+specify:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    the particle types for which your parameterisation is valid;
+  </p></li><li><p>
+    the dynamics conditions for which your parameterisation is
+    valid and must be triggered;
+  </p></li><li><p>
+    the parameterisation itself: where the primary will be killed
+    or moved, whether or not to create it or create secondaries, etc.,
+    and where the detector response will be computed.
+  </p></li></ul></div><p>
+</p><p>
+GEANT4 will message your parameterisation code for each step
+starting in any root G4LogicalVolume (including daughters.
+sub-daughters, etc. of this volume) of the <code class="literal">G4Region</code>.
+It will proceed by first asking the available parameterisations for
+the current particle type if one of them (and only one) wants to
+issue a trigger. If so it will invoke its parameterisation. In this
+case, the tracking 
+<span class="bold"><strong><span class="emphasis"><em>will not apply physics</em></span></strong></span> 
+to the particle in the step. Instead, the UserSteppingAction will be
+invoked.
+</p><p>
+Parameterisations look like a "user stepping action" but are more
+advanced because:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    parameterisation code is messaged only in the
+    <code class="literal">G4Region</code> to which it is bound;
+  </p></li><li><p>
+    parameterisation code is messaged anywhere in the
+    <code class="literal">G4Region</code>, that is, any volume in which the track is
+    located;
+  </p></li><li><p>
+    GEANT4 will provide information to your parameterisation code
+    about the current root volume of the <code class="literal">G4Region</code> 
+    in which the track is travelling.
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.OvComp"></a>5.2.6.2. 
+Overview of Parameterisation Components
+</h4></div></div></div><p>
+The GEANT4 components which allow the implementation and control
+of parameterisations are:
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      <code class="literal"><span class="bold"><strong>G4VFastSimulationModel</strong></span></code> 
+    </span></dt><dd><p>
+      This is the abstract class for the implementation of parameterisations. 
+      You must inherit from it to implement your concrete parameterisation model.
+    </p></dd><dt><span class="term">
+      <code class="literal"><span class="bold"><strong>G4FastSimulationManager</strong></span></code>
+    </span></dt><dd><p>
+      The G4VFastSimulationModel objects are attached to the
+      <code class="literal">G4Region</code> through a G4FastSimulationManager. 
+      This object will manage the list of models and will message them at 
+      tracking time.
+    </p></dd><dt><span class="term">
+      <code class="literal"><span class="bold"><strong>G4Region/Envelope</strong></span></code>
+    </span></dt><dd><p>
+      As mentioned before, an envelope in GEANT4 is a 
+      <code class="literal"><span class="bold"><strong>G4Region</strong></span></code>. 
+      The parameterisation is bound to the <code class="literal">G4Region</code> by 
+      setting a <code class="literal">G4FastSimulationManager</code> pointer to it.
+      </p><p>
+      The figure below shows how the <code class="literal">G4VFastSimulationModel</code>
+      and <code class="literal">G4FastSimulationManager</code> objects are bound to the
+      <code class="literal">G4Region</code>. Then for all root G4LogicalVolume's held by
+      the G4Region, the fast simulation code is active.
+
+      </p><div class="mediaobject" align="center"><img src="./AllResources/TrackingAndPhysics/physicsProcessPARAM.src/ComponentsWithRegion.gif" align="middle"><div class="caption"></div></div><p>
+
+    </p></dd><dt><span class="term">
+      <code class="literal"><span class="bold"><strong>G4FastSimulationManagerProcess</strong></span></code>
+    </span></dt><dd><p>
+      This is a <code class="literal">G4VProcess</code>. It provides the interface 
+      between the tracking and the parameterisation. It must be set in the 
+      process list of the particles you want to parameterise.
+    </p></dd><dt><span class="term">
+      <code class="literal"><span class="bold"><strong>G4GlobalFastSimulationManager</strong></span></code>
+    </span></dt><dd><p>
+      This a singleton class which provides the management of the
+      <code class="literal">G4FastSimulationManager</code> objects and some ghost
+      facilities.
+    </p></dd></dl></div><p>    
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.FastSimModel"></a>5.2.6.3. 
+The <code class="literal">G4VFastSimulationModel</code> Abstract Class
+</h4></div></div></div><h5><a name="id462556"></a>
+Constructors:
+</h5><p>
+The <code class="literal">G4VFastSimulationModel</code> class has two constructors.
+The second one allows you to get started quickly:
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      <span class="bold"><strong><code class="literal">G4VFastSimulationModel(
+       const G4String&amp; aName)</code></strong></span>:
+    </span></dt><dd><p>
+      Here <code class="literal">aName</code> identifies the parameterisation model.
+    </p></dd><dt><span class="term">
+      <span class="bold"><strong><code class="literal">G4VFastSimulationModel(const G4String&amp; 
+       aName, G4Region*, G4bool IsUnique=false):</code></strong></span>
+    </span></dt><dd><p>
+      In addition to the model name, this constructor accepts a G4Region pointer. 
+      The needed G4FastSimulationManager object is constructed if necessary,
+      passing to it the G4Region pointer and the boolean value. If it
+      already exists, the model is simply added to this manager. Note
+      that the <span class="emphasis"><em>G4VFastSimulationModel object will not keep track of
+      the G4Region passed in the constructor</em></span>.
+      The boolean argument is there for optimization purposes: if you
+      know that the G4Region has a unique root G4LogicalVolume, uniquely
+      placed, you can set the boolean value to "true".
+    </p></dd></dl></div><p>
+</p><h5><a name="id462636"></a>
+Virtual methods:
+</h5><p>
+The G4VFastSimulationModel has three pure virtual methods which
+must be overriden in your concrete class:
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      <span class="bold"><strong><code class="literal">G4VFastSimulationModel(
+      <span class="emphasis"><em>const G4String&amp; aName</em></span>):</code></strong></span>
+    </span></dt><dd><p>
+      Here aName identifies the parameterisation model.
+    </p></dd><dt><span class="term">
+      <span class="bold"><strong><code class="literal">G4bool ModelTrigger(
+      <span class="emphasis"><em>const G4FastTrack&amp;</em></span>):</code></strong></span>
+    </span></dt><dd><p>
+      You must return "true" when the dynamic conditions to trigger your 
+      parameterisation are fulfilled.
+      G4FastTrack provides access to the current G4Track, gives simple
+      access to the current root G4LogicalVolume related features (its
+      G4VSolid, and G4AffineTransform references between the global and
+      the root G4LogicalVolume local coordinates systems) and simple
+      access to the position and momentum expressed in the root
+      G4LogicalVolume coordinate system. Using these quantities and the
+      G4VSolid methods, you can for example easily check how far you are
+      from the root G4LogicalVolume boundary.
+    </p></dd><dt><span class="term">
+      <span class="bold"><strong><code class="literal">G4bool IsApplicable(
+      <span class="emphasis"><em>const G4ParticleDefinition&amp;</em></span>):</code></strong></span>
+    </span></dt><dd><p>
+      In your implementation, you must return "true" when your model is 
+      applicable to the G4ParticleDefinition passed to this method. The
+      G4ParticleDefinition provides all intrinsic particle information
+      (mass, charge, spin, name ...).
+      </p><p>
+      If you want to implement a model which is valid only for certain
+      particle types, it is recommended for efficiency that you use the
+      static pointer of the corresponding particle classes.
+      </p><p>
+      As an example, in a model valid for <span class="emphasis"><em>gamma</em></span>s only, 
+      the IsApplicable() method should take the form:
+
+      </p><div class="informalexample"><pre class="programlisting">
+      #include "G4Gamma.hh"
+
+      G4bool MyGammaModel::IsApplicable(const G4ParticleDefinition&amp; partDef)
+      {
+        return &amp;partDef == G4Gamma::GammaDefinition();
+      }
+      </pre></div><p>
+    </p></dd><dt><span class="term">
+      <span class="bold"><strong><code class="literal">G4bool ModelTrigger(
+      <span class="emphasis"><em>const G4FastTrack&amp;</em></span>):</code></strong></span> 
+    </span></dt><dd><p>
+      You must return "true" when the dynamic conditions to trigger your 
+      parameterisation are fulfilled.
+      The G4FastTrack provides access to the current G4Track, gives
+      simple access to envelope related features (G4LogicalVolume,
+      G4VSolid, and G4AffineTransform references between the global and
+      the envelope local coordinates systems) and simple access to the
+      position and momentum expressed in the envelope coordinate system.
+      Using these quantities and the G4VSolid methods, you can for
+      example easily check how far you are from the envelope boundary.
+    </p></dd><dt><span class="term">
+      <span class="bold"><strong><code class="literal">void DoIt(
+      <span class="emphasis"><em>const G4FastTrack&amp;, G4FastStep&amp;</em></span>):</code></strong></span>
+    </span></dt><dd><p>
+      The details of your parameterisation will be implemented in this method. 
+      The G4FastTrack reference provides the input information, and the final
+      state of the particles after parameterisation must be returned
+      through the G4FastStep reference. Tracking for the final state
+      particles is requested after your parameterisation has been invoked.
+    </p></dd></dl></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.FastSimMan"></a>5.2.6.4. 
+The <code class="literal">G4FastSimulationManager</code> Class:
+</h4></div></div></div><p>
+G4FastSimulationManager functionnalities regarding the use of ghost
+volumes are explained in <a href="ch05s02.html#sect.PhysProc.Param.Ghost" title="5.2.6.7. 
+Parameterisation Using Ghost Geometries
+">Section 5.2.6.7</a>.
+</p><h5><a name="id462839"></a>
+Constructor:
+</h5><p>
+</p><div class="variablelist"><dl><dt><span class="term">
+      <code class="literal"><span class="bold"><strong>G4FastSimulationManager(
+      <span class="emphasis"><em>G4Region *anEnvelope, G4bool IsUnique=false</em></span>):
+      </strong></span></code> 
+    </span></dt><dd><p>
+      This is the only constructor. You specify the G4Region by providing 
+      its pointer. The G4FastSimulationManager object will bind itself 
+      to this G4Region. If you know that this G4Region has a single root 
+      G4LogicalVolume, placed only once, you can set the IsUnique boolean 
+      to "true" to allow some optimization.
+      </p><p>
+      Note that if you choose to use the G4VFastSimulationModel(const
+      G4String&amp;, G4Region*, G4bool) constructor for your model, the
+      G4FastSimulationManager will be constructed using the given
+      G4Region* and G4bool values of the model constructor.
+    </p></dd></dl></div><p>
+</p><h5><a name="id462890"></a>
+G4VFastSimulationModel object management:
+</h5><p>
+The following two methods provide the usual management
+functions.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal"><span class="bold"><strong>void AddFastSimulationModel(
+    G4VFastSimulationModel*)</strong></span></code>
+  </p></li><li><p>
+    <code class="literal"><span class="bold"><strong>RemoveFastSimulationModel(
+    G4VFastSimulationModel*)</strong></span></code>
+  </p></li></ul></div><p>
+</p><h5><a name="id462935"></a>
+Interface with the G4FastSimulationManagerProcess:
+</h5><p>
+This is described in the User's Guide for Toolkit Developers
+(
+
+section 3.9.6
+
+)
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.FastSimManProc"></a>5.2.6.5. 
+The <code class="literal">G4FastSimulationManagerProcess</code> Class
+</h4></div></div></div><p>
+This G4VProcess serves as an interface between the tracking and the
+parameterisation. At tracking time, it collaborates with the
+G4FastSimulationManager of the current volume, if any, to allow the
+models to trigger. If no manager exists or if no model issues a
+trigger, the tracking goes on normally.
+</p><p>
+<span class="emphasis"><em>In the present implementation, you must set this process in
+the G4ProcessManager of the particles you parameterise to enable
+your parameterisation.</em></span>
+</p><p>
+The processes ordering is:
+
+</p><div class="informalexample"><pre class="programlisting">
+    [n-3] ...
+    [n-2] Multiple Scattering
+    [n-1] G4FastSimulationManagerProcess
+    [ n ] G4Transportation
+</pre></div><p>
+</p><p>
+This ordering is important if you use ghost geometries, since the
+G4FastSimulationManagerProcess will provide navigation in the ghost
+world to limit the step on ghost boundaries.
+</p><p>
+The G4FastSimulationManager must be added to the process list of a
+particle as a continuous and discrete process if you use ghost
+geometries for this particle. You can add it as a discrete process
+if you don't use ghosts.
+</p><p>
+The following code registers the G4FastSimulationManagerProcess
+with all the particles as a discrete and continuous process:
+
+</p><div class="informalexample"><pre class="programlisting">
+void MyPhysicsList::addParameterisation()
+{
+  G4FastSimulationManagerProcess*
+    theFastSimulationManagerProcess = new G4FastSimulationManagerProcess();
+  theParticleIterator-&gt;reset();
+  while( (*theParticleIterator)() )
+    {
+      G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+      G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+      pmanager-&gt;AddProcess(theFastSimulationManagerProcess, -1, 0, 0);
+    }
+}
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.FastSimManSing"></a>5.2.6.6. 
+The <code class="literal">G4GlobalFastSimulationManager</code> Singleton Class
+</h4></div></div></div><p>
+This class is a singleton which can be accessed as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+#include "G4GlobalFastSimulationManager.hh"
+...
+...
+G4GlobalFastSimulationManager* globalFSM;
+globalFSM = G4GlobalFastSimulationManager::getGlobalFastSimulationManager();
+...
+...
+</pre></div><p>
+</p><p>
+Presently, you will mainly need to use the
+GlobalFastSimulationManager if you use ghost geometries.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.Ghost"></a>5.2.6.7. 
+Parameterisation Using Ghost Geometries
+</h4></div></div></div><p>
+In some cases, volumes of the tracking geometry do not allow
+envelopes to be defined. This may be the case with a geometry
+coming from a CAD system. Since such a geometry is flat, a parallel
+geometry must be used to define the envelopes.
+</p><p>
+Another interesting case involves defining an envelope which groups
+the electromagnetic and hadronic calorimeters of a detector into
+one volume. This may be useful when parameterizing the interaction
+of charged pions. You will very likely not want electrons to see
+this envelope, which means that ghost geometries have to be
+organized by particle flavours.
+</p><p>
+Using ghost geometries implies some more overhead in the
+parameterisation mechanism for the particles sensitive to ghosts,
+since navigation is provided in the ghost geometry by the
+G4FastSimulationManagerProcess. Usually, however, only a few
+volumes will be placed in this ghost world, so that the geometry
+computations will remain rather cheap.
+</p><p>
+In the existing implementation (temporary implementation with
+G4Region but before parallel geometry implementation), you may only
+consider ghost G4Regions with just one root G4LogicalVolume. The
+G4GlobalFastSimulationManager provides the construction of the
+ghost geometry by making first an empty "clone" of the world for
+tracking provided by the construct() method of your
+G4VUserDetectorConstruction concrete class. You provide the
+placement of the G4Region root G4LogicalVolume relative to the
+ghost world coordinates in the G4FastSimulationManager objects. A
+ghost G4Region is recognized by the fact that its associated
+G4FastSimulationManager retains a non-empty list of placements.
+</p><p>
+The G4GlobalFastSimulationManager will then use both those
+placements and the IsApplicable() methods of the models attached to
+the G4FastSimulationManager objects to build the flavour-dependant
+ghost geometries.
+</p><p>
+Then at the beginning of the tracking of a particle, the
+appropriate ghost world, if any, will be selected.
+</p><p>
+The steps required to build one ghost G4Region are:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    built the ghost G4Region : myGhostRegion;
+  </p></li><li><p>
+    build the root G4LogicalVolume: myGhostLogical, set it to
+    myGhostRegion;
+  </p></li><li><p>
+    build a G4FastSimulationManager object, myGhostFSManager,
+    giving myGhostRegion as argument of the constructor;
+  </p></li><li><p>
+    </p><p>
+    give to the G4FastSimulationManager the placement of the
+    myGhostLogical, by invoking for the G4FastSimulationManager method:
+    </p><div class="informalexample"><pre class="programlisting">
+     AddGhostPlacement(G4RotationMatrix*, const G4ThreeVector&amp;);
+    </pre></div><p>
+    or:
+    </p><div class="informalexample"><pre class="programlisting">
+     AddGhostPlacement(G4Transform3D*);
+    </pre></div><p>
+
+    where the rotation matrix and translation vector of the 3-D
+    transformation describe the placement relative to the ghost world
+    coordinates.
+    </p><p>
+  </p></li><li><p>
+    build your G4VFastSimulationModel objects and add them to the
+    myGhostFSManager.
+    <span class="emphasis"><em>The IsApplicable() methods of your models will be used by the
+    G4GlobalFastSimulationManager to build the ghost geometries
+    corresponding to a given particle type.</em></span>
+  </p></li><li><p>
+    </p><p>
+    Invoke the G4GlobalFastSimulationManager method:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     G4GlobalFastSimulationManager::getGlobalFastSimulationManager()-&gt;
+
+          CloseFastSimulation();
+    </pre></div><p>
+    </p><p>
+  </p></li></ol></div><p>
+</p><p>
+This last call will cause the G4GlobalFastSimulationManager to
+build the flavour-dependent ghost geometries. This call must be
+done before the RunManager closes the geometry. (It is foreseen
+that the run manager in the future will invoke the
+CloseFastSimulation() to synchronize properly with the closing of
+the geometry).
+</p><p>
+Visualization facilities are provided for ghosts geometries. After
+the CloseFastSimulation() invocation, it is possible to ask for the
+drawing of ghosts in an interactive session. The basic commands
+are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    </p><p>
+    /vis/draw/Ghosts particle_name
+    </p><p>
+    </p><p>
+    which makes the drawing of the ghost geometry associated with the
+    particle specified by name in the command line.
+    </p><p>
+  </p></li><li><p>
+    /vis/draw/Ghosts
+    </p><p>
+    which draws all the ghost geometries.
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.GFlash"></a>5.2.6.8. 
+Gflash Parameterization
+</h4></div></div></div><p>
+This section describes how to use the Gflash library. Gflash is a
+concrete parameterization which is based on the equations and
+parameters of the original Gflash package from H1(hep-ex/0001020,
+Grindhammer &amp; Peters, see physics manual) and uses the "fast
+simulation" facilities of GEANT4 described above. Briefly, whenever
+a e-/e+ particle enters the calorimeter, it is parameterized if it
+has a minimum energy and the shower is expected to be contained in
+the calorimeter (or " parameterization envelope"). If this is
+fulfilled the particle is killed, as well as all secondaries, and
+the energy is deposited according to the Gflash equations. An
+example, provided in
+<span class="bold"><strong>examples/extended/parametrisation/gflash/</strong></span>, 
+shows how to interface Gflash to your application. The simulation time is
+measured, so the user can immediately see the speed increase
+resulting from the use of Gflash.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.PhysProc.Param.UsingGFlash"></a>5.2.6.9. 
+Using the Gflash Parameterisation
+</h4></div></div></div><p>
+To use Gflash "out of the box" the following steps are necessary:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The user must add the fast simulation process to his process
+    manager:
+
+    </p><div class="informalexample"><pre class="programlisting">
+  void MyPhysicsList::addParameterisation()
+  {
+    G4FastSimulationManagerProcess*
+      theFastSimulationManagerProcess = new G4FastSimulationManagerProcess();
+    theParticleIterator-&gt;reset();
+    while( (*theParticleIterator)() )
+      {
+        G4ParticleDefinition* particle = theParticleIterator-&gt;value();
+        G4ProcessManager* pmanager = particle-&gt;GetProcessManager();
+        pmanager-&gt;AddProcess(theFastSimulationManagerProcess, -1, 0, 0);
+      }
+  }
+    </pre></div><p>
+  </p></li><li><p>
+    </p><p>
+    The envelope in which the parameterization should be performed
+    must be specified (below: G4Region m_calo_region) and the
+    GFlashShowerModel must be assigned to this region. Furthermore, the
+    classes GFlashParticleBounds (which provides thresholds for the
+    parameterization like minimal energy etc.), GflashHitMaker(a helper
+    class to generate hits in the sensitive detector) and
+    GFlashHomoShowerParamterisation (which does the computations) must
+    be constructed (by the user at the moment) and assigned to the
+    GFlashShowerModel. Please note that at the moment only homogeneous
+    calorimeters are supported.
+    </p><p>
+    </p><p>
+    </p><div class="informalexample"><pre class="programlisting">
+  m_theFastShowerModel = new GFlashShowerModel("fastShowerModel",m_calo_region);
+  m_theParametrisation = new GFlashHomoShowerParamterisation(matManager-&gt;getMaterial(mat));
+  m_theParticleBounds  = new GFlashParticleBounds();
+  m_theHMaker          = new GFlashHitMaker();
+  m_theFastShowerModel-&gt;SetParametrisation(*m_theParametrisation);
+  m_theFastShowerModel-&gt;SetParticleBounds(*m_theParticleBounds) ;
+  m_theFastShowerModel-&gt;SetHitMaker(*m_theHMaker);
+    </pre></div><p>
+    </p><p>
+    </p><p>
+    The user must also set the material of the calorimeter, since the
+    computation depends on the material.
+    </p><p>
+  </p></li><li><p>
+    </p><p>
+    It is mandatory to use G4VGFlashSensitiveDetector as
+    (additional) base class for the sensitive detector.
+    </p><p>
+    </p><p>
+    </p><div class="informalexample"><pre class="programlisting">
+  class ExGflashSensitiveDetector: public G4VSensitiveDetector ,public G4VGFlashSensitiveDetector 
+    </pre></div><p>
+    </p><p>
+    </p><p>
+    Here it is necessary to implement a separate interface, where the
+    GFlash spots are processed.
+    </p><p>
+    </p><p>
+    </p><div class="informalexample"><pre class="programlisting">
+  (ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist))
+    </pre></div><p>
+    </p><p>
+    </p><p>
+    A separate interface is used, because the Gflash spots naturally
+    contain less information than the full simulation.
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+Since the parameters in the Gflash package are taken from fits to
+full simulations with Geant3, some retuning might be necessary for
+good agreement with Geant4 showers. For experiment-specific
+geometries some retuning might be necessary anyway. The tuning is
+quite complicated since there are many parameters (some correlated)
+and cannot be described here (see again hep-ex/0001020). For brave
+users the Gflash framework already forsees the possibility of
+passing a class with the (users)
+parameters,<span class="bold"><strong>GVFlashHomoShowerTuning</strong></span>, 
+to the GFlashHomoShowerParamterisation constructor. 
+The default parameters are the original Gflash parameters:
+
+</p><div class="informalexample"><pre class="programlisting">
+GFlashHomoShowerParameterisation(G4Material * aMat, GVFlashHomoShowerTuning * aPar = 0);
+</pre></div><p>
+</p><p>
+Now there is also a preliminary implemenation of a parameterization
+for sampling calorimeters.
+</p><p>
+The user must specify the active and passive material, as well as
+the thickness of the active and passive layer.
+</p><p>
+The sampling structure of the calorimeter is taken into account by
+using an "effective medium" to compute the shower shape.
+</p><p>
+All material properties needed are calculated automatically. If
+tuning is required,  the user can pass his own parameter set in
+the class 
+<span class="bold"><strong>GFlashSamplingShowerTuning</strong></span>. 
+Here the user can also set his calorimeter resolution.
+</p><p>
+All in all the constructor looks the following:
+
+</p><div class="informalexample"><pre class="programlisting">
+GFlashSamplingShowerParamterisation(G4Material * Mat1, G4Material * Mat2,G4double d1,G4double d2,
+GVFlashSamplingShowerTuning * aPar = 0);
+</pre></div><p>
+</p><p>
+An implementation of some tools that should help the user to tune
+the parameterization is forseen.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysProc.Trans"></a>5.2.7. 
+Transportation Process
+</h3></div></div></div><p>
+To be delivered by J. Apostolakis (<code class="email">&lt;<a href="mailto:John.Apostolakis@cern.ch">John.Apostolakis@cern.ch</a>&gt;</code>).
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. 
+Tracking and Physics
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.3. 
+Particles
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s03.html	(revision 901)
@@ -0,0 +1,485 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.3.  Particles</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s02.html" title="5.2.  Physics Processes"><link rel="next" href="ch05s04.html" title="5.4.  Production Threshold versus Tracking Cut"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.3. 
+Particles
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Parti"></a>5.3. 
+Particles
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Basic"></a>5.3.1. 
+Basic concepts
+</h3></div></div></div><p>
+There are three levels of classes to describe particles in Geant4.
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      <span class="emphasis"><em>G4ParticleDefinition</em></span>
+    </span></dt><dd>
+      defines a particle
+    </dd><dt><span class="term">
+      <span class="emphasis"><em>G4DynamicParticle</em></span>
+    </span></dt><dd>
+      describes a particle interacting with materials
+    </dd><dt><span class="term">
+      <span class="emphasis"><em>G4Track</em></span>
+    </span></dt><dd>
+      describes a particle traveling in space and time
+    </dd></dl></div><p>
+</p><p>
+<span class="emphasis"><em>G4ParticleDefinition</em></span> aggregates information to
+characterize a particle's properties, such as name, mass, spin,
+life time, and decay modes. <span class="emphasis"><em>G4DynamicParticle</em></span> aggregates
+information to describe the dynamics of particles, such as energy,
+momentum, polarization, and proper time, as well as ``particle
+definition'' information. <span class="emphasis"><em>G4Track</em></span> includes all information
+necessary for tracking in a detector simulation, such as time,
+position, and step, as well as ``dynamic particle''
+information.
+</p><p>
+<span class="emphasis"><em>G4Track</em></span> has all the information necessary for tracking in
+Geant4. It includes position, time, and step, as well as
+kinematics. Details of <span class="emphasis"><em>G4Track</em></span> will be described in 
+<a href="ch05.html#sect.Track" title="5.1. 
+Tracking
+">Section 5.1</a>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Def"></a>5.3.2. 
+Definition of a particle
+</h3></div></div></div><p>
+There are a large number of elementary particles and nuclei. Geant4
+provides the <span class="emphasis"><em>G4ParticleDefinition</em></span> class to represent
+particles, and various particles, such as the electron, proton, and
+gamma have their own classes derived from
+<span class="emphasis"><em>G4ParticleDefinition</em></span>.
+</p><p>
+We do not need to make a class in Geant4 for every kind of
+particle in the world. There are more than 100 types of particles
+defined in Geant4 by default. Which particles should be included,
+and how to implement them, is determined according to the following
+criteria. (Of course, the user can define any particles he wants.
+Please see the <span class="bold"><strong>User's Guide: For ToolKit
+Developers</strong></span>).
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.PartiList"></a>5.3.2.1. 
+Particle List in Geant4
+</h4></div></div></div><p>
+This list includes all particles in Geant4 and you can see
+properties of particles such as
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    PDG encoding
+  </p></li><li><p>
+    mass and width
+  </p></li><li><p>
+    electric charge
+  </p></li><li><p>
+    spin, isospin and parity
+  </p></li><li><p>
+    magnetic moment
+  </p></li><li><p>
+    quark contents
+  </p></li><li><p>
+    life time and decay modes
+  </p></li></ul></div><p>
+</p><p>
+Here is a list of particles in Geant4. This list is generated
+automatically by using Geant4 functionality, so listed values are
+same as those in your Geant4 application (as far as you do not
+change source codes).
+</p><h5><a name="id470604"></a>
+Categories
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="./AllResources/TrackingAndPhysics/particleList.src/quarks/index.html" target="_top">
+    gluon / quarks / di-quarks
+    </a>
+  </p></li><li><p>
+    <a href="./AllResources/TrackingAndPhysics/particleList.src/leptons/index.html" target="_top">
+    leptons
+    </a>
+  </p></li><li><p>
+    <a href="./AllResources/TrackingAndPhysics/particleList.src/mesons/index.html" target="_top">
+    mesons
+    </a>
+  </p></li><li><p>
+    <a href="./AllResources/TrackingAndPhysics/particleList.src/baryons/index.html" target="_top">
+    baryons
+    </a>
+  </p></li><li><p>
+    <a href="./AllResources/TrackingAndPhysics/particleList.src/ions/index.html" target="_top">
+    ions
+    </a>
+  </p></li><li><p>
+    <a href="./AllResources/TrackingAndPhysics/particleList.src/others/index.html" target="_top">
+    others
+    </a>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.Classif"></a>5.3.2.2. 
+Classification of particles
+</h4></div></div></div><p>
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    </p><p>
+    elementary particles which should be tracked in Geant4 volumes
+    </p><p>
+    </p><p>
+    All particles that can fly a finite length and interact with
+    materials in detectors are included in this category. In addition,
+    some particles with a very short lifetime are included 
+    for user's convenience.
+
+    </p><div class="orderedlist"><ol type="a" compact><li><p>
+        stable particles
+        </p><p>
+        Stable means that the particle can not decay, or has a very small
+        possibility to decay in detectors, e.g., gamma, electron, proton,
+        and neutron.
+        </p><p>
+      </p></li><li><p>
+        long life (&gt;10<sup>-14</sup>sec) particles
+        </p><p>
+        Particles which may travel a finite length, e.g., muon, charged
+        pions.
+        </p><p>
+      </p></li><li><p>
+        short life particles that decay immediately in Geant4
+        </p><p>
+        For example, pi<sup>0</sup>, eta
+        </p><p>
+      </p></li><li><p>
+        K<sup>0</sup> system
+        </p><p>
+        K<sup>0</sup> "decays" immediately into 
+        K<sup>0</sup><sub>S</sub>
+        or K<sup>0</sup><sub>L</sub>, and then
+        K<sup>0</sup><sub>S</sub>/
+        K<sup>0</sup><sub>L</sub> decays
+        according to its life time and decay modes.
+        </p><p>
+      </p></li><li><p>
+        optical photon
+        </p><p>
+        Gamma and optical photon are distinguished in the simulation
+        view, though both are the same particle (photons with different
+        energies). For example, optical photon is used for Cerenkov light
+        and scintillation light.
+        </p><p>
+      </p></li><li><p>
+        geantino/charged geantino
+        </p><p>
+        Geantino and charged geantino are virtual particles for
+        simulation which do not interact with materials and undertake
+        transportation processes only.
+        </p><p>
+      </p></li></ol></div><p>
+    </p><p>
+  </p></li><li><p>
+    nuclei
+    </p><p>
+    Any kinds of nucleus can be used in Geant4, such as alpha(He-4),
+    uranium-238 and excited states of carbon-14. In addition, 
+    Geant4 provides hyper-nuclei. Nuclei in Geant4 are
+    divided into two groups from the viewpoint of implementation.
+    </p><div class="orderedlist"><ol type="a" compact><li><p>
+        light nuclei
+        </p><p>
+        Light nuclei frequently used in simulation, e.g., alpha, deuteron,
+        He3, triton.
+        </p><p>
+      </p></li><li><p>
+        heavy nuclei (including hyper-nuclei)
+        </p><p>
+        Nuclei other than those defined in the previous category.
+        </p><p>
+      </p></li></ol></div><p>
+
+    Note that G4ParticleDefinition represents nucleus state and
+    G4DynamicParticle represents atomic state with some nucleus. Both
+    alpha particle with charge of +2e and helium atom with no charge
+    aggregates the same "particle definition" of G4Alpha, but different
+    G4DynamicParticle objects should be assigned to them. (Details can
+    be found below)
+    </p><p>
+  </p></li><li><p>
+    short-lived particles
+    </p><p>
+    Particles with very short life time decay immediately and are never
+    tracked in the detector geometry. These particles are usually used
+    only inside physics processes to implement some models of
+    interactions. <span class="emphasis"><em>G4VShortLivedParticle</em></span> is provided as 
+    the base class for these particles. All classes related to particles in 
+    this category can be found in <code class="literal">shortlived</code> sub-directory 
+    under the <code class="literal">particles</code> directory.
+
+    </p><div class="orderedlist"><ol type="a" compact><li><p>
+        quarks/di-quarks
+        </p><p>
+        For example, all 6 quarks.
+        </p><p>
+      </p></li><li><p>
+        gluon
+      </p></li><li><p>
+        baryon excited states with very short life
+        </p><p>
+        For example, spin 3/2 baryons and anti-baryons
+        </p><p>
+      </p></li><li><p>
+        meson excited states with very short life
+        </p><p>
+        For example, spin 1 vector bosons
+        </p><p>
+      </p></li></ol></div><p>
+    </p><p>
+  </p></li></ol></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.Imple"></a>5.3.2.3. 
+Implementation of particles
+</h4></div></div></div><p>
+<span class="emphasis"><em>Single object created in the initialization :</em></span> 
+Categories a, b-1
+</p><p>
+These particles are frequently used for tracking in
+Geant4. An individual class is defined for each particle in these
+categories. The object in each class is unique.
+The user can get pointers to these objects by using static methods 
+in their own classes. The unique object for each class is created 
+when its static method is called in the ``initialization phase''.
+</p><p>
+<span class="emphasis"><em>On-the-fly creation:</em></span> Category b-2
+</p><p>
+Ions will travel in a detector geometry and should
+be tracked, however, the number of ions which may be used for
+hadronic processes is so huge that ions are dynamically
+created by requests from processes (and users).
+Each ion corresponds to one object of the <span class="emphasis"><em>G4Ions</em></span>
+class.
+<span class="emphasis"><em>G4IonTable</em></span> class is a dictionary for ions. 
+<code class="literal">G4ParticleTable::GetIon()</code> method invokes
+<code class="literal">G4IonTable::GetIon()</code> method to create ions 
+on the fly.
+</p><p>
+Users can register a <span class="emphasis"><em>G4IsotopeTable</em></span> to the
+<span class="emphasis"><em>G4IonTable</em></span>. <span class="emphasis"><em>G4IsotopeTable</em></span>
+describes properties of ions (exited energy, decay modes, life time
+and magnetic moments), which are used to create ions.
+</p><p>
+<span class="emphasis"><em>Dynamic creation by processes:</em></span> Category c
+</p><p>
+Particle types in this category are are not created
+by default, but will only be created by request from processes or
+directly by users. Each shortlived particle corresponds to one
+object of a class derived from <span class="emphasis"><em>G4VshortLivedParticle</em></span>, 
+and it will be created dynamically during the ``initialization
+phase''.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.Parti.Def.G4Parti"></a>5.3.2.4. 
+G4ParticleDefinition
+</h4></div></div></div><p>
+The <span class="emphasis"><em>G4ParticleDefinition</em></span> class has ``read-only'' properties
+to characterize individual particles, such as name, mass, charge,
+spin, and so on. These properties are set during initialization of
+each particle. Methods to get these properties are listed in 
+<a href="ch05s03.html#table.Parti_1" title="Table 5.2. 
+Methods to get particle properties.
+">Table 5.2</a>.
+
+</p><div class="table"><a name="table.Parti_1"></a><div class="table-contents"><table summary="
+Methods to get particle properties.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+      <code class="literal">G4String GetParticleName()</code>
+    </td><td>
+      particle name
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGMass()</code>
+    </td><td>
+      mass
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGWidth()</code>
+    </td><td>
+      decay width
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGCharge()</code>
+    </td><td>
+      electric charge
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGSpin()</code>
+    </td><td>
+      spin
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGMagneticMoment()</code>
+    </td><td>
+      magnetic moment (0: not defined or no magnetic moment)
+    </td></tr><tr><td>
+      <code class="literal">G4int GetPDGiParity()</code>
+    </td><td>
+      parity (0:not defined)
+    </td></tr><tr><td>
+      <code class="literal">G4int GetPDGiConjugation()</code>
+    </td><td>
+      charge conjugation (0:not defined)
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGIsospin()</code>
+    </td><td>
+      iso-spin
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGIsospin3()</code>
+    </td><td>
+      3<sup>rd</sup>-component of iso-spin
+    </td></tr><tr><td>
+      <code class="literal">G4int GetPDGiGParity()</code>
+    </td><td>
+      G-parity (0:not defined)
+    </td></tr><tr><td>
+      <code class="literal">G4String GetParticleType()</code>
+    </td><td>
+      particle type
+    </td></tr><tr><td>
+      <code class="literal">G4String GetParticleSubType()</code>
+    </td><td>
+      particle sub-type
+    </td></tr><tr><td>
+      <code class="literal">G4int GetLeptonNumber()</code>
+    </td><td>
+      lepton number
+    </td></tr><tr><td>
+      <code class="literal">G4int GetBaryonNumber()</code>
+    </td><td>
+      baryon number
+    </td></tr><tr><td>
+      <code class="literal">G4int GetPDGEncoding()</code>
+    </td><td>
+      particle encoding number by PDG
+    </td></tr><tr><td>
+      <code class="literal">G4int GetAntiPDGEncoding()</code>
+    </td><td>
+      encoding for anti-particle of this particle
+    </td></tr></tbody></table></div><p class="title"><b>Table 5.2. 
+Methods to get particle properties.
+</b></p></div><p><br class="table-break">
+</p><p>
+<a href="ch05s03.html#table.Parti_2" title="Table 5.3. 
+Methods to get particle decay modes and life time.
+">Table 5.3</a> shows the methods of 
+<span class="emphasis"><em>G4ParticleDefinition</em></span> for
+getting information about decay modes and the life time of the
+particle.
+
+</p><div class="table"><a name="table.Parti_2"></a><div class="table-contents"><table summary="
+Methods to get particle decay modes and life time.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+      <code class="literal">G4bool GetPDGStable()</code>
+    </td><td>
+      stable flag
+    </td></tr><tr><td>
+      <code class="literal">G4double GetPDGLifeTime()</code>
+    </td><td>
+      life time
+    </td></tr><tr><td>
+      <code class="literal">G4DecayTable* GetDecayTable()</code>
+    </td><td>
+      decay table
+    </td></tr></tbody></table></div><p class="title"><b>Table 5.3. 
+Methods to get particle decay modes and life time.
+</b></p></div><p><br class="table-break">
+</p><p>
+Users can modify these properties, though the other properties
+listed above can not be change without rebuilding the
+libraries.
+</p><p>
+Each particle has its own <span class="emphasis"><em>G4ProcessManger</em></span>
+object that manages a list of processes applicable to the
+particle.(see <a href="ch02s05.html#sect.HowToSpecPhysProc.ManagingProc" title="2.5.2. 
+Managing Processes
+">Section 2.5.2</a> )
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Parti.Dynam"></a>5.3.3. 
+Dynamic particle
+</h3></div></div></div><p>
+The <span class="emphasis"><em>G4DynamicParticle</em></span> class has kinematics information for
+the particle and is used for describing the dynamics of physics
+processes. The properties in <span class="emphasis"><em>G4DynamicParticle</em></span> are listed in
+<a href="ch05s03.html#table.Parti_4" title="Table 5.4. 
+Methods to set/get cut off values.
+">Table 5.4</a>.
+
+</p><div class="table"><a name="table.Parti_4"></a><div class="table-contents"><table summary="
+Methods to set/get cut off values.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+      <code class="literal">G4double theDynamicalMass</code>
+    </td><td>
+      dynamical mass
+    </td></tr><tr><td>
+      <code class="literal">G4ThreeVector theMomentumDirection</code>
+    </td><td>
+      normalized momentum vector
+    </td></tr><tr><td>
+      <code class="literal">G4ParticleDefinition* theParticleDefinition</code>
+    </td><td>
+      definition of particle
+    </td></tr><tr><td>
+      <code class="literal">G4double theDynamicalSpin</code>
+    </td><td>
+      dynamical spin 
+      (i.e. total angular momentum as a ion/atom )
+    </td></tr><tr><td>
+      <code class="literal">G4ThreeVector thePolarization</code>
+    </td><td>
+      polarization vector
+    </td></tr><tr><td>
+      <code class="literal">G4double theMagneticMoment</code>
+    </td><td>
+      dynamical magnetic moment
+      (i.e. total magnetic moment as a ion/atom )
+    </td></tr><tr><td>
+      <code class="literal">G4double theKineticEnergy</code>
+    </td><td>
+      kinetic energy
+    </td></tr><tr><td>
+      <code class="literal">G4double theProperTime</code>
+    </td><td>
+      proper time
+    </td></tr><tr><td>
+      <code class="literal">G4double theDynamicalCharge</code>
+    </td><td>
+      dynamical electric charge 
+      (i.e. total electric charge as a ion/atom )
+    </td></tr><tr><td>
+      <code class="literal">G4ElectronOccupancy* theElectronOccupancy</code>
+    </td><td>
+      electron orbits for ions
+    </td></tr></tbody></table></div><p class="title"><b>Table 5.4. 
+Methods to set/get cut off values.
+</b></p></div><p><br class="table-break">
+</p><p>
+Here, the dynamical mass is defined as the mass for the dynamic
+particle. For most cases, it is same as the mass defined in
+<span class="emphasis"><em>G4ParticleDefinition</em></span> class ( i.e. mass value given by
+<code class="literal">GetPDGMass()</code> method). However, there are two
+exceptions.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    resonance particle
+  </p></li><li><p>
+    ions
+  </p></li></ul></div><p>
+</p><p>
+Resonance particles have large mass width and the total energy of
+decay products at the center of mass system can be different event
+by event.
+</p><p>
+As for ions, <span class="emphasis"><em>G4ParticleDefintion</em></span> defines a nucleus and
+<span class="emphasis"><em>G4DynamicParticle</em></span> defines an atom.
+<span class="emphasis"><em>G4ElectronOccupancy</em></span> describes state of orbital electrons.
+So, the dynamic mass can be different from the PDG mass by the mass
+of electrons (and their binding energy). In addition, the dynamical
+charge, spin and magnetic moment are those of the atom/ion
+(i.e. including nucleus and orbit electrons). 
+</p><p>
+Decay products of heavy flavor particles are given in many event
+generators. In such cases, <span class="emphasis"><em>G4VPrimaryGenerator</em></span> sets this
+information in <code class="literal">*thePreAssignedDecayProducts</code>. In addition,
+decay time of the particle can be set arbitrarily time by using
+<code class="literal">PreAssignedDecayProperTime</code>.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.2. 
+Physics Processes
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.4. 
+Production Threshold versus Tracking Cut
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s04.html	(revision 901)
@@ -0,0 +1,256 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.4.  Production Threshold versus Tracking Cut</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s03.html" title="5.3.  Particles"><link rel="next" href="ch05s05.html" title="5.5.  Cuts per Region"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.4. 
+Production Threshold versus Tracking Cut
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ProThres"></a>5.4. 
+Production Threshold versus Tracking Cut
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.Gen"></a>5.4.1. 
+General considerations
+</h3></div></div></div><p>
+We have to fulfill two contradictory requirements. It is the
+responsibility of each individual <span class="bold"><strong>process</strong></span> 
+to produce secondary particles according to its own capabilities. On 
+the other hand, it is only the Geant4 kernel (i.e., tracking) which can
+ensure an overall coherence of the simulation.
+</p><p>
+The general principles in Geant4 are the following:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Each <span class="bold"><strong>process</strong></span> has its intrinsic limit(s) 
+    to produce secondary particles.
+  </p></li><li><p>
+    All particles produced (and accepted) will be tracked up to
+    <span class="bold"><strong>zero range</strong></span>.
+  </p></li><li><p>
+    Each <span class="bold"><strong>particle</strong></span> has a suggested cut in range 
+    (which is converted to energy for all materials), and defined via a
+    <code class="literal">SetCut()</code> method (see 
+    <a href="ch02s04.html#sect.HowToSpecParti.RangeCuts" title="2.4.2. 
+Range Cuts
+">Section 2.4.2</a>).
+  </p></li></ol></div><p>
+</p><p>
+Points 1 and 2 imply that the cut associated with the
+<span class="bold"><strong>particle</strong></span> is a (recommended) 
+<span class="bold"><strong>production</strong></span> threshold of secondary particles.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.Set"></a>5.4.2. 
+Set production threshold (<code class="literal">SetCut</code> methods)
+</h3></div></div></div><p>
+As already mentioned, each kind of particle has a suggested
+production threshold. Some of the processes will not use this
+threshold (e.g., decay), while other processes will use it as a
+default value for their intrinsic limits (e.g., ionisation and
+bremsstrahlung).
+</p><p>See 
+<a href="ch02s04.html#sect.HowToSpecParti.RangeCuts" title="2.4.2. 
+Range Cuts
+">Section 2.4.2</a> to see how to set 
+the production threshold.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.Apply"></a>5.4.3. 
+Apply cut
+</h3></div></div></div><p>
+The <code class="literal">DoIt</code> methods of each process can produce secondary
+particles. Two cases can happen:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    a process sets its intrinsic limit greater than or equal to the
+    recommended production threshold. OK. Nothing has to be done
+    (nothing can be done !).
+  </p></li><li><p>
+    a process sets its intrinsic limit smaller than the production
+    threshold (for instance 0).
+  </p></li></ul></div><p>
+</p><p>
+The list of secondaries is sent to the <span class="emphasis"><em>SteppingManager</em></span>
+via a <span class="emphasis"><em>ParticleChange</em></span> object.
+</p><p>
+<span class="emphasis"><em>Before</em></span> being recopied to the temporary stack for later 
+tracking, the particles below the production threshold will be kept or
+deleted according to the safe mechanism explained hereafter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The <span class="emphasis"><em>ParticleDefinition</em></span> 
+    (or <span class="emphasis"><em>ParticleWithCuts</em></span>) has a boolean data member: 
+    <code class="literal">ApplyCut</code>.</p></li><li><p><code class="literal">ApplyCut</code> is OFF: do nothing. 
+    All the secondaries are stacked (and then tracked later on), regardless 
+    of their initial energy. The Geant4 kernel respects the best that the 
+    physics can do, but neglects the overall coherence and the efficiency. 
+    Energy conservation is respected as far as the processes know how to
+    handle correctly the particles they produced!
+  </p></li><li><p>
+    <code class="literal">ApplyCut</code> in ON: the <span class="emphasis"><em>TrackingManager</em></span> 
+    checks the range of each secondary against the production threshold and
+    against the safety. The particle is stacked if <code class="literal">range &gt;
+    min(cut,safety).</code>
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        If not, check if the process has nevertheless set the flag
+        ``good for tracking'' and then stack it (see 
+        <a href="ch05s04.html#sect.ProThres.WhyProd" title="5.4.4. 
+Why produce secondaries below threshold?
+">Section 5.4.4</a>
+        below for the explanation of the <code class="literal">GoodForTracking</code> flag).
+      </p></li><li><p>
+        If not, recuperate its kinetic energy in the
+        <code class="literal">localEnergyDeposit</code>, and set 
+        <code class="literal">tkin=0</code>.
+      </p></li><li><p>
+        Then check in the <span class="emphasis"><em>ProcessManager</em></span> if the vector of
+        <span class="emphasis"><em>ProcessAtRest</em></span> is not empty. If yes, stack the
+        particle for performing the ``Action At Rest'' later. If not, and only
+        in this case, abandon this secondary.
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><p>
+With this sophisticated mechanism we have the global cut that we
+wanted, but with energy conservation, and we respect boundary
+constraint (safety) and the wishes of the processes (via ``good for
+tracking'').
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.WhyProd"></a>5.4.4. 
+Why produce secondaries below threshold?
+</h3></div></div></div><p>
+A process may have good reasons to produce particles below the
+recommended threshold:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    checking the range of the secondary versus geometrical
+    quantities like safety may allow one to realize the possibility
+    that the produced particle, even below threshold, will reach a
+    sensitive part of the detector;
+  </p></li><li><p>
+    another example is the gamma conversion: the positron is always
+    produced, even at zero energy, for further annihilation.
+  </p></li></ul></div><p>
+</p><p>
+These secondary particles are sent to the ``Stepping Manager''
+with a flag <code class="literal">GoodForTracking</code> to pass the filter explained
+in the previous section (even when <code class="literal">ApplyCut</code> is ON).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.RangOrEner"></a>5.4.5. 
+Cuts in stopping range or in energy?
+</h3></div></div></div><p>
+The cuts in stopping range allow one to say that the energy has
+been released at the correct space position, limiting the
+approximation within a given distance. On the contrary, cuts in
+energy imply accuracies of the energy depositions which depend on
+the material.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.Sum"></a>5.4.6. 
+Summary
+</h3></div></div></div><p>
+In summary, we do not have tracking cuts; we only have production
+thresholds in range. All particles produced and accepted are
+tracked up to zero range.
+</p><p>
+It must be clear that the overall coherency that we provide
+cannot go beyond the capability of processes to produce particles
+down to the recommended threshold.
+</p><p>
+In other words a process can produce the secondaries down to the
+recommended threshold, and by interrogating the geometry, or by
+realizing when mass-to-energy conversion can occur, recognize when
+particles below the threshold have to be produced.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ProThres.Spe"></a>5.4.7. 
+Special tracking cuts
+</h3></div></div></div><p>
+One may need to cut given particle types in given volumes for
+optimisation reasons. This decision is under user control, and can
+happen for particles during tracking as well.
+</p><p>
+The user must be able to apply these special cuts only for the
+desired particles and in the desired volumes, without introducing
+an overhead for all the rest.
+</p><p>
+The approach is as follows:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    special user cuts are registered in the <span class="emphasis"><em>UserLimits</em></span> 
+    class (or its descendant), which is associated with the logical volume
+    class.
+    </p><p>
+    The current default list is:
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        max allowed step size
+      </p></li><li><p>
+        max total track length
+      </p></li><li><p>
+        max total time of flight
+      </p></li><li><p>
+        min kinetic energy
+      </p></li><li><p>
+        min remaining range
+      </p></li></ul></div><p>
+    </p><p>
+    </p><p>
+    The user can instantiate a <span class="emphasis"><em>UserLimits</em></span> object only 
+    for the desired logical volumes and do the association.
+    </p><p>
+    </p><p>
+    The first item (max step size) is automatically taken into
+    account by the G4 kernel while the others items must be managed by
+    the user, as explained below.
+    </p><p>
+    </p><p>
+    <span class="bold"><strong>Example</strong></span>(see novice/N02): 
+    in the Tracker region, in order to force the step size not to exceed 
+    1/10 of the Tracker thickness, it is enough to put the following code in
+    <code class="literal">DetectorConstruction::Construct()</code>:
+    </p><div class="informalexample"><pre class="programlisting">
+       G4double maxStep = 0.1*TrackerLength;
+       logicTracker-&gt;SetUserLimits(new G4UserLimits(maxStep));
+    </pre></div><p>
+    </p><p>
+    </p><p>
+    The <span class="emphasis"><em>G4UserLimits</em></span> class is in
+    <code class="literal">source/global/management</code>.
+    </p><p>
+  </p></li><li><p>
+    Concerning the others cuts, the user must define 
+    dedicaced process(es). He registers this process (or its descendant) 
+    only for the desired particles in their process manager. He can apply 
+    his cuts in the <code class="literal">DoIt</code> of this process, since, via
+    <span class="emphasis"><em>G4Track</em></span>, he can access the logical volume and
+    <span class="emphasis"><em>UserLimits</em></span>.
+
+    </p><p>
+    An example of such process (called <span class="emphasis"><em>UserSpecialCuts</em></span>) is
+    provided in the repository, but not inserted in any process manager
+    of any particle.
+    </p><p>
+    </p><p>
+    <span class="bold"><strong>Example: neutrons.</strong></span> One may need to abandon 
+    the tracking of neutrons after a given time of flight (or a charged
+    particle in a magnetic field after a given total track length ... etc ...).
+    </p><p>
+    </p><p>
+    Example(see novice/N02): in the Tracker region, in order to
+    force the total time of flight of the neutrons not to exceed 10
+    milliseconds, put the following code in
+    <code class="literal">DetectorConstruction::Construct()</code>:
+
+    </p><div class="informalexample"><pre class="programlisting">
+        G4double maxTime = 10*ms;
+        logicTracker-&gt;SetUserLimits(new G4UserLimits(DBL_MAX,DBL_MAX,maxTime));
+    </pre></div><p>      
+
+    and put the following code in <code class="literal">N02PhysicsList</code>:
+
+    </p><div class="informalexample"><pre class="programlisting">
+        G4ProcessManager* pmanager = G4Neutron::Neutron-&gt;GetProcessManager();
+        pmanager-&gt;AddProcess(new G4UserSpecialCuts(),-1,-1,1);
+    </pre></div><p>
+    </p><p>
+    </p><p>
+    (The default <span class="emphasis"><em>G4UserSpecialCuts</em></span> class is in
+     <code class="literal">source/processes/transportation</code>.)
+    </p><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.3. 
+Particles
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.5. 
+Cuts per Region
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s05.html	(revision 901)
@@ -0,0 +1,114 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.5.  Cuts per Region</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s04.html" title="5.4.  Production Threshold versus Tracking Cut"><link rel="next" href="ch05s06.html" title="5.6.  Physics Table"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.5. 
+Cuts per Region
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.CutReg"></a>5.5. 
+Cuts per Region
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CutReg.Gene"></a>5.5.1. 
+General Concepts
+</h3></div></div></div><p>
+Beginning with Geant4 version 5.1, the concept of a region has been
+defined for use in geometrical descriptions. Details about regions
+and how to use them are available in 
+<a href="ch04.html#sect.Geom.LogVol.SubReg" title="4.1.3.1. 
+Sub-detector Regions
+">Section 4.1.3.1</a>. 
+As an example, suppose a user defines three regions, corresponding to 
+the tracking volume, the calorimeter and the bulk structure of a
+detector. For performance reasons, the user may not be interested
+in the detailed development of electromagnetic showers in the
+insensitive bulk structure, but wishes to maintain the best
+possible accuracy in the tracking region. In such a use case,
+Geant4 allows the user to set different production thresholds
+("cuts") for each geometrical region. This ability, referred to as
+"cuts per region", is also a new feature provided by the Geant4 5.1
+release. The general concepts of production thresholds were
+presented in the <a href="ch05s04.html" title="5.4. 
+Production Threshold versus Tracking Cut
+">Section 5.4</a>.
+</p><p>
+Please note that this new feature is intended only for users
+who
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    are simulating the most complex geometries, such as an LHC
+    detector, and
+  </p></li><li><p>
+    are experienced in simulating electromagnetic showers in
+    matter.
+  </p></li></ol></div><p>
+</p><p>
+We strongly recommend that results generated with this new feature
+be compared with results using the same geometry and uniform
+production thresholds. Setting completely different cut values for
+individual regions may break the coherent and comprehensive
+accuracy of the simulation. Therefore cut values should be
+carefully optimized, based on a comparison with results obtained
+using uniform cuts.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CutReg.DefReg"></a>5.5.2. 
+Default Region
+</h3></div></div></div><p>
+The world volume is treated as a region by default. A
+<span class="emphasis"><em>G4Region</em></span> object is automatically assigned to the world
+volume and is referred to as the "default region". The production
+cuts for this region are the defaults which are defined in the
+<span class="emphasis"><em>UserPhysicsList</em></span>. Unless the user defines different cut
+values for other regions, the cuts in the default region will be
+used for the entire geometry.
+</p><p>
+Please note that the default region and its default production
+cuts are created and set automatically by <span class="emphasis"><em>G4RunManager</em></span>. 
+The user is <span class="bold"><strong>not</strong></span> allowed to set a region to 
+the world volume, <span class="bold"><strong>nor</strong></span> to assign other 
+production cuts to the default region.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.CutReg.Assig"></a>5.5.3. 
+Assigning Production Cuts to a Region
+</h3></div></div></div><p>
+In the <code class="literal">SetCuts()</code> method of the user's physics list, the
+user must first define the default cuts. Then a
+<span class="emphasis"><em>G4ProductionCuts</em></span> object must be created and initialized with
+the cut value desired for a given region. This object must in turn
+be assigned to the region object, which can be accessed by name
+from the <span class="emphasis"><em>G4RegionStore</em></span>. An example <code class="literal">SetCuts()</code> 
+code follows.
+
+</p><div class="example"><a name="programlist_CutReg_1"></a><p class="title"><b>Example 5.12. 
+<code class="literal">Setting production cuts to a region</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+void MyPhysicsList::SetCuts()
+{
+  // default production thresholds for the world volume
+  SetCutsWithDefault();
+
+  // Production thresholds for detector regions
+  G4Region* region;
+  G4String regName;
+  G4ProductionCuts* cuts;
+
+  regName = "tracker";
+  region = G4RegionStore::GetInstance()-&gt;GetRegion(regName);
+  cuts = new G4ProductionCuts;
+  cuts-&gt;SetProductionCut(0.01*mm); // same cuts for gamma, e- and e+
+  region-&gt;SetProductionCuts(cuts);
+
+  regName = "calorimeter";
+  region = G4RegionStore::GetInstance()-&gt;GetRegion(regName);
+  cuts = new G4ProductionCuts;
+  cuts-&gt;SetProductionCut(0.01*mm,G4ProductionCuts::GetIndex("gamma"));
+  cuts-&gt;SetProductionCut(0.1*mm,G4ProductionCuts::GetIndex("e-"));
+  cuts-&gt;SetProductionCut(0.1*mm,G4ProductionCuts::GetIndex("e+"));
+  region-&gt;SetProductionCuts(cuts);
+}
+</pre></div></div><p><br class="example-break">
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.4. 
+Production Threshold versus Tracking Cut
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.6. 
+Physics Table
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s06.html	(revision 901)
@@ -0,0 +1,111 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.6.  Physics Table</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s05.html" title="5.5.  Cuts per Region"><link rel="next" href="ch05s07.html" title="5.7.  User Limits"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.6. 
+Physics Table
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.PhysTab"></a>5.6. 
+Physics Table
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysTab.Gene"></a>5.6.1. 
+General Concepts
+</h3></div></div></div><p>
+In Geant4, physics processes use many tables of cross sections,
+energy losses and other physics values. Before the execution of an
+event loop, the <code class="literal">BuildPhysicsTable()</code> method of
+<span class="emphasis"><em>G4VProcess</em></span> is invoked for all processes and 
+cross section tables are prepared. "Standard" electromagnetic 
+processes calculate cross section and/or energy loss values for 
+each material and for each production cut value assigned to each 
+material. A change in production cut values therefore require these 
+cross sections to be re-calculated. Cross sections for hadronic 
+processes do not depend on the production cut.
+</p><p>
+The <span class="emphasis"><em>G4PhysicsTable</em></span> class is used to handle cross section
+tables. <span class="emphasis"><em>G4PhysicsTable</em></span> is a collection of instances of
+<span class="emphasis"><em>G4PhysicsVector</em></span> (and derived classes), each of which has
+cross section values for a particle within a given energy range
+traveling in a material.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysTab.MateCoup"></a>5.6.2. 
+Material-Cuts Couple
+</h3></div></div></div><p>
+Users can assign different production cuts to different regions
+(see <a href="ch05s05.html" title="5.5. 
+Cuts per Region
+">Section 5.5</a>). 
+This means that if the same material is used in regions with different 
+cut values, the processes need to prepare several different cross
+sections for that material.
+</p><p>
+The <span class="emphasis"><em>G4ProductionCutsTable</em></span> has 
+<span class="emphasis"><em>G4MaterialCutsCouple</em></span>
+objects, each of which consists of a material paired with a cut
+value. These <span class="emphasis"><em>G4MaterialCutsCouple</em></span>s are numbered with an
+index which is the same as the index of a <span class="emphasis"><em>G4PhysicsVector</em></span>
+for the corresponding <span class="emphasis"><em>G4MaterialCutsCouple</em></span>in the
+<span class="emphasis"><em>G4PhysicsTable</em></span>. The list of 
+<span class="emphasis"><em>MaterialCutsCouple</em></span>s used
+in the current geometry setup is updated before starting the event
+loop in each run.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysTab.Fio"></a>5.6.3. 
+File I/O for the Physics Table
+</h3></div></div></div><p>
+Calculated physics tables for "Standard" electromagnetic processes
+can be stored in files. The user may thus eliminate the time
+required for the calculation of physics tables by retrieving them
+from the files.
+</p><p>
+Using the built-in user command "<span class="bold"><strong>storePhysicsTable</strong></span>"  
+(see <a href="ch07.html#sect.BuiltinCom" title="7.1. 
+Built-in Commands
+">Section 7.1</a>), 
+stores physics tables in files. Information on materials and
+cuts defined in the current geometry setup are stored together with
+physics tables because calculated values in the physics tables
+depend on <span class="emphasis"><em>MaterialCutsCouple</em></span>. Note that physics tables are
+calculated before the event loop, not in the initialization phase.
+So, at least one event must be executed before using the
+"<span class="bold"><strong>storePhysicsTable</strong></span>" command.
+</p><p>
+Calculated physics tables can be retrieved from files by using
+the "<span class="bold"><strong>retrievePhysicsTable</strong></span>" command. Materials 
+and cuts from files are compared with those defined in the current geometry
+setup, and only physics vectors corresponding to the
+<span class="emphasis"><em>MaterialCutsCouple</em></span>s used in the current setup are restored.
+Note that nothing happens just after the
+"<span class="bold"><strong>retrievePhysicsTable</strong></span>" command is issued. 
+Restoration of physics tables will be executed in parallel with the calculation 
+of physics tables.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.PhysTab.Build"></a>5.6.4. 
+Building the Physics Table
+</h3></div></div></div><p>
+In the <code class="literal">G4RunManagerKernel::RunInitialization()</code> method,
+after the list of <span class="emphasis"><em>MaterialCutsCouple</em></span>s is updated, the
+<code class="literal">G4VUserPhysicsList::BuildPhysicsTable()</code> method is invoked
+to build physics tables for all processes.
+</p><p>
+Initially, the <code class="literal">G4VProcess::PreparePhysicsTable()</code> method
+is invoked. Each process creates <span class="emphasis"><em>G4PhysicsTable</em></span> objects as
+necessary. It then checks whether the <span class="emphasis"><em>MaterialCutsCouple</em></span>s
+have been modified after a run to determine if the corresponding
+physics vectors can be used in the next run or need to be
+re-calculated.
+</p><p>
+Next, the <code class="literal">G4VProcess::RetrievePhysicsTable()</code> method is
+invoked if the <code class="literal">G4VUserPhysicsList::fRetrievePhysicsTable</code>
+flag is asserted. After checking materials and cuts in files,
+physics vectors corresponding to the <span class="emphasis"><em>MaterialCutsCouple</em></span>s
+used in the current setup are restored.
+</p><p>
+Finally, the <code class="literal">G4VProcess::BuildPhysicsTable()</code> method is
+invoked and only physics vectors which need to be re-calculated are
+built.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.5. 
+Cuts per Region
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.7. 
+User Limits
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s07.html	(revision 901)
@@ -0,0 +1,91 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.7.  User Limits</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s06.html" title="5.6.  Physics Table"><link rel="next" href="ch05s08.html" title="5.8.  Track Error Propagation"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.7. 
+User Limits
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch05s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.Ulim"></a>5.7. 
+User Limits
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Ulim.Gene"></a>5.7.1. 
+General Concepts
+</h3></div></div></div><p>
+The user can define artificial limits affecting to the Geant4
+tracking.
+
+</p><div class="informalexample"><pre class="programlisting">
+G4UserLimits(G4double uStepMax = DBL_MAX,
+             G4double uTrakMax = DBL_MAX,
+             G4double uTimeMax = DBL_MAX,
+             G4double uEkinMin = 0.,
+             G4double uRangMin = 0. );
+</pre></div><p>
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+      <code class="literal">uStepMax</code>
+    </td><td>
+      Maximum step length
+    </td></tr><tr><td>
+      <code class="literal">uTrakMax</code>
+    </td><td>
+      Maximum total track length
+    </td></tr><tr><td>
+      <code class="literal">uTimeMax</code>
+    </td><td>
+      Maximum global time for a track
+    </td></tr><tr><td>
+      <code class="literal">uEkinMin</code>
+    </td><td>
+      Minimum remaining kinetic energy for a track
+    </td></tr><tr><td>
+      <code class="literal">uRangMin</code>
+    </td><td>
+      Minimum remaining range for a track
+    </td></tr></tbody></table></div><p>
+
+Note that <code class="literal">uStepMax</code> is affecting to each step, while all
+other limits are affecting to a track.
+</p><p>
+The user can set <code class="literal">G4UserLimits</code> to logical volume and/or
+to a region. User limits assigned to logical volume do not
+propagate to daughter volumes, while User limits assigned to region
+propagate to daughter volumes unless daughters belong to another
+region. If both logical volume and associated region have user
+limits, those of logical volume win.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.Ulim.Proc"></a>5.7.2. 
+Processes co-working with G4UserLimits
+</h3></div></div></div><p>
+In addition to instantiating <code class="literal">G4UserLimits</code> and setting it
+to logical volume or region, the user has to assign the following
+process(es) to particle types he/she wants to affect. If none of
+these processes is assigned, that kind of particle is not affected
+by <code class="literal">G4UserLimits</code>.
+
+</p><div class="variablelist"><dl><dt><span class="term">
+      Limitation to step (<code class="literal">uStepMax</code>)
+    </span></dt><dd><p>
+      <code class="literal">G4StepLimiter</code> process must be defined to affected
+      particle types. This process limits a step, but it does not kill a
+      track.
+    </p></dd><dt><span class="term">
+      Limitations to track (<code class="literal">uTrakMax, uTimeMax, uEkinMin,
+      uRangMin</code>)
+    </span></dt><dd><p>
+      <code class="literal">G4UserSpecialCuts</code> process must be defined to affected
+      particle types. This process limits a step and kills the track when
+      the track comes to one of these limits. Step limitation occurs only
+      for the final step.
+    </p></dd></dl></div><p>
+</p><p>
+Example of <code class="literal">G4UserLimits</code> can be found in
+examples/novice/N02 : see <code class="literal">DetectorConstruction</code> and
+<code class="literal">PhysicsList</code>.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.6. 
+Physics Table
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 5.8. 
+Track Error Propagation
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s08.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s08.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s08.html	(revision 901)
@@ -0,0 +1,280 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.8.  Track Error Propagation</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch05.html" title="Chapter 5.  Tracking and Physics"><link rel="prev" href="ch05s07.html" title="5.7.  User Limits"><link rel="next" href="ch06.html" title="Chapter 6.  User Actions"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.8. 
+Track Error Propagation
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 5. 
+Tracking and Physics
+</th><td width="20%" align="right"> <a accesskey="n" href="ch06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.G4Error"></a>5.8. 
+Track Error Propagation
+</h2></div></div></div><p>
+The error propagation package serves to propagate one particle together with its error from a given trajectory state until a user-defined target is reached (a surface, a volume, a given track length,...).
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4Error.Physics"></a>5.8.1. 
+Physics
+</h3></div></div></div><p>
+The error propagator package computes the average trajectory that a particle would follow.  
+This means that the physics list must have the following characteristics:
+</p><div class="itemizedlist"><ul type="disc"><li> No multiple scattering </li><li> No random fluctuations for energy loss </li><li> No creation of secondary tracks </li><li> No hadronic processes </li></ul></div><p>
+It has also to be taken into account that when the propagation is done backwards (in the direction opposed to the one the original track traveled) the energy loss has to be changed into an energy gain. 
+</p><p>
+All this is done in the <code class="literal">G4ErrorPhysicsList</code> class, that is automatically set by <code class="literal">G4ErrorPropagatorManager</code> as the GEANT4 physics list. 
+It sets <code class="literal">G4ErrorEnergyLoss</code> as unique electromagnetic process. This process uses the GEANT4 class <code class="literal">G4EnergyLossForExtrapolator</code> to compute the average energy loss for forwards or backwards propagation. 
+To avoid getting too different energy loss calculation when the propagation is done forwards (when the energy at the beginning of the step is used) or backwards (when the energy at the end of the step is used, always smaller than at the beginning) <code class="literal">G4ErrorEnergyLoss</code> computes once the energy loss and then replaces the original energy loss by subtracting/adding half of this value (what is approximately the same as computing the energy loss with the energy at the middle of the step). 
+In this way, a better calculation of the energy loss is obtained with a minimal impact on the total CPU time.
+</p><p>
+The user may use his/her own physics list instead of <code class="literal">G4ErrorPhysicsList</code>. As it is not needed to define a physics list when running this package, the user may have not realized that somewhere else in his/her application it has been defined; therefore a warning will be sent to advert the user that he is using a physics list different to <code class="literal">G4ErrorPhysicsList</code>. If a new physics list is used, it should also initialize the <code class="literal">G4ErrorMessenger</code> with the classes that serve to limit the step:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4ErrorEnergyLoss* eLossProcess = new G4ErrorEnergyLoss;
+  G4ErrorStepLengthLimitProcess* stepLengthLimitProcess = new G4ErrorStepLengthLimitProcess;
+  G4ErrorMagFieldLimitProcess* magFieldLimitProcess = new G4ErrorMagFieldLimitProcess;
+  new G4ErrorMessenger( stepLengthLimitProcess, magFieldLimitProcess, eLossProcess );
+</pre></div><p>
+
+</p><p>
+To ease the use of this package in the reconstruction code, the physics list, whether <code class="literal">G4ErrorPhysicsList</code> or the user's one, will be automatically initialized before starting the track propagation if it has not been done by the user.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4Error.TrajState"></a>5.8.2. 
+Trajectory state
+</h3></div></div></div><p>
+The user has to provide the particle trajectory state at the initial point. 
+To do this it has to create an object of one of the children classes of <code class="literal">G4ErrorTrajState</code>, providing: 
+</p><div class="itemizedlist"><ul type="disc"><li> Particle type </li><li> Position </li><li> Momentum </li><li> Trajectory error matrix </li></ul></div><div class="informalexample"><pre class="programlisting">
+ G4ErrorTrajState( const G4String&amp; partType, 
+                   const G4Point3D&amp; pos, 
+                   const G4Vector3D&amp; mom, 
+                   const G4ErrorTrajErr&amp; errmat = G4ErrorTrajErr(5,0) );
+</pre></div><p>
+A particle trajectory is characterized by five independent variables as a function of one parameter (e.g. the path length).
+Among the five variables, one is related to the curvature (to the absolute value of the momentum), two are related to the direction of the particle and the other two are related to the spatial location. 
+</p><p>
+There are two possible representations of these five parameters in the error propagator package: as a free trajectory state, class <code class="literal">G4ErrorTrajStateFree</code>, or as a trajectory state on a surface, class <code class="literal">G4ErrorTrajStateonSurface</code>. 
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.TrajState.FreTrajState"></a>5.8.2.1. 
+Free trajectory state
+</h4></div></div></div>
+
+In the free trajectory state representation the five trajectory parameters are
+
+<div class="itemizedlist"><ul type="disc"><li> G4double fInvP </li><li> G4double fLambda </li><li> G4double fPhi </li><li> G4double fYPerp </li><li> G4double fZPerp </li></ul></div><p>
+where <code class="literal">fInvP</code> is the inverse of the momentum.
+<code class="literal">fLambda</code> and <code class="literal">fPhi</code> are the dip and azimuthal angles related to the momentum components in the following way:
+</p><code class="literal">
+            p_x = p cos(lambda) cos(phi)
+            p_y = p cos(lambda) sin(phi)   
+            p_z = p sin(lambda) 
+</code><p>
+that is, <code class="literal">lambda = 90 - theta</code>, where <code class="literal">theta</code> is the usual angle with respect to the Z axis.
+</p><p>
+<code class="literal">fYperp</code> and <code class="literal">fZperp</code> are the coordinates of the trajectory in a local orthonormal reference frame with the X axis along the particle direction, the Y axis being parallel to the X-Y plane (obtained by the vectorial product of the global Z axis and the momentum).
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.TrajState.SurfaceTrajState"></a>5.8.2.2. 
+Trajectory state on a surface
+</h4></div></div></div><p>
+In the trajectory state on a surface representation the five trajectory parameters are
+</p><div class="itemizedlist"><ul type="disc"><li> G4double fInvP </li><li> G4double fPV </li><li> G4double fPW </li><li> G4double fV </li><li> G4double fW </li></ul></div><p>
+where <code class="literal">fInvP</code> is the inverse of the momentum;
+<code class="literal">fPV</code> and <code class="literal">fPW</code> are the momentum components in an orthonormal coordinate system with axis U, V and W; 
+<code class="literal">fV</code> and <code class="literal">fW</code> are the position components on this coordinate system.
+</p>
+
+For this representation the user has to provide the plane where the parameters are calculated. 
+This can be done by providing two vectors, V and W, contained in the plane:
+
+<div class="informalexample"><pre class="programlisting">
+  G4ErrorSurfaceTrajState( const G4String&amp; partType,
+                           const G4Point3D&amp; pos,
+                           const G4Vector3D&amp; mom, 
+                           const G4Vector3D&amp; vecV,
+                           const G4Vector3D&amp; vecW,
+                           const G4ErrorTrajErr&amp; errmat = G4ErrorTrajErr(5,0) );
+</pre></div>
+
+ or by providing a plane
+
+<div class="informalexample"><pre class="programlisting">
+  G4ErrorSurfaceTrajState( const G4String&amp; partType, 
+                           const G4Point3D&amp; pos,
+                           const G4Vector3D&amp; mom, 
+                           const G4Plane3D&amp; plane,
+                           const G4ErrorTrajErr&amp; errmat = G4ErrorTrajErr(5,0) );
+</pre></div>
+
+In this second case the vector V is calculated as the vector in the plane perpendicular to the global vector X (if the plane normal is equal to X, Z is used instead) and W is calculated as the vector in the plane perpendicular to V. 
+
+</div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4Error.Err"></a>5.8.3. 
+Trajectory state error
+</h3></div></div></div><p>
+The 5X5 error matrix should also be provided at the creation of the trajectory state as a <code class="literal">G4ErrorTrajErr</code> object. 
+If it is not provided a default object will be created filled with null values.
+</p><p>
+Currently the <code class="literal">G4ErrorTrajErr</code> is a <code class="literal">G4ErrorSymMatrix</code>, a simplified version of <code class="literal">CLHEP HepSymMatrix</code>. 
+</p><p>
+The error matrix is given in units of GeV and cm. Therefore you should do the conversion if your code is using other units.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4Error.Target"></a>5.8.4. 
+Targets 
+</h3></div></div></div><p>
+The user has to define up to where the propagation must be done: the target. 
+The target can be a surface <code class="literal">G4ErrorSurfaceTarget</code>, which is not part of the GEANT4 geometry. 
+It can also be the surface of a GEANT4 volume  <code class="literal">G4ErrorGeomVolumeTarget</code>, so that the particle will be stopped when it enters this volume.
+Or it can be that the particle is stopped when a certain track length is reached, by implementing a <code class="literal">G4ErrorTrackLengthTarget</code>.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.Target.SurfaceTarget"></a>5.8.4.1. 
+Surface target
+</h4></div></div></div>
+
+When the user chooses a <code class="literal">G4ErrorSurfaceTarget</code> as target, the track is propagated until the surface is reached. 
+This surface is not part of GEANT4 geometry, but usually traverses many GEANT4 volumes.
+The class <code class="literal">G4ErrorNavigator</code> takes care of the double navigation: for each step the step length is calculated as the minimum of the step length in the full geometry (up to a GEANT4 volume surface) and the distance to the user-defined surface. 
+To do it, <code class="literal">G4ErrorNavigator</code> inherits from <code class="literal">G4Navigator</code> and overwrites the methods <code class="literal">ComputeStep()</code> and <code class="literal">ComputeSafety()</code>.
+
+Two types of surface are currently supported (more types could be easily implemented at user request): plane and cylindrical.
+
+<div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.G4Error.Target.SurfaceTarget.PlaneSurfaceTarget"></a>5.8.4.1.1. 
+Plane surface target
+</h5></div></div></div><code class="literal">G4ErrorPlaneSurfaceTarget</code> implements an infinite plane surface.
+The surface can be given as the four coefficients of the plane equation <code class="literal">ax+by+cz+d = 0</code>:
+
+<div class="informalexample"><pre class="programlisting">
+    G4ErrorPlaneSurfaceTarget(G4double a=0, 
+                              G4double b=0,
+                              G4double c=0, 
+                              G4double d=0);
+</pre></div>
+
+or as the normal to the plane and a point contained in it:
+
+<div class="informalexample"><pre class="programlisting">
+    G4ErrorPlaneSurfaceTarget(const G4Normal3D &amp;n,
+                              const G4Point3D &amp;p);
+</pre></div>
+
+or as three points contained in it:
+
+<div class="informalexample"><pre class="programlisting">
+    G4ErrorPlaneSurfaceTarget(const G4Point3D &amp;p1,
+                              const G4Point3D &amp;p2,
+                              const G4Point3D &amp;p3);
+</pre></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="sect.G4Error.Target.SurfaceTarget.CylSurfaceTarget"></a>5.8.4.1.2. 
+Cylindrical surface target
+</h5></div></div></div><code class="literal">G4ErrorCylSurfaceTarget</code> implements an infinite-length cylindrical surface (a cylinder without end-caps).
+The surface can be given as the radius, the translation and the rotation
+
+<div class="informalexample"><pre class="programlisting">
+    G4ErrorCylSurfaceTarget( const G4double&amp; radius,
+                             const G4ThreeVector&amp; trans=G4ThreeVector(),
+                             const G4RotationMatrix&amp; rotm=G4RotationMatrix() );
+</pre></div>
+
+or as the radius and the affine transformation
+
+<div class="informalexample"><pre class="programlisting">
+    G4ErrorCylSurfaceTarget( const G4double&amp; radius,
+                             const G4AffineTransform&amp; trans );
+</pre></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.Target.VolumeTarget"></a>5.8.4.2. 
+Geometry volume target
+</h4></div></div></div><p>
+When the user chooses a <code class="literal">G4ErrorGeomVolumeTarget</code> as target, the track is propagated until the surface of a GEANT4 volume is reached. User can choose if the track will be stopped only when the track enters the volume, only when the track exits the volume or in both cases.
+</p>
+
+The object has to be instantiated giving the name of a logical volume existing in the geometry:
+
+<div class="informalexample"><pre class="programlisting">
+  G4ErrorGeomVolumeTarget( const G4String&amp; name );
+</pre></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.Target.TrkLenTarget"></a>5.8.4.3. 
+Track Length target
+</h4></div></div></div><p>
+When the user chooses a <code class="literal">G4ErrorTrackLengthTarget</code> as target, the track is propagated until the given track length is reached.
+</p>
+
+The object has to be instantiated giving the value of the track length:
+<div class="informalexample"><pre class="programlisting">
+  G4ErrorTrackLengthTarget(const G4double maxTrkLength );
+</pre></div><p>
+It is implemented as a <code class="literal">G4VDiscreteProcess</code> and it limits the step in <code class="literal">PostStepGetPhysicalInteractionLength</code>. 
+To ease its use, the process is registered to all particles in the constructor.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4Error.Propagation"></a>5.8.5. 
+Managing the track propagation
+</h3></div></div></div><p>
+The user needs to propagate just one track, so there is no need of run and events. neither of <code class="literal">G4VPrimaryGeneratorAction</code>.
+
+<code class="literal">G4ErrorPropagator</code> creates a track from the information given in the <code class="literal">G4ErrorTrajState</code> and manages the step propagation. 
+The propagation is done by the standard GEANT4 methods, invoking <code class="literal">G4SteppingManager::Stepping() </code> to propagate each step. 
+</p><p>
+After one step is propagated, <code class="literal">G4ErrorPropagator</code> takes cares of propagating the track errors for this step, what is done by <code class="literal">G4ErrorTrajStateFree::PropagateError()</code>.
+The equations of error propagation are only implemented in the representation of  <code class="literal">G4ErrorTrajStateFree</code>. 
+Therefore if the user has provided instead a <code class="literal">G4ErrorTrajStateOnSurface</code> object, it will be transformed into a <code class="literal">G4ErrorTrajStateFree</code> at the beginning of tracking, and at the end it is converted back into <code class="literal">G4ErrorTrajStateOnSurface</code> on the target surface (on the normal plane to the surface at the final point).
+</p><p>
+The user <code class="literal">G4VUserTrackingAction::PreUserTrackingAction( const G4Track* )</code> and  <code class="literal">G4VUserTrackingAction::PreUserTrackingAction( const G4Track* )</code> are also invoked at the beginning and at the end of the track propagation. 
+</p><p>
+<code class="literal">G4ErrorPropagator</code> stops the tracking when one of the three conditions is true:
+
+</p><div class="itemizedlist"><ul type="disc"><li> Energy is exhausted </li><li> World boundary is reached </li><li> User-defined target is reached  </li></ul></div><p>
+
+In case the defined target is not reached, <code class="literal">G4ErrorPropagator::Propagate()</code> returns a negative value.
+</p><p>
+The propagation of a trajectory state until a user defined target can be done by invoking the method of <code class="literal">G4ErrorPropagatorManager</code>
+</p><div class="informalexample"><pre class="programlisting">
+  G4int Propagate( G4ErrorTrajState* currentTS, const G4ErrorTarget* target, 
+                   G4ErrorMode mode = G4ErrorMode_PropForwards );
+</pre></div><p>
+</p>
+
+You can get the pointer to the only instance of <code class="literal">G4ErrorPropagatorManager</code> with
+
+<div class="informalexample"><pre class="programlisting">
+  G4ErrorPropagatorManager* g4emgr = G4ErrorPropagatorManager::GetErrorPropagatorManager();
+</pre></div>
+
+Another possibility is to invoke the propagation step by step, returning control to the user after each step. This can be done with the method
+
+<div class="informalexample"><pre class="programlisting">
+  G4int PropagateOneStep( G4ErrorTrajState* currentTS,
+                          G4ErrorMode mode = G4ErrorMode_PropForwards );
+</pre></div>
+
+In this case you should register the target first with the command
+
+<div class="informalexample"><pre class="programlisting">
+  G4ErrorPropagatorData::GetG4ErrorPropagatorData()-&gt;SetTarget( theG4eTarget );
+</pre></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.G4Error.Propagation.ErrorPropagation"></a>5.8.5.1. 
+Error propagation
+</h4></div></div></div>
+
+As in the GEANT3-based GEANE package, the error propagation is based on the equations of the European Muon Collaboration, that take into account:
+
+<div class="itemizedlist"><ul type="disc"><li> Error from curved trajectory in magnetic field </li><li> Error from multiple scattering </li><li> Error from ionization </li></ul></div><p>
+The formulas assume propagation along an helix.
+This means that it is necessary to make steps small enough to assure magnetic field constantness and not too big energy loss.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.G4Error.StepLimits"></a>5.8.6. 
+Limiting the step
+</h3></div></div></div>
+
+There are three ways to limit the step. 
+The first one is by using a fixed length value. This can be set by invoking the user command :
+
+<div class="informalexample"><pre class="programlisting">
+G4UImanager::GetUIpointer()-&gt;ApplyCommand("/geant4e/limits/stepLength MY_VALUE MY_UNIT");
+</pre></div>
+
+The second one is by setting the maximum percentage of energy loss in the step (or energy gain is propagation is backwards). 
+This can be set by invoking the user command :
+
+<div class="informalexample"><pre class="programlisting">
+G4UImanager::GetUIpointer()-&gt;ApplyCommand("/geant4e/limits/energyLoss MY_VALUE");
+</pre></div>
+
+The last one is by setting the maximum difference between the value of the magnetic field at the beginning and at the end of the step. Indeed what is limited is the curvature, or exactly the value of the magnetic field divided by the value of the momentum transversal to the field.
+This can be set by invoking the user command :
+
+<div class="informalexample"><pre class="programlisting">
+G4UImanager::GetUIpointer()-&gt;ApplyCommand("/geant4e/limits/magField MY_VALUE");
+</pre></div>
+
+The classes that limit the step are implemented as GEANT4 processes. Therefore, the invocation of the above-mentioned commands should only be done after the initialization (for example after <code class="literal">G4ErrorPropagatorManager::InitGeant4e()</code>.
+
+</div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.7. 
+User Limits
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 6. 
+User Actions
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06.html	(revision 901)
@@ -0,0 +1,256 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 6.  User Actions</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch05s08.html" title="5.8.  Track Error Propagation"><link rel="next" href="ch06s02.html" title="6.2.  Optional User Actions"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 6. 
+User Actions
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch06s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.UserActions"></a>Chapter 6. 
+User Actions
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ManUAct"></a>6.1. 
+Mandatory User Actions and Initializations
+</h2></div></div></div><p>
+Geant4 has three virtual classes whose methods the user must
+override in order to implement a simulation. They require the user
+to define the detector, specify the physics to be used, and
+describe how initial particles are to be generated.
+</p><h5><a name="id490579"></a>
+<code class="literal">G4VUserDetectorConstruction</code>
+</h5><p>
+</p><div class="example"><a name="programlist_ManUAct_1"></a><p class="title"><b>Example 6.1. 
+<code class="literal">G4VUserDetectorConstruction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     class G4VUserDetectorConstruction
+     {
+       public:
+         G4VUserDetectorConstruction();
+         virtual ~G4VUserDetectorConstruction();
+
+       public:
+         virtual G4VPhysicalVolume* Construct() = 0;
+     };
+</pre></div></div><p><br class="example-break">
+</p><h5><a name="id490620"></a>
+<code class="literal">G4VUserPhysicsList</code>
+</h5><p>
+This is an abstract class for constructing particles and
+processes. The user must derive a concrete class from it and
+implement three virtual methods:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">ConstructParticle()</code> to instantiate each requested
+    particle type,
+  </p></li><li><p>
+    <code class="literal">ConstructPhysics()</code> to instantiate the desired physics
+    processes and register each of them with the process managers of
+    the appropriate particles, and
+  </p></li><li><p>
+    <code class="literal">SetCuts(G4double aValue)</code> to set a cut value in range
+    for all particles in the particle table, which invokes the
+    rebuilding of the physics table.
+  </p></li></ul></div><p>
+</p><p>
+When called, the <code class="literal">Construct()</code> method of
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> first invokes
+<code class="literal">ConstructParticle()</code> and then <code class="literal">ConstructProcess()</code>.
+The <code class="literal">ConstructProcess()</code> method must always invoke the
+<code class="literal">AddTransportation()</code> method in order to insure particle
+transportation. <code class="literal">AddTransportation()</code> must never be
+overridden.
+</p><p>
+<span class="emphasis"><em>G4VUserPhysicsList</em></span> provides several utility methods for
+the implementation of the above virtual methods. They are presented
+with comments in the class declaration in <a href="ch06.html#programlist_ManUAct_2" title="Example 6.2. 
+G4VUserPhysicsList
+">Example 6.2</a>.
+
+</p><div class="example"><a name="programlist_ManUAct_2"></a><p class="title"><b>Example 6.2. 
+<code class="literal">G4VUserPhysicsList</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+class G4VUserPhysicsList
+{
+  public:
+    G4VUserPhysicsList();
+    virtual ~G4VUserPhysicsList();
+
+  public:  // with description
+    // By calling the "Construct" method,
+    // particles and processes are created
+    void Construct();
+
+  protected: // with description
+   // These two methods of  ConstructParticle() and ConstructProcess()
+   // will be invoked in the Construct() method.
+
+   // each particle type will be instantiated
+   virtual void ConstructParticle() = 0;
+
+   // each physics process will be instantiated and
+   // registered to the process manager of each particle type
+   virtual void ConstructProcess() = 0;
+
+  protected: // with description
+   //  User must invoke this method in his ConstructProcess()
+   //  implementation in order to insures particle transportation.
+   //  !! Caution: this class must not be overriden !!
+   void AddTransportation();
+
+  /////////////////////////////////////////////////////////////////
+  public: // with description
+   //  "SetCuts" method sets a cut value for all particle types
+   //   in the particle table
+   virtual void SetCuts() = 0;
+
+  public:  // with description
+   //  set/get the default cut value
+   //  Calling SetDefaultCutValue causes re-calcuration of cut values
+   //  and physics tables just before the next event loop
+   void     SetDefaultCutValue(G4double newCutValue);
+   G4double GetDefaultCutValue() const;
+</pre></div></div><p><br class="example-break">
+</p><div class="informalexample"><pre class="programlisting">
+  /////////////////////////////////////////////////////////////////////
+  public: // with description
+    // Invoke BuildPhysicsTable for all processes for all particles
+    // In case of "Retrieve" flag is ON, PhysicsTable will be
+    // retrieved from files
+    void BuildPhysicsTable();
+
+   // do BuildPhysicsTable for specified particle type
+    void BuildPhysicsTable(G4ParticleDefinition* );
+
+     // Store PhysicsTable together with both material and cut value
+    // information in files under the specified directory.
+    //  (return true if files are sucessfully created)
+    G4bool  StorePhysicsTable(const G4String&amp; directory = ".");
+
+    // Return true if "Retrieve" flag is ON.
+    // (i.e. PhysicsTable will be retrieved from files)
+    G4bool  IsPhysicsTableRetrieved() const;
+    G4bool  IsStoredInAscii() const;
+
+    // Get directory path for physics table files.
+    const G4String&amp; GetPhysicsTableDirectory() const;
+
+    // Set "Retrieve" flag
+    // Directory path can be set together.
+    // Null string (default) means directory is not changed
+    // from the current value
+    void    SetPhysicsTableRetrieved(const G4String&amp; directory = "");
+    void    SetStoredInAscii();
+
+    // Reset "Retrieve" flag
+    void    ResetPhysicsTableRetrieved();
+    void    ResetStoredInAscii();
+
+ ///////////////////////////////////////////////////////////////////////
+  public: // with description
+    // Print out the List of registered particles types
+    void DumpList() const;
+
+  public: // with description
+    // Request to print out information of cut values
+    // Printing will be performed when all tables are made
+    void DumpCutValuesTable(G4int nParticles=3);
+
+    // The following method actually trigger the print-out requested
+    // by the above method. This method must be invoked by RunManager
+    // at the proper moment.
+    void DumpCutValuesTableIfRequested();
+
+  public: // with description
+    void  SetVerboseLevel(G4int value);
+    G4int GetVerboseLevel() const;
+    // set/get controle flag for output message
+    //  0: Silent
+    //  1: Warning message
+    //  2: More
+</pre></div><p>
+</p><div class="informalexample"><pre class="programlisting">
+  ///////////////////////////////////////////////////////////////////////////
+  public: // with description
+   //  "SetCutsWithDefault" method sets the default cut value
+   //   for all particles for the default region.
+   void SetCutsWithDefault();
+
+   // Following are utility methods for SetCuts
+
+   // SetCutValue sets a cut value for a particle type for the default region
+   void SetCutValue(G4double aCut, const G4String&amp; pname);
+
+   // SetCutValue sets a cut value for a particle type for a region
+   void SetCutValue(G4double aCut, const G4String&amp; pname, const G4String&amp; rname);
+
+   // Invoke SetCuts for specified particle for a region
+   // If the pointer to the region is NULL, the default region is used
+   // In case of "Retrieve" flag is ON,
+   // Cut values will be retrieved from files
+   void SetParticleCuts(G4double cut,G4ParticleDefinition* particle,G4Region* region=0);
+
+   // Invoke SetCuts for all particles in a region
+   void SetCutsForRegion(G4double aCut, const G4String&amp; rname);
+
+   // Following are utility methods are obsolete
+   void ResetCuts();
+
+///////////////////////////////////////////////////////////////////
+  public:
+   // Get/SetApplyCuts gets/sets the flag for ApplyCuts
+   void SetApplyCuts(G4bool value, const G4String&amp; name);
+   G4bool GetApplyCuts(const G4String&amp; name) const;
+
+///////////////////////////////////////////////////////////////////////////////
+  protected:
+    // do BuildPhysicsTable for make the integral schema
+    void BuildIntegralPhysicsTable(G4VProcess* ,G4ParticleDefinition*  );
+
+
+  protected:
+    // Retrieve PhysicsTable from files for proccess belongng the particle.
+    // Normal BuildPhysics procedure of processes will be invoked,
+    // if it fails (in case of Process's RetrievePhysicsTable returns false)
+    virtual void  RetrievePhysicsTable(G4ParticleDefinition* ,
+                                       const G4String&amp; directory,
+                                       G4bool          ascii = false);
+
+   /////////////////////////////////////////////////////////////////
+  protected:
+    // adds new ProcessManager to all particles in the Particle Table
+    //   this routine is used in Construct()
+    void InitializeProcessManager();
+
+  public: // with description
+    // remove and delete ProcessManagers for all particles in tha Particle Table
+    //    this routine is invoked from RunManager
+    void RemoveProcessManager();
+
+  public: // with description
+    // add process manager for particles created on-the-fly
+    void AddProcessManager(G4ParticleDefinition* newParticle,
+                           G4ProcessManager*    newManager = 0 );
+
+};
+</pre></div><p>
+</p><h5><a name="id490880"></a>
+<code class="literal">G4VUserPrimaryGeneratorAction</code>
+</h5><p>
+</p><div class="example"><a name="programlist_ManUAct_3"></a><p class="title"><b>Example 6.3. 
+<code class="literal">G4VUserPrimaryGeneratorAction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     class G4VUserPrimaryGeneratorAction
+     {
+       public:
+         G4VUserPrimaryGeneratorAction();
+         virtual ~G4VUserPrimaryGeneratorAction();
+     
+       public:
+         virtual void GeneratePrimaries(G4Event* anEvent) = 0;
+     };
+</pre></div></div><p><br class="example-break">
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch06s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">5.8. 
+Track Error Propagation
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 6.2. 
+Optional User Actions
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06s02.html	(revision 901)
@@ -0,0 +1,304 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>6.2.  Optional User Actions</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch06.html" title="Chapter 6.  User Actions"><link rel="prev" href="ch06.html" title="Chapter 6.  User Actions"><link rel="next" href="ch06s03.html" title="6.3.  User Information Classes"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.2. 
+Optional User Actions
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 6. 
+User Actions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch06s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.OptUAct"></a>6.2. 
+Optional User Actions
+</h2></div></div></div><p>
+There are five virtual classes whose methods the user may override
+in order to gain control of the simulation at various stages. Each
+method of each action class has an empty default implementation,
+allowing the user to inherit and implement desired classes and
+methods. Objects of user action classes must be registered with
+<code class="literal">G4RunManager</code>.
+</p><h5><a name="id491337"></a>
+<code class="literal">G4UserRunAction</code>
+</h5><p>
+This class has three virtual methods which are invoked by
+<code class="literal">G4RunManager</code> for each run:
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      <code class="literal">GenerateRun()</code>
+    </span></dt><dd><p>
+      This method is invoked at the beginning of <code class="literal">BeamOn</code>.
+      Because the user can inherit the class <code class="literal">G4Run</code> and create
+      his/her own concrete class to store some information about the run,
+      the <code class="literal">GenerateRun()</code> method is the place to instantiate such
+      an object. It is also the ideal place to set variables which affect
+      the physics table (such as production thresholds) for a particular
+      run, because <code class="literal">GenerateRun()</code> is invoked before the
+      calculation of the physics table.
+    </p></dd><dt><span class="term">
+      <code class="literal">BeginOfRunAction()</code>
+    </span></dt><dd><p>
+      This method is invoked before entering the event loop. A
+      typical use of this method would be to initialize and/or book
+      histograms for a particular run. This method is invoked after the
+      calculation of the physics tables.
+    </p></dd><dt><span class="term">
+      <code class="literal">EndOfRunAction()</code>
+    </span></dt><dd><p>
+      This method is invoked at the very end of the run processing.
+      It is typically used for a simple analysis of the processed run.
+    </p></dd></dl></div><p>
+</p><p>
+</p><div class="example"><a name="programlist_OptUAct_1"></a><p class="title"><b>Example 6.4. 
+<code class="literal">G4UserRunAction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     class G4UserRunAction
+     {
+       public:
+         G4UserRunAction();
+         virtual ~G4UserRunAction();
+
+       public:
+         virtual G4Run* GenerateRun();
+         virtual void BeginOfRunAction(const G4Run*);
+         virtual void EndOfRunAction(const G4Run*);
+     };
+</pre></div></div><p><br class="example-break">
+</p><h5><a name="id491471"></a>
+<code class="literal">G4UserEventAction</code>
+</h5><p>
+This class has two virtual methods which are invoked by
+<code class="literal">G4EventManager</code> for each event:
+
+</p><div class="variablelist"><p class="title"><b></b></p><dl><dt><span class="term">
+      <code class="literal">beginOfEventAction()</code>
+    </span></dt><dd><p>
+      This method is invoked before converting the primary particles
+      to <code class="literal">G4Track</code> objects. A typical use of this method 
+      would be to initialize and/or book histograms for a particular event.
+    </p></dd><dt><span class="term">
+      <code class="literal">endOfEventAction()</code>
+    </span></dt><dd><p>
+      This method is invoked at the very end of event processing. It
+      is typically used for a simple analysis of the processed event.
+      If the user wants to keep the currently processing event until the
+      end of the current run, the user can invoke
+      <code class="literal">fpEventManager-&gt;KeepTheCurrentEvent();</code>
+      so that it is kept in <span class="emphasis"><em>G4Run</em></span> object. This should 
+      be quite useful if you simulate quite many events and want to 
+      visualize only the most interest ones after the long execution.
+      Given the memory size of an event and its contents may be large, 
+      it is the user's responsibility not to keep unnecessary events.
+    </p></dd></dl></div><p>
+</p><p>
+</p><div class="example"><a name="programlist_OptUAct_2"></a><p class="title"><b>Example 6.5. 
+<code class="literal">G4UserEventAction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     class G4UserEventAction 
+     {
+       public:
+           G4UserEventAction() {;}
+           virtual ~G4UserEventAction() {;}
+           virtual void BeginOfEventAction(const G4Event*);
+           virtual void EndOfEventAction(const G4Event*);
+       protected:
+           G4EventManager* fpEventManager;
+     };
+</pre></div></div><p><br class="example-break">
+</p><h5><a name="id491582"></a>
+<code class="literal">G4UserStackingAction</code>
+</h5><p>
+This class has three virtual methods, <code class="literal">ClassifyNewTrack</code>,
+<code class="literal">NewStage</code> and <code class="literal">PrepareNewEvent</code> which the 
+user may override in order to control the various track stacking mechanisms.
+ExampleN04 could be a good example to understand the usage of this class.
+</p><p>
+<code class="literal">ClassifyNewTrack()</code> is invoked by 
+<code class="literal">G4StackManager</code> whenever a new <code class="literal">G4Track</code> 
+object is "pushed" onto a stack by <code class="literal">G4EventManager</code>.
+<code class="literal">ClassifyNewTrack()</code> returns an enumerator,
+<code class="literal">G4ClassificationOfNewTrack</code>, whose value indicates to which
+stack, if any, the track will be sent. This value should be
+determined by the user. <code class="literal">G4ClassificationOfNewTrack</code> has
+four possible values:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">fUrgent</code> - track is placed in the 
+    <span class="emphasis"><em>urgent</em></span> stack
+  </p></li><li><p>
+    <code class="literal">fWaiting</code> - track is placed in the 
+    <span class="emphasis"><em>waiting</em></span> stack, and will not be simulated until
+    the <span class="emphasis"><em>urgent</em></span> stack is empty
+  </p></li><li><p>
+    <code class="literal">fPostpone</code> - track is postponed to the next event
+  </p></li><li><p>
+    <code class="literal">fKill</code> - the track is deleted immediately and not
+    stored in any stack.
+  </p></li></ul></div><p>      
+</p><p>
+These assignments may be made based on the origin of the track
+which is obtained as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4int parent_ID = aTrack-&gt;get_parentID();
+</pre></div><p>
+
+where
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">parent_ID = 0</code> indicates a primary particle
+  </p></li><li><p>
+    <code class="literal">parent_ID &gt; 0</code> indicates a secondary particle
+  </p></li><li><p>
+    <code class="literal">parent_ID &lt; 0</code> indicates postponed particle from
+    previous event.
+  </p></li></ul></div><p>      
+</p><p>
+<code class="literal">NewStage()</code> is invoked when the <span class="emphasis"><em>urgent</em></span> 
+stack is empty and the <span class="emphasis"><em>waiting</em></span> stack contains at least one
+<code class="literal">G4Track</code> object. Here the user may kill or re-assign to
+different stacks all the tracks in the <span class="emphasis"><em>waiting</em></span> stack by
+calling the <code class="literal">stackManager-&gt;ReClassify()</code> method which, in
+turn, calls the <code class="literal">ClassifyNewTrack()</code> method. If no user
+action is taken, all tracks in the <span class="emphasis"><em>waiting</em></span> stack are
+transferred to the <span class="emphasis"><em>urgent</em></span> stack. The user may also decide to
+abort the current event even though some tracks may remain in the
+<span class="emphasis"><em>waiting</em></span> stack by calling <code class="literal">stackManager-&gt;clear()</code>.
+This method is valid and safe only if it is called from the
+<code class="literal">G4UserStackingAction</code> class. A global method of event
+abortion is
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4UImanager * UImanager = G4UImanager::GetUIpointer();
+  UImanager-&gt;ApplyCommand("/event/abort");
+</pre></div><p>
+</p><p>
+<code class="literal">PrepareNewEvent()</code> is invoked at the beginning of each
+event. At this point no primary particles have been converted to
+tracks, so the <span class="emphasis"><em>urgent</em></span> and <span class="emphasis"><em>waiting</em></span> 
+stacks are empty. However, there may be tracks in the 
+<span class="emphasis"><em>postponed-to-next-event</em></span> stack; 
+for each of these the <code class="literal">ClassifyNewTrack()</code> method is
+called and the track is assigned to the appropriate stack.
+
+</p><div class="example"><a name="programlist_OptUAct_3"></a><p class="title"><b>Example 6.6. 
+<code class="literal">G4UserStackingAction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     #include "G4ClassificationOfNewTrack.hh"
+
+     class G4UserStackingAction 
+     {
+       public:
+           G4UserStackingAction();
+           virtual ~G4UserStackingAction();
+       protected:
+           G4StackManager * stackManager;
+
+       public:
+     //---------------------------------------------------------------
+     // virtual methods to be implemented by user
+     //---------------------------------------------------------------
+     //
+           virtual G4ClassificationOfNewTrack 
+             ClassifyNewTrack(const G4Track*);
+     //
+     //---------------------------------------------------------------
+     //
+           virtual void NewStage();
+     //
+     //---------------------------------------------------------------
+     //
+           virtual void PrepareNewEvent();
+     //
+     //---------------------------------------------------------------
+
+     };
+</pre></div></div><p><br class="example-break">
+</p><h5><a name="id491907"></a>
+<code class="literal">G4UserTrackingAction</code>
+</h5><p>
+</p><div class="example"><a name="programlist_OptUAct_4"></a><p class="title"><b>Example 6.7. 
+<code class="literal">G4UserTrackingAction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     //---------------------------------------------------------------
+     //
+     // G4UserTrackingAction.hh
+     //
+     // Description:
+     //   This class represents actions taken place by the user at each
+     //   end of stepping. 
+     //
+     //---------------------------------------------------------------
+
+     ///////////////////////////
+     class G4UserTrackingAction 
+     ///////////////////////////
+     {
+     
+     //--------
+        public:
+     //--------
+     
+     // Constructor &amp; Destructor
+        G4UserTrackingAction(){};
+        virtual ~G4UserTrackingAction(){}
+     
+     // Member functions
+        virtual void PreUserTrackingAction(const G4Track*){}
+        virtual void PostUserTrackingAction(const G4Track*){}
+     
+     //----------- 
+        protected:
+     //----------- 
+     
+     // Member data
+        G4TrackingManager* fpTrackingManager;
+     
+     };
+</pre></div></div><p><br class="example-break">
+</p><h5><a name="id491954"></a>
+<code class="literal">G4UserSteppingAction</code>
+</h5><p>
+</p><div class="example"><a name="programlist_OptUAct_5"></a><p class="title"><b>Example 6.8. 
+<code class="literal">G4UserSteppingAction</code>
+</b></p><div class="example-contents"><pre class="programlisting">
+     //---------------------------------------------------------------
+     //
+     //  G4UserSteppingAction.hh
+     //
+     //  Description:
+     //    This class represents actions taken place by the user at each
+     //    end of stepping. 
+     //
+     //---------------------------------------------------------------
+     
+     ///////////////////////////
+     class G4UserSteppingAction 
+     ///////////////////////////
+     {
+     
+     //--------
+        public:
+     //--------
+     
+     // Constructor and destructor
+        G4UserSteppingAction(){}
+        virtual ~G4UserSteppingAction(){}
+     
+     // Member functions
+        virtual void UserSteppingAction(const G4Step*){}
+     
+     //----------- 
+        protected:
+     //----------- 
+     
+     // Member data
+        G4SteppingManager* fpSteppingManager;
+     
+     };
+</pre></div></div><p><br class="example-break">
+</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch06.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch06s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. 
+User Actions
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 6.3. 
+User Information Classes
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch06s03.html	(revision 901)
@@ -0,0 +1,185 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>6.3.  User Information Classes</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch06.html" title="Chapter 6.  User Actions"><link rel="prev" href="ch06s02.html" title="6.2.  Optional User Actions"><link rel="next" href="ch07.html" title="Chapter 7.  Communication and Control"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.3. 
+User Information Classes
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch06s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 6. 
+User Actions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.UInfoCls"></a>6.3. 
+User Information Classes
+</h2></div></div></div><p>
+Additional user information can be associated with various Geant4
+classes. There are basically two ways for the user to do this:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derive concrete classes from base classes used in Geant4. These
+    are classes for run, hit, digit, trajectory and trajectory point,
+    which are discussed in 
+    <a href="ch06s02.html" title="6.2. 
+Optional User Actions
+">Section 6.2</a> for G4Run, 
+    <a href="ch04s04.html" title="4.4. 
+Hits
+">Section 4.4</a> for G4VHit,
+    <a href="ch04s05.html" title="4.5. 
+Digitization
+">Section 4.5</a> for G4VDigit, and
+    <a href="ch05.html#sect.Track.Traj" title="5.1.6. 
+Trajectory and Trajectory Point
+">Section 5.1.6</a> for G4VTrajectory and G4VTrajectoryPoint
+  </p></li><li><p>
+    create concrete classes from provided abstract base classes and
+    associate them with classes used in Geant4. Geant4 classes which
+    can accommodate user information classes are G4Event, G4Track,
+    G4PrimaryVertex, G4PrimaryParticle and G4Region. These classes are
+    discussed here.
+  </p></li></ul></div><p>
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UInfoCls.UEvtInfo"></a>6.3.1. 
+G4VUserEventInformation
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4VUserEventInformation</em></span> is an abstract class from 
+which the user can derive his/her own concrete class for storing user
+information associated with a G4Event class object. It is the
+user's responsibility to construct a concrete class object and set
+the pointer to a proper G4Event object.
+</p><p>
+Within a concrete implementation of G4UserEventAction, the
+SetUserEventInformation() method of G4EventManager may be used to
+set a pointer of a concrete class object to G4Event, given that the
+G4Event object is available only by "pointer to const".
+Alternatively, the user may modify the GenerateEvent() method of
+his/her own RunManager to instantiate a G4VUserEventInformation
+object and set it to G4Event.
+</p><p>
+The concrete class object is deleted by the Geant4 kernel when
+the associated G4Event object is deleted.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UInfoCls.UTkInfo"></a>6.3.2. 
+G4VUserTrackInformation
+</h3></div></div></div><p>
+This is an abstract class from which the user can derive his/her
+own concrete class for storing user information associated with a
+G4Track class object. It is the user's responsibility to construct
+a concrete class object and set the pointer to the proper G4Track
+object.
+</p><p>
+Within a concrete implementation of G4UserTrackingAction, the
+SetUserTrackInformation() method of G4TrackingManager may be used
+to set a pointer of a concrete class object to G4Track, given that
+the G4Track object is available only by "pointer to const".
+</p><p>
+The ideal place to copy a G4VUserTrackInformation object from a
+mother track to its daughter tracks is
+<span class="emphasis"><em>G4UserTrackingAction::PostUserTrackingAction()</em></span>.
+
+</p><div class="example"><a name="programlist_UInfoCls_1"></a><p class="title"><b>Example 6.9. 
+Copying <code class="literal">G4VUserTrackInformation</code> from mother to daughter tracks
+</b></p><div class="example-contents"><pre class="programlisting">
+void RE01TrackingAction::PostUserTrackingAction(const G4Track* aTrack)
+{
+  G4TrackVector* secondaries = fpTrackingManager-&gt;GimmeSecondaries();
+  if(secondaries)
+  {
+    RE01TrackInformation* info = (RE01TrackInformation*)(aTrack-&gt;GetUserInformation());
+    size_t nSeco = secondaries-&gt;size();
+    if(nSeco&gt;0)
+    {
+      for(size_t i=0; i &lt; nSeco; i++)
+      {
+        RE01TrackInformation* infoNew = new RE01TrackInformation(info);
+        (*secondaries)[i]-&gt;SetUserInformation(infoNew);
+      }
+    }
+  }
+}
+</pre></div></div><p><br class="example-break">
+</p><p>
+The concrete class object is deleted by the Geant4 kernel when
+the associated G4Track object is deleted. In case the user wants to
+keep the information, it should be copied to a trajectory
+corresponding to the track.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UInfoCls.UPrimVxTk"></a>6.3.3. 
+G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation
+</h3></div></div></div><p>
+These abstract classes allow the user to attach information
+regarding the generated primary vertex and primary particle.
+Concrete class objects derived from these classes should be
+attached to <span class="emphasis"><em>G4PrimaryVertex</em></span> and 
+<span class="emphasis"><em>G4PrimaryParticle</em></span> class objects, respectively.
+</p><p>
+The concrete class objects are deleted by the Geant4 Kernel when
+the associated G4PrimaryVertex or G4PrimaryParticle class objects
+are deleted along with the deletion of G4Event.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UInfoCls.URegInfo"></a>6.3.4. 
+G4VUserRegionInformation
+</h3></div></div></div><p>
+This abstract base class allows the user to attach information
+associated with a region. For example, it would be quite beneficial
+to add some methods returning a boolean flag to indicate the
+characteristics of the region (e.g. tracker, calorimeter, etc.).
+With this example, the user can easily and quickly identify the
+detector component.
+
+</p><div class="example"><a name="programlist_UInfoCls_2"></a><p class="title"><b>Example 6.10. 
+A sample region information class
+</b></p><div class="example-contents"><pre class="programlisting">
+class RE01RegionInformation : public G4VUserRegionInformation
+{
+  public:
+    RE01RegionInformation();
+    ~RE01RegionInformation();
+    void Print() const;
+
+  private:
+    G4bool isWorld;
+    G4bool isTracker;
+    G4bool isCalorimeter;
+
+  public:
+    inline void SetWorld(G4bool v=true) {isWorld = v;}
+    inline void SetTracker(G4bool v=true) {isTracker = v;}
+    inline void SetCalorimeter(G4bool v=true) {isCalorimeter = v;}
+    inline G4bool IsWorld() const {return isWorld;}
+    inline G4bool IsTracker() const {return isTracker;}
+    inline G4bool IsCalorimeter() const {return isCalorimeter;}
+};
+</pre></div></div><p><br class="example-break">
+</p><p>
+The following code is an example of a stepping action. Here, a
+track is suspended when it enters the "calorimeter region" from the
+"tracker region".
+
+</p><div class="example"><a name="programlist_UInfoCls_3"></a><p class="title"><b>Example 6.11. 
+Sample use of a region information class
+</b></p><div class="example-contents"><pre class="programlisting">
+void RE01SteppingAction::UserSteppingAction(const G4Step * theStep)
+{
+  // Suspend a track if it is entering into the calorimeter
+
+  // check if it is alive
+  G4Track * theTrack = theStep-&gt;GetTrack();
+  if(theTrack-&gt;GetTrackStatus()!=fAlive) { return; }
+
+  // get region information
+  G4StepPoint * thePrePoint = theStep-&gt;GetPreStepPoint();
+  G4LogicalVolume * thePreLV = thePrePoint-&gt;GetPhysicalVolume()-&gt;GetLogicalVolume();
+  RE01RegionInformation* thePreRInfo
+   = (RE01RegionInformation*)(thePreLV-&gt;GetRegion()-&gt;GetUserInformation());
+  G4StepPoint * thePostPoint = theStep-&gt;GetPostStepPoint();
+  G4LogicalVolume * thePostLV = thePostPoint-&gt;GetPhysicalVolume()-&gt;GetLogicalVolume();
+  RE01RegionInformation* thePostRInfo
+   = (RE01RegionInformation*)(thePostLV-&gt;GetRegion()-&gt;GetUserInformation());
+
+  // check if it is entering to the calorimeter volume
+  if(!(thePreRInfo-&gt;IsCalorimeter()) &amp;&amp; (thePostRInfo-&gt;IsCalorimeter()))
+  { theTrack-&gt;SetTrackStatus(fSuspend); }
+}
+</pre></div></div><p><br class="example-break">
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch06s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch06.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">6.2. 
+Optional User Actions
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 7. 
+Communication and Control
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch07.html	(revision 901)
@@ -0,0 +1,42 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 7.  Communication and Control</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch06s03.html" title="6.3.  User Information Classes"><link rel="next" href="ch07s02.html" title="7.2.  User Interface - Defining New Commands"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. 
+Communication and Control
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch06s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch07s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.CommunicationAndControl"></a>Chapter 7. 
+Communication and Control
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.BuiltinCom"></a>7.1. 
+Built-in Commands
+</h2></div></div></div><p>
+Geant4 has various built-in user interface commands, each of which
+corresponds roughly to a Geant4 category. These commands can be
+used
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    interactively via a (Graphical) User Interface - (G)UI,
+  </p></li><li><p>
+    in a macro file via /control/execute &lt;command&gt;,
+  </p></li><li><p>
+    within C++ code with the ApplyCommand method of G4UImanager.
+  </p></li></ul></div><p>
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">
+Note
+</h3><p>
+The availability of individual commands, the ranges of parameters,
+the available candidates on individual command parameters
+<span class="bold"><strong>vary</strong></span> according to the implementation of 
+your application and may even <span class="bold"><strong>vary</strong></span> 
+dynamically during the execution of your job.
+</p></div><p>
+<a href="./AllResources/Control/UIcommands/_.html" target="_top">
+List of built-in commands
+</a>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch06s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch07s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">6.3. 
+User Information Classes
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 7.2. 
+User Interface - Defining New Commands
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch07s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch07s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch07s02.html	(revision 901)
@@ -0,0 +1,795 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>7.2.  User Interface - Defining New Commands</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch07.html" title="Chapter 7.  Communication and Control"><link rel="prev" href="ch07.html" title="Chapter 7.  Communication and Control"><link rel="next" href="ch08.html" title="Chapter 8.  Visualization"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">7.2. 
+User Interface - Defining New Commands
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 7. 
+Communication and Control
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.UIDefNew"></a>7.2. 
+User Interface - Defining New Commands
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UIDefNew.UIMess"></a>7.2.1. 
+G4UImessenger
+</h3></div></div></div><p>
+<span class="emphasis"><em>G4UImessenger</em></span> is a base class which represents a 
+messenger that delivers command(s) to the destination class object. Your
+concrete messenger should have the following functionalities.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Construct your command(s) in the constructor of your messenger.
+  </p></li><li><p>
+    Destruct your command(s) in the destructor of your messenger.
+  </p></li></ul></div><p>
+</p><p>
+These requirements mean that your messenger should keep all
+pointers to your command objects as its data members.
+</p><p>
+You can use <span class="emphasis"><em>G4UIcommand</em></span> derived classes for the most
+frequent types of command. These derived classes have their own
+conversion methods according to their types, and they make
+implementation of the <code class="literal">SetNewValue()</code> and
+<code class="literal">GetCurrentValue()</code> methods of your messenger much easier
+and simpler.
+</p><p>
+For complicated commands which take various parameters, you can
+use the <span class="emphasis"><em>G4UIcommand</em></span> base class, and construct
+<span class="emphasis"><em>G4UIparameter</em></span> objects by yourself. You don't need to delete
+<span class="emphasis"><em>G4UIparameter</em></span> object(s).
+</p><p>
+In the <code class="literal">SetNewValue()</code> and <code class="literal">GetCurrentValue()</code>
+methods of your messenger, you can compare the <span class="emphasis"><em>G4UIcommand</em></span>
+pointer given in the argument of these methods with the pointer of
+your command, because your messenger keeps the pointers to the
+commands. Thus, you don't need to compare by command name. Please
+remember, in the cases where you use <span class="emphasis"><em>G4UIcommand</em></span> derived
+classes, you should store the pointers with the types of these
+derived classes so that you can use methods defined in the derived
+classes according to their types without casting.
+</p><p>
+<span class="emphasis"><em>G4UImanager/G4UIcommand/G4UIparameter</em></span> have very powerful
+type and range checking routines. You are strongly recommended to
+set the range of your parameters. For the case of a numerical value
+(<code class="literal">int</code> or <code class="literal">double</code>), the range can be given by a
+<span class="emphasis"><em>G4String</em></span> using C++ notation, e.g., <code class="literal">"X &gt; 0 &amp;&amp;
+X &lt; 10"</code>. For the case of a string type parameter, you can
+set a candidate list. Please refer to the detailed descriptions below.
+</p><p>
+<code class="literal">GetCurrentValue()</code> will be invoked after the user's
+application of the corresponding command, and before the
+<code class="literal">SetNewValue()</code> invocation. This <code class="literal">GetCurrentValue()</code>
+method will be invoked only if
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    at least one parameter of the command has a range
+  </p></li><li><p>
+    at least one parameter of the command has a candidate list
+  </p></li><li><p>
+    at least the value of one parameter is omitted and this
+    parameter is defined as omittable and
+    <code class="literal">currentValueAsDefault</code>
+  </p></li></ul></div><p>
+</p><p>
+For the first two cases, you can re-set the range or the candidate
+list if you need to do so, but these ``re-set'' parameters are
+needed only for the case where the range or the candidate list
+varies dynamically.
+</p><p>
+A command can be ``state sensitive'', i.e., the command can be
+accepted only for a certain <span class="emphasis"><em>G4ApplicationState</em></span>(s). For
+example, the <code class="literal">/run/beamOn</code> command should not be accepted
+when Geant4 is processing another event (``G4State_EventProc''
+state). You can set the states available for the command with the
+<code class="literal">AvailableForStates()</code> method.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UIDefNew.DervCls"></a>7.2.2. 
+G4UIcommand and its derived classes
+</h3></div></div></div><h5><a name="id495268"></a>
+Methods available for all derived classes
+</h5><p>
+These are methods defined in the <span class="emphasis"><em>G4UIcommand</em></span> base class
+which should be used from the derived classes.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">void SetGuidance(char*)</code>
+    </p><p>
+    Define a guidance line. You can invoke this method as many times
+    as you need to give enough amount of guidance. Please note that the
+    first line will be used as a title head of the command guidance.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void availableForStates(G4ApplicationState s1,...)</code>
+    </p><p>
+    If your command is valid only for certain states of the Geant4
+    kernel, specify these states by this method. Currently available
+    states are <code class="literal">G4State_PreInit, G4State_Init, G4State_Idle,
+    G4State_GeomClosed,</code> and <code class="literal">G4State_EventProc</code>. 
+    Refer to the section 3.4.2 for meaning of each state. Please note that 
+    the <code class="literal">Pause</code> state had been removed from
+    <span class="emphasis"><em>G4ApplicationState</em></span>.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetRange(char* range)</code>
+    </p><p>
+    Define a range of the parameter(s). Use C++ notation, e.g.,
+    <code class="literal">"x &gt; 0 &amp;&amp; x &lt; 10"</code>, with variable name(s)
+    defined by the <code class="literal">SetParameterName()</code> method. For the case of
+    a <span class="emphasis"><em>G4ThreeVector</em></span>, you can set the relation between
+    parameters, e.g., <code class="literal">"x &gt; y"</code>.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495379"></a>
+G4UIdirectory
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class for defining a
+directory.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIdirectory(char* directoryPath)</code>
+    </p><p>
+    Constructor. Argument is the (full-path) directory, which must
+    begin and terminate with `<code class="literal">/</code>'.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495420"></a>
+G4UIcmdWithoutParameter
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class for a command which
+takes no parameter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWithoutParameter(char* commandPath,
+    G4UImessenger* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495457"></a>
+G4UIcmdWithABool
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+boolean type parameter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWithABool(char* commandpath,G4UImanager*
+    theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</code>
+    </p><p>
+    Define the name of the boolean parameter and set the omittable
+    flag. If omittable is true, you should define the default value
+    using the next method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultValue(G4bool defVal)</code>
+    </p><p>
+    Define the default value of the boolean parameter.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4bool GetNewBoolValue(G4String paramString)</code>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into boolean.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4String convertToString(G4bool currVal)</code>
+    </p><p>
+    Convert the current boolean value to <span class="emphasis"><em>G4String</em></span> 
+    whichshould be returned by the <code class="literal">GetCurrentValue()</code> method 
+    of your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495570"></a>
+G4UIcmdWithAnInteger
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+integer type parameter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWithAnInteger(char* commandpath,
+    G4UImanager* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</code>
+    </p><p>
+    Define the name of the integer parameter and set the omittable
+    flag. If omittable is true, you should define the default value
+    using the next method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultValue(G4int defVal)</code>
+    </p><p>
+    Define the default value of the integer parameter.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4int GetNewIntValue(G4String paramString)</code>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into integer.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4String convertToString(G4int currVal)</code>
+    </p><p>
+    Convert the current integer value to <span class="emphasis"><em>G4String</em></span>, which
+    should be returned by the <code class="literal">GetCurrentValue()</code> method of your
+    messenger.
+    </p><p>
+</p></li></ul></div><p>
+</p><h5><a name="id495683"></a>
+G4UIcmdWithADouble
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+double type parameter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWithADouble(char* commandpath,
+    G4UImanager* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</code>
+    </p><p>
+    Define the name of the double parameter and set the omittable
+    flag. If omittable is true, you should define the default value
+    using the next method.
+    </p><p>
+  </p></li><li><p><code class="literal">void SetDefaultValue(G4double defVal)</code>
+  </p><p>
+  Define the default value of the double parameter.
+  </p><p>
+  </p></li><li><p>
+    <code class="literal">G4double GetNewDoubleValue(G4String paramString)</code>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into double.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4String convertToString(G4double currVal)</code>
+    </p><p>
+    Convert the current double value to <span class="emphasis"><em>G4String</em></span> which
+    should be returned by the <code class="literal">GetCurrentValue()</code> method of 
+    your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495795"></a>
+G4UIcmdWithAString
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+string type parameter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWithAString(char* commandpath,
+    G4UImanager* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</code>
+    </p><p>
+    Define the name of the string parameter and set the omittable
+    flag. If omittable is true, you should define the default value
+    using the next method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultValue(char* defVal)</code>
+    </p><p>
+    Define the default value of the string parameter.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetCandidates(char* candidateList)</code>
+    </p><p>
+    Define a candidate list which can be taken by the parameter.
+    Each candidate listed in this list should be separated by a single
+    space. If this candidate list is given, a string given by the user
+    but which is not listed in this list will be rejected.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495876"></a>
+G4UIcmdWith3Vector
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+three vector parameter.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWith3Vector(char* commandpath,
+    G4UImanager* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramNamX, char* paramNamY,
+    char* paramNamZ, G4bool omittable)</code>
+    </p><p>
+    Define the names of each component of the three vector and set
+    the omittable flag. If omittable is true, you should define the
+    default value using the next method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultValue(G4ThreeVector defVal)</code>
+    </p><p>
+    Define the default value of the three vector.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4ThreeVector GetNew3VectorValue(G4String paramString)</code>
+    </p><p>
+    Convert the <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into a
+    <span class="emphasis"><em>G4ThreeVector</em></span>.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4String convertToString(G4ThreeVector currVal)</code>
+    </p><p>
+    Convert the current three vector to <span class="emphasis"><em>G4String</em></span>, which
+    should be returned by the <code class="literal">GetCurrentValue()</code> method of 
+    your messenger.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id495993"></a>
+G4UIcmdWithADoubleAndUnit
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+double type parameter and its unit.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWithADoubleAndUnit(char* commandpath,
+    G4UImanager* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramName,
+    G4bool omittable)</code>
+    </p><p>
+    Define the name of the double parameter and set the omittable
+    flag. If omittable is true, you should define the default value
+    using the next method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultValue(G4double defVal)</code>
+    </p><p>
+    Define the default value of the double parameter.
+    </p><p>
+</p><p>
+</p></li><li><p>
+  <code class="literal">void SetUnitCategory(char* unitCategory)</code>
+  </p><p>
+  Define acceptable unit category.
+  </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultUnit(char* defUnit)</code>
+    </p><p>
+    Define the default unit. Please use this method and the
+    <code class="literal">SetUnitCategory()</code> method alternatively.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4double GetNewDoubleValue(G4String paramString)</code>
+    </p><p>
+    Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into double. 
+    Please note that the return value has already been multiplied by the 
+    value of the given unit.
+    </p><p>
+  </p></li><li><p><code class="literal">G4double GetNewDoubleRawValue(G4String paramString)</code>
+  </p><p>
+  Convert <span class="emphasis"><em>G4String</em></span> parameter value given by the
+  <code class="literal">SetNewValue()</code> method of your messenger into double but
+  without multiplying the value of the given unit.
+  </p><p>
+  </p></li><li><p><code class="literal">G4double GetNewUnitValue(G4String paramString)</code>
+  </p><p>
+  Convert <span class="emphasis"><em>G4String</em></span> unit value given by the
+  <code class="literal">SetNewValue()</code> method of your messenger into double.
+  </p><p>
+  </p></li><li><p>
+    <code class="literal">G4String convertToString(G4bool currVal,
+    char* unitName)</code>
+    </p><p>
+    Convert the current double value to a <span class="emphasis"><em>G4String</em></span>, which
+    should be returned by the <code class="literal">GetCurrentValue()</code> method of your
+    messenger. The double value will be divided by the value of the
+    given unit and converted to a string. Given unit will be added to the string.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id496191"></a>
+G4UIcmdWith3VectorAndUnit
+</h5><p>
+This is a <span class="emphasis"><em>G4UIcommand</em></span> derived class which takes one
+three vector parameter and its unit.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">G4UIcmdWith3VectorAndUnit(char* commandpath,
+    G4UImanager* theMessenger)</code>
+    </p><p>
+    Constructor. Arguments are the (full-path) command name and the
+    pointer to your messenger.</p><p>
+  </p></li><li><p>
+    <code class="literal">void SetParameterName(char* paramNamX, char* paramNamY,
+    char* paramNamZ,G4bool omittable)</code>
+    </p><p>
+    Define the names of each component of the three vector and set
+    the omittable flag. If omittable is true, you should define the
+    default value using the next method.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultValue(G4ThreeVector defVal)</code>
+    </p><p>
+    Define the default value of the three vector.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetUnitCategory(char* unitCategory)</code>
+    </p><p>
+    Define acceptable unit category.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">void SetDefaultUnit(char* defUnit)</code>
+    </p><p>
+    Define the default unit. Please use this method and the
+    <code class="literal">SetUnitCategory()</code> method alternatively.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4ThreeVector GetNew3VectorValue(G4String paramString)</code>
+    </p><p>
+    Convert a <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into a
+    <span class="emphasis"><em>G4ThreeVector</em></span>. Please note that the return value has 
+    already been multiplied by the value of the given unit.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4ThreeVector GetNew3VectorRawValue(G4String paramString)</code>
+    </p><p>
+    Convert a <span class="emphasis"><em>G4String</em></span> parameter value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into three vector,
+    but without multiplying the value of the given unit.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4double GetNewUnitValue(G4String paramString)</code>
+    </p><p>
+    Convert a <span class="emphasis"><em>G4String</em></span> unit value given by the
+    <code class="literal">SetNewValue()</code> method of your messenger into a double.
+    </p><p>
+  </p></li><li><p>
+    <code class="literal">G4String convertToString(G4ThreeVector currVal,
+    char* unitName)</code>
+    </p><p>
+    Convert the current three vector to a <span class="emphasis"><em>G4String</em></span> which
+    should be returned by the <code class="literal">GetCurrentValue()</code> method of 
+    your messenger. The three vector value will be divided by the value of
+    the given unit and converted to a string. Given unit will be added
+    to the string.
+    </p><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id496393"></a>
+Additional comments on the <code class="literal">SetParameterName()</code> method
+</h5><p>
+You can add one additional argument of <code class="literal">G4bool</code> type for
+every <code class="literal">SetParameterName()</code> method mentioned above. This
+additional argument is named <code class="literal">currentAsDefaultFlag</code> and the
+default value of this argument is <code class="literal">false</code>. If you assign
+this extra argument as <code class="literal">true</code>, the default value of the
+parameter will be overriden by the current value of the target
+class.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UIDefNew.ExpMess"></a>7.2.3. 
+An example messenger
+</h3></div></div></div><p>
+This example is of <span class="emphasis"><em>G4ParticleGunMessenger</em></span>, which is  
+made by inheriting <span class="emphasis"><em>G4UIcommand</em></span>.
+
+</p><div class="example"><a name="programlist_UIDefNew_1"></a><p class="title"><b>Example 7.1. 
+An example of <code class="literal">G4ParticleGunMessenger.hh</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+#ifndef G4ParticleGunMessenger_h
+#define G4ParticleGunMessenger_h 1
+
+class G4ParticleGun;
+class G4ParticleTable;
+class G4UIcommand;
+class G4UIdirectory;
+class G4UIcmdWithoutParameter;
+class G4UIcmdWithAString;
+class G4UIcmdWithADoubleAndUnit;
+class G4UIcmdWith3Vector;
+class G4UIcmdWith3VectorAndUnit;
+
+#include "G4UImessenger.hh"
+#include "globals.hh"
+
+class G4ParticleGunMessenger: public G4UImessenger
+{
+  public:
+    G4ParticleGunMessenger(G4ParticleGun * fPtclGun);
+    ~G4ParticleGunMessenger();
+    
+  public:
+    void SetNewValue(G4UIcommand * command,G4String newValues);
+    G4String GetCurrentValue(G4UIcommand * command);
+
+  private:
+    G4ParticleGun * fParticleGun;
+    G4ParticleTable * particleTable;
+    
+  private: //commands
+    G4UIdirectory *             gunDirectory;
+    G4UIcmdWithoutParameter *   listCmd;
+    G4UIcmdWithAString *        particleCmd;
+    G4UIcmdWith3Vector *        directionCmd;
+    G4UIcmdWithADoubleAndUnit * energyCmd;
+    G4UIcmdWith3VectorAndUnit * positionCmd;
+    G4UIcmdWithADoubleAndUnit * timeCmd;
+    
+};
+
+#endif 
+</pre></div></div><p><br class="example-break">
+</p><p>
+</p><div class="example"><a name="programlist_UIDefNew_2"></a><p class="title"><b>Example 7.2. 
+An example of <code class="literal">G4ParticleGunMessenger.cc</code>.
+</b></p><div class="example-contents"><pre class="programlisting">
+#include "G4ParticleGunMessenger.hh"
+#include "G4ParticleGun.hh"
+#include "G4Geantino.hh"
+#include "G4ThreeVector.hh"
+#include "G4ParticleTable.hh"
+#include "G4UIdirectory.hh"
+#include "G4UIcmdWithoutParameter.hh"
+#include "G4UIcmdWithAString.hh"
+#include "G4UIcmdWithADoubleAndUnit.hh"
+#include "G4UIcmdWith3Vector.hh"
+#include "G4UIcmdWith3VectorAndUnit.hh"
+#include &lt;iostream.h&gt;
+
+G4ParticleGunMessenger::G4ParticleGunMessenger(G4ParticleGun * fPtclGun)
+:fParticleGun(fPtclGun)
+{
+  particleTable = G4ParticleTable::GetParticleTable();
+
+  gunDirectory = new G4UIdirectory("/gun/");
+  gunDirectory-&gt;SetGuidance("Particle Gun control commands.");
+
+  listCmd = new G4UIcmdWithoutParameter("/gun/list",this);
+  listCmd-&gt;SetGuidance("List available particles.");
+  listCmd-&gt;SetGuidance(" Invoke G4ParticleTable.");
+
+  particleCmd = new G4UIcmdWithAString("/gun/particle",this);
+  particleCmd-&gt;SetGuidance("Set particle to be generated.");
+  particleCmd-&gt;SetGuidance(" (geantino is default)");
+  particleCmd-&gt;SetParameterName("particleName",true);
+  particleCmd-&gt;SetDefaultValue("geantino");
+  G4String candidateList; 
+  G4int nPtcl = particleTable-&gt;entries();
+  for(G4int i=0;i&lt;nPtcl;i++)
+  {
+    candidateList += particleTable-&gt;GetParticleName(i);
+    candidateList += " ";
+  }
+  particleCmd-&gt;SetCandidates(candidateList);
+
+  directionCmd = new G4UIcmdWith3Vector("/gun/direction",this);
+  directionCmd-&gt;SetGuidance("Set momentum direction.");
+  directionCmd-&gt;SetGuidance("Direction needs not to be a unit vector.");
+  directionCmd-&gt;SetParameterName("Px","Py","Pz",true,true); 
+  directionCmd-&gt;SetRange("Px != 0 || Py != 0 || Pz != 0");
+  
+  energyCmd = new G4UIcmdWithADoubleAndUnit("/gun/energy",this);
+  energyCmd-&gt;SetGuidance("Set kinetic energy.");
+  energyCmd-&gt;SetParameterName("Energy",true,true);
+  energyCmd-&gt;SetDefaultUnit("GeV");
+  energyCmd-&gt;SetUnitCandidates("eV keV MeV GeV TeV");
+
+  positionCmd = new G4UIcmdWith3VectorAndUnit("/gun/position",this);
+  positionCmd-&gt;SetGuidance("Set starting position of the particle.");
+  positionCmd-&gt;SetParameterName("X","Y","Z",true,true);
+  positionCmd-&gt;SetDefaultUnit("cm");
+  positionCmd-&gt;SetUnitCandidates("micron mm cm m km");
+
+  timeCmd = new G4UIcmdWithADoubleAndUnit("/gun/time",this);
+  timeCmd-&gt;SetGuidance("Set initial time of the particle.");
+  timeCmd-&gt;SetParameterName("t0",true,true);
+  timeCmd-&gt;SetDefaultUnit("ns");
+  timeCmd-&gt;SetUnitCandidates("ns ms s");
+  
+  // Set initial value to G4ParticleGun
+  fParticleGun-&gt;SetParticleDefinition( G4Geantino::Geantino() );
+  fParticleGun-&gt;SetParticleMomentumDirection( G4ThreeVector(1.0,0.0,0.0) );
+  fParticleGun-&gt;SetParticleEnergy( 1.0*GeV );
+  fParticleGun-&gt;SetParticlePosition(G4ThreeVector(0.0*cm, 0.0*cm, 0.0*cm));
+  fParticleGun-&gt;SetParticleTime( 0.0*ns );
+}
+</pre></div></div><p><br class="example-break">
+</p><div class="informalexample"><pre class="programlisting">
+G4ParticleGunMessenger::~G4ParticleGunMessenger()
+{
+  delete listCmd;
+  delete particleCmd;
+  delete directionCmd;
+  delete energyCmd;
+  delete positionCmd;
+  delete timeCmd;
+  delete gunDirectory;
+}
+
+void G4ParticleGunMessenger::SetNewValue(
+  G4UIcommand * command,G4String newValues)
+{
+  if( command==listCmd )
+  { particleTable-&gt;dumpTable(); }
+  else if( command==particleCmd )
+  {
+    G4ParticleDefinition* pd = particleTable-&gt;findParticle(newValues);
+    if(pd != NULL)
+    { fParticleGun-&gt;SetParticleDefinition( pd ); }
+  }
+  else if( command==directionCmd )
+  { fParticleGun-&gt;SetParticleMomentumDirection(directionCmd-&gt;
+     GetNew3VectorValue(newValues)); }
+  else if( command==energyCmd )
+  { fParticleGun-&gt;SetParticleEnergy(energyCmd-&gt;
+     GetNewDoubleValue(newValues)); }
+  else if( command==positionCmd )
+  { fParticleGun-&gt;SetParticlePosition(
+     directionCmd-&gt;GetNew3VectorValue(newValues)); }
+  else if( command==timeCmd )
+  { fParticleGun-&gt;SetParticleTime(timeCmd-&gt;
+     GetNewDoubleValue(newValues)); }
+}
+
+G4String G4ParticleGunMessenger::GetCurrentValue(G4UIcommand * command)
+{
+  G4String cv;
+  
+  if( command==directionCmd )
+  { cv = directionCmd-&gt;ConvertToString(
+     fParticleGun-&gt;GetParticleMomentumDirection()); }
+  else if( command==energyCmd )
+  { cv = energyCmd-&gt;ConvertToString(
+     fParticleGun-&gt;GetParticleEnergy(),"GeV"); }
+  else if( command==positionCmd )
+  { cv = positionCmd-&gt;ConvertToString(
+     fParticleGun-&gt;GetParticlePosition(),"cm"); }
+  else if( command==timeCmd )
+  { cv = timeCmd-&gt;ConvertToString(
+     fParticleGun-&gt;GetParticleTime(),"ns"); }
+  else if( command==particleCmd )
+  { // update candidate list
+    G4String candidateList; 
+    G4int nPtcl = particleTable-&gt;entries();
+    for(G4int i=0;i&lt;nPtcl;i++)
+    {
+      candidateList += particleTable-&gt;GetParticleName(i);
+      candidateList += " ";
+    }
+    particleCmd-&gt;SetCandidates(candidateList);
+  }
+  return cv;
+}
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.UIDefNew.HowCont"></a>7.2.4. 
+How to control the output of G4cout/G4cerr
+</h3></div></div></div><p>
+Instead of <span class="emphasis"><em>cout</em></span> and <span class="emphasis"><em>cerr</em></span>, 
+Geant4 uses <span class="emphasis"><em>G4cout</em></span> and 
+<span class="emphasis"><em>G4cerr</em></span>. Output streams from
+<span class="emphasis"><em>G4cout/G4cerr</em></span> 
+are handled by <span class="emphasis"><em>G4UImanager</em></span> which allows the application
+programmer to control the flow of the stream. Output strings may
+therefore be displayed on another window or stored in a file. This
+is accomplished as follows:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Derive a class from <span class="emphasis"><em>G4UIsession</em></span> and implement the two
+    methods:
+
+    </p><p>
+    </p><div class="informalexample"><pre class="programlisting">
+      G4int ReceiveG4cout(G4String coutString);
+      G4int ReceiveG4cerr(G4String cerrString);
+    </pre></div><p> 
+
+    These methods receive the string stream of <span class="emphasis"><em>G4cout</em></span> and
+    <span class="emphasis"><em>G4cerr</em></span>, respectively. The string can be handled to meet
+    specific requirements. The following sample code shows how to make
+    a log file of the output stream:
+
+    </p><div class="informalexample"><pre class="programlisting">
+        ostream logFile;
+        logFile.open("MyLogFile");
+        G4int MySession::ReceiveG4cout(G4String coutString)
+        {
+          logFile &lt;&lt; coutString &lt;&lt; flush;
+          return 0;
+        }
+    </pre></div><p>
+    </p><p>
+  </p></li><li><p>
+    </p><p>
+    Set the destination of <span class="emphasis"><em>G4cout/G4cerr</em></span> using
+    <code class="literal">G4UImanager::SetCoutDestination(session)</code>.
+    </p><p>
+    </p><p>
+    Typically this method is invoked from the constructor of
+    <span class="emphasis"><em>G4UIsession</em></span> and its derived classes, such as
+    <span class="emphasis"><em>G4UIGAG/G4UIteminal</em></span>. This method sets the destination of
+    <span class="emphasis"><em>G4cout/G4cerr</em></span> to the session. For example, when the
+    following code appears in the constructor of <span class="emphasis"><em>G4UIterminal</em></span>,
+    the method <code class="literal">SetCoutDestination(this)</code> tells 
+    <span class="emphasis"><em>UImanager</em></span> that this instance of 
+    <span class="emphasis"><em>G4UIterminal</em></span> receives the stream
+    generated by <span class="emphasis"><em>G4cout</em></span>.
+
+    </p><div class="informalexample"><pre class="programlisting">
+        G4UIterminal::G4UIterminal()
+        {
+          UI = G4UImanager::GetUIpointer();
+          UI-&gt;SetCoutDestination(this);
+          //  ...
+        }
+    </pre></div><p>    
+ 
+    Similarly, <code class="literal">UI-&gt;SetCoutDestination(NULL)</code> must be added
+    to the destructor of the class.
+    </p><p>
+  </p></li><li><p>
+    Write or modify the main program. To modify <code class="literal">exampleN01</code>
+    to produce a log file, derive a class as described in step 1 above,
+    and add the following lines to the main program:
+
+    </p><div class="informalexample"><pre class="programlisting">
+        #include "MySession.hh"
+        main()
+        {
+          // get the pointer to the User Interface manager
+          G4UImanager* UI = G4UImanager::GetUIpointer();
+          // construct a session which receives G4cout/G4cerr
+          MySession * LoggedSession = new MySession;
+          UI-&gt;SetCoutDestination(LoggedSession);
+          // session-&gt;SessionStart(); // not required in this case
+          // .... do simulation here ...
+
+          delete LoggedSession;
+          return 0;
+        }
+    </pre></div><p> 
+  </p></li></ol></div><p>
+</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+<span class="emphasis"><em>G4cout/G4cerr</em></span> should not be used in the constructor of a
+class if the instance of the class is intended to be used as
+<code class="literal">static</code>. This restriction comes from the language
+specification of C++. See the documents below for details:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     M.A.Ellis, B.Stroustrup, ``Annotated C++ Reference Manual'', Section 3.4
+     [<span class="citation">
+     <a href="bi01.html#biblio.ellis1990">
+    Ellis1990
+  </a>
+     </span>]     
+   </p></li><li><p>
+     P.J.Plauger, ``The Draft Standard C++ Library''
+     [<span class="citation">
+     <a href="bi01.html#biblio.plauger1995">
+    Plauger1995
+  </a>
+     </span>]     
+   </p></li></ul></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch07.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 7. 
+Communication and Control
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 8. 
+Visualization
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08.html	(revision 901)
@@ -0,0 +1,353 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 8.  Visualization</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch07s02.html" title="7.2.  User Interface - Defining New Commands"><link rel="next" href="ch08s02.html" title="8.2.  Adding Visualization to Your Executable"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. 
+Visualization
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch08s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.Visualization"></a>Chapter 8. 
+Visualization
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisIntro"></a>8.1. 
+Introduction to Visualization
+</h2></div></div></div><p>
+The Geant4 visualization system was developed in response to a 
+diverse set of requirements:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Quick response to study geometries, trajectories and hits
+  </p></li><li><p>
+    High-quality output for publications
+  </p></li><li><p>
+    Flexible camera control to debug complex geometries
+  </p></li><li><p>
+    Tools to show volume overlap errors in detector geometries
+  </p></li><li><p>
+    Interactive picking to get more information on visualized objects
+  </p></li></ol></div><p>
+</p><p>
+No one graphics system is ideal for all of these requirements,
+and many of the large software frameworks into which Geant4 has
+been incorporated already have their own visualization systems, so
+Geant4 visualization was designed around an abstract interface that
+supports a diverse family of graphics systems. Some of these
+graphics systems use a graphics library compiled with Geant4, such
+as OpenGL, while others involve a separate application, such as
+WIRED or DAWN.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisIntro.What"></a>8.1.1. 
+What Can be Visualized
+</h3></div></div></div><p>
+Simulation data can be visualized:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Detector components
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        A hierarchical structure of physical volumes
+      </p></li><li><p>
+        A piece of physical volume, logical volume, and solid
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Particle trajectories and tracking steps
+  </p></li><li><p>
+    Hits of particles in detector components
+  </p></li></ul></div><p>
+</p><p>
+Other user defined objects can be visualized:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Polylines, such as coordinate axes
+  </p></li><li><p>
+    3D Markers, such as eye guides
+  </p></li><li><p>
+    Text, descriptive character strings, comments or titles
+  </p></li><li><p>
+    Scales
+  </p></li><li><p>
+    Logos
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisIntro.Choice"></a>8.1.2. 
+You have a Choice of Visualization Drivers
+</h3></div></div></div><p>
+The many graphics systems that Geant4 supports are complementary to
+each other.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    OpenGL
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        View directly from Geant4
+      </p></li><li><p>
+        Uses GL libraries that are already included on most Linux
+        systems (plus some Windows availability)
+      </p></li><li><p>
+        Rendered, photorealistic image with some interactive features
+      </p></li><li><p>
+        zoom, rotate, translate
+      </p></li><li><p>
+        Fast response (can usually exploit full potential of graphics
+        hardware)
+      </p></li><li><p>
+        Limited printing ability (pixel graphics, not vector graphics)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    OpenInventor
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        View directly from Geant4
+      </p></li><li><p>
+        Requires addition of OpenInventor libraries (freely available
+        for most Linux systems).
+      </p></li><li><p>
+        Rendered, photorealistic image
+      </p></li><li><p>
+        Many interactive features
+      </p></li><li><p>
+        zoom, rotate, translate
+      </p></li><li><p>
+        click to "see inside" opaque
+        volumes
+      </p></li><li><p>
+        Fast response (can usually exploit full potential of graphics
+        hardware)
+      </p></li><li><p>
+        Expanded printing ability (vector and pixel graphics)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    HepRep/WIRED
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Create a file to view in the WIRED3 HepRep Browser or the 
+        WIRED4 JAS Plugin
+      </p></li><li><p>
+        Requires WIRED browser (a Java application easily to install on
+        all operating systems)
+      </p></li><li><p>
+        Wireframe or simple area fills (not photorealistic)
+      </p></li><li><p>
+        Many interactive features
+      </p></li><li><p>
+        zoom, rotate, translate
+      </p></li><li><p>
+        click to show attributes (momentum, etc.)
+      </p></li><li><p>
+        special projections (FishEye, etc.)
+      </p></li><li><p>
+        control visibility from hierarchical (tree) view of data
+      </p></li><li><p>
+        Hierarchical view of the geometry
+      </p></li><li><p>
+        Export to many vector graphic formats (PostScript, PDF, etc.)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    DAWN
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Create a file to view in the DAWN Renderer
+      </p></li><li><p>
+        Requires DAWN, available for all Linux and Windows systems.
+      </p></li><li><p>
+        Rendered, photorealistic image
+      </p></li><li><p>
+        No interactive features
+      </p></li><li><p>
+        Highest quality technical rendering - output to vector PostScript
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    VRML
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Create a file to view in any VRML browser (some as web browser
+        plug-ins).
+      </p></li><li><p>
+        Requires VRML browser (many different choices for different
+        operating systems).
+      </p></li><li><p>
+        Rendered, photorealistic image with some interactive features
+      </p></li><li><p>
+        zoom, rotate, translate
+      </p></li><li><p>
+        Limited printing ability (pixel graphics, not vector graphics)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    RayTracer
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Create a jpeg file
+      </p></li><li><p>
+        Forms image by using Geant4's own tracking
+        to follow photons through the detector
+      </p></li><li><p>
+        Can show geometry but not trajectories
+      </p></li><li><p>
+        Can render any geometry that Geant4 can handle (such as Boolean
+        solids)
+      </p></li><li><p>
+        Supports shadows, transparency and mirrored surfaces
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    ASCIITree
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Text dump of the geometry hierarchy
+      </p></li><li><p>
+        Not graphical
+      </p></li><li><p>
+        Control over level of detail to be dumped
+      </p></li><li><p>
+        Can calculate mass and volume of any hierarchy of volumes
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisIntro.ChoDrv"></a>8.1.3. 
+Choose the Driver that Meets Your Needs
+</h3></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    If you want very responsive photorealistic graphics (and have
+    the OpenGL libraries installed)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        OpenGL is a good solution (if you have the Motif extensions,
+        this also gives GUI control)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    If you want very responsive photorealistic graphics plus more
+    interactivity (and have the OpenInventor libraries installed)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        OpenInventor is a good solution
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    If you want GUI control, want to be able to pick on items to
+    inquire about them (identity, momentum, etc.), perhaps want to
+    render to vector formats, and a wireframe look will do
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        HepRep/WIRED will meet your needs
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    If you want to render highest quality photorealistic images for
+    use in a poster or a technical design report, and you can live
+    without quick rotate and zoom
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        DAWN is the way to go
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    If you want to render to a 3D format that others can view in a
+    variety of commodity browsers (including some web browser plug-ins)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        VRML is the way to go
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    If you want to visualize a geometry that the other
+    visualization drivers can't handle, or you need
+    transparency or mirrors, and you don't need to
+    visualize trajectories
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        RayTracer will do it
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    If you just want to quickly check the geometry hierarchy, or if
+    you want to calculate the volume or mass of any geometry hierarchy
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        ASCIITree will meet your needs
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    You can also add your own visualization driver.
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Geant4's visualization system is modular. By
+        creating just three new classes, you can direct Geant4 information
+        to your own visualization system.
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisIntro.CntVis"></a>8.1.4. 
+Controlling Visualization
+</h3></div></div></div><p>
+Your Geant4 code stays basically the same no matter which driver
+you use.
+</p><p>
+Visualization is performed either with commands or from C++ code.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Some visualization drivers work directly from Geant4
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        OpenGL
+      </p></li><li><p>
+        OpenInventor
+      </p></li><li><p>
+        RayTracer
+      </p></li><li><p>
+        ASCIITree
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    For other visualization drivers, you first have Geant4 produce
+    a file, and then you have that file rendered by another application
+    (which may have GUI control)
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        HepRep/WIRED
+      </p></li><li><p>
+        DAWN
+      </p></li><li><p>
+        VRML
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisIntro.Details"></a>8.1.5. 
+Visualization Details
+</h3></div></div></div><p>
+The following sections of this guide cover the details of Geant4
+visualization:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="ch08s02.html" title="8.2. 
+Adding Visualization to Your Executable
+">Section 8.2</a>
+    Adding Visualization to Your Executable
+  </p></li><li><p>
+    <a href="ch08s03.html" title="8.3. 
+The Visualization Drivers
+">Section 8.3</a>
+    The Visualization Drivers
+  </p></li><li><p>
+    <a href="ch08s04.html" title="8.4. 
+Controlling Visualization from Commands
+">Section 8.4</a>
+      Controlling Visualization from Commands
+  </p></li><li><p>
+    <a href="ch08s05.html" title="8.5. 
+Controlling Visualization from Compiled Code
+">Section 8.5</a>
+      Controlling Visualization from Compiled Code
+  </p></li><li><p>
+    <a href="ch08s06.html" title="8.6. 
+Visualization Attributes
+">Section 8.6</a>
+    Visualization Attributes
+  </p></li><li><p>
+    <a href="ch08s07.html" title="8.7. 
+Enhanced Trajectory Drawing
+">Section 8.7</a>
+    Enhanced Trajectory Drawing
+  </p></li><li><p>
+    <a href="ch08s09.html" title="8.9. 
+Polylines, Markers and Text
+">Section 8.9</a>
+    Polylines, Markers and Text
+  </p></li></ul></div><p>
+</p><p>
+Other useful references for Geant4 visualization outside of this
+user guide:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Introduction to Geant4 Visualization ( 
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4VisTutorial.pdf" target="_top">
+    pdf</a>, 
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4VisTutorial.ppt" target="_top">
+    ppt</a> )
+  </p></li><li><p>
+    Status of Geant4 Visualization (giving current status and a
+    summary of what has been improved over the last few releases) (
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4VisStatus.pdf" target="_top">
+    pdf</a>, 
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4VisStatus.ppt" target="_top">
+    ppt</a> )
+  </p></li><li><p>
+    Macro files distributed in Geant4 source in
+    <code class="literal">examples/novice/N03/visTutor/</code>.
+  </p></li></ul></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch08s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">7.2. 
+User Interface - Defining New Commands
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.2. 
+Adding Visualization to Your Executable
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s02.html	(revision 901)
@@ -0,0 +1,372 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.2.  Adding Visualization to Your Executable</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08.html" title="Chapter 8.  Visualization"><link rel="next" href="ch08s03.html" title="8.3.  The Visualization Drivers"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.2. 
+Adding Visualization to Your Executable
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisAddExe"></a>8.2. 
+Adding Visualization to Your Executable
+</h2></div></div></div><p>
+This section explains how to incorporate your selected
+visualization drivers into the <code class="literal">main()</code> function and create
+an executable for it. In order to perform visualization with your
+Geant4 executable, you must compile it with realized visualization
+driver(s). You may be dazzled by the number of choices of
+visualization driver, but you need not use all of them at one time.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAddExe.InstDrv"></a>8.2.1. 
+Installing Visualization Drivers
+</h3></div></div></div><p>
+Depending on what has been installed on your system, several kinds
+of visualization driver are available. One or many drivers may be
+chosen for realization in compilation, depending on your
+visualization requirements. Features and notes on each driver are
+briefly described in <a href="ch08s03.html" title="8.3. 
+The Visualization Drivers
+">Section 8.3</a>
+"<span class="bold"><strong>Visualization Drivers</strong></span>", 
+along with links to detailed web pages for the various drivers.
+</p><p>
+Note that not all drivers can be installed on all systems; 
+<a href="ch08s03.html#table.VisDrv_1" title="Table 8.1. 
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+">Table 8.1</a> in 
+<a href="ch08s03.html" title="8.3. 
+The Visualization Drivers
+">Section 8.3</a> lists all the available drivers 
+and the platforms on which they can be installed.
+For any of the visualization drivers to work, the corresponding
+graphics system must be installed beforehand.
+</p><p>
+Unless the environment variable <code class="literal">G4VIS_NONE</code> is set to
+"1", visualization drivers that do not depend on external libraries
+are automatically incorporated into Geant4 libraries during their
+installation. (Here "installation of Geant4 libraries" means the
+generation of Geant4 libraries by compilation.) The automatically
+incorporated visualization drivers are: DAWNFILE, HepRepFile,
+HepRepXML, RayTracer, VRML1FILE, VRML2FILE and ATree and
+GAGTree.
+</p><p>
+The OpenGL, OpenInventor and RayTracerX drivers are not
+incorporated by default. Nor are the DAWN-Network and VRML-Network
+drivers, because they require the network setting of the installed
+machine. In order to incorporate them, the environment variables
+"<code class="literal">G4VIS_BUILD_DRIVERNAME_DRIVER</code>" should be set to
+"<code class="literal">1</code>" before installing the Geant4 libraries:
+
+</p><div class="informalexample"><pre class="programlisting">
+     setenv G4VIS_BUILD_OPENGLX_DRIVER      1  # OpenGL-Xlib driver
+     setenv G4VIS_BUILD_OPENGLXM_DRIVER     1  # OpenGL-Motif driver 
+     setenv G4VIS_BUILD_OIX_DRIVER          1  # OpenInventor-Xlib driver
+     setenv G4VIS_BUILD_RAYTRACERX_DRIVER   1  # RayTracer-XLib driver
+     setenv G4VIS_BUILD_DAWN_DRIVER         1  # DAWN-Network driver
+     setenv G4VIS_BUILD_VRML_DRIVER         1  # VRML-Network
+</pre></div><p>
+</p><p>
+Unless the environment variable <code class="literal">G4VIS_NONE</code> is set to "1",
+setting any of the above variables sets a C-pre-processor flag of
+the same name. Also the C-pre-processor flag <code class="literal">G4VIS_BUILD</code>
+is set (see config/G4VIS_BUILD.gmk), which incorparates the
+selected driver into the Geant4 libraries.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAddExe.RealVisDrv"></a>8.2.2. 
+How to Realize Visualization Drivers in an Executable
+</h3></div></div></div><p>
+You can realize and use any of the visualization driver(s) you want
+in your Geant4 executable, provided they are among the set
+installed beforehand into the Geant4 libraries. A warning will
+appear if this is not the case.
+</p><p>
+In order to realize visualization drivers, you must instantiate
+and initialize a subclass of <code class="literal">G4VisManager</code> that implements
+the pure virtual function <code class="literal">RegisterGraphicsSystems()</code>. This
+subclass must be compiled in the user's domain to force the loading
+of appropriate libraries in the right order. The easiest way to do
+this is to use <code class="literal">G4VisExecutive</code>, a provided class with
+included implementation. <code class="literal">G4VisExecutive</code> is sensitive to
+the <code class="literal">G4VIS_USE...</code> variables mentioned below.
+</p><p>
+If you do wish to write your own subclass, you may do so. You
+will see how to do this by looking at <code class="literal">G4VisExecutive.icc</code>.
+A typical extract is:
+
+</p><div class="informalexample"><pre class="programlisting">
+     ...
+       RegisterGraphicsSystem (new G4DAWNFILE);
+     ...
+     #ifdef G4VIS_USE_OPENGLX
+       RegisterGraphicsSystem (new G4OpenGLImmediateX);
+       RegisterGraphicsSystem (new G4OpenGLStoredX);
+     #endif
+     ...
+</pre></div><p>
+</p><p>
+If you wish to use <code class="literal">G4VisExecutive</code> but register an
+additional graphics system, <code class="literal">XXX</code> say, you may do so either
+before or after initializing:
+
+</p><div class="informalexample"><pre class="programlisting">
+     visManager-&gt;RegisterGraphicsSytem(new XXX);
+     visManager-&gt;Initialize();
+</pre></div><p>
+</p><p>
+By default, you get the DAWNFILE, HepRepFile, RayTracer,
+VRML1FILE, VRML2FILE, ATree and GAGTree drivers. Additionally, you
+may choose from the OpenGL-Xlib, OpenGL-Motif, OpenInventor,
+RayTracerX, DAWN-Network and VRML-Network drivers, each of which
+can be selected by setting the proper environment variable:
+
+</p><div class="informalexample"><pre class="programlisting">
+     setenv G4VIS_USE_OPENGLX      1
+     setenv G4VIS_USE_OPENGLXM     1
+     setenv G4VIS_USE_OIX          1
+     setenv G4VIS_USE_RAYTRACERX   1
+     setenv G4VIS_USE_DAWN         1
+     setenv G4VIS_USE_VRML         1
+</pre></div><p>
+</p><p>
+(Of course, this has to be chosen from the set incorporated into
+the Geant4 libraries during their compilation.) Unless the
+environment variable <code class="literal">G4VIS_NONE</code> is set, these set
+C-pre-processor flags of the same name.
+</p><p>
+Also, unless the environment variable <code class="literal">G4VIS_NONE</code> is
+set, the C-pre-processor flag <code class="literal">G4VIS_USE</code> is always set by
+default. This flag is available in describing the <code class="literal">main()</code>
+function.
+</p><p>
+You may have to set additional environment variables for your
+selected visualization drivers and graphics systems. For example,
+the OpenGL driver may require the setting of <code class="literal">OGLHOME</code> which
+points to the location of the OpenGL libraries. For more details,
+see <a href="ch08s03.html" title="8.3. 
+The Visualization Drivers
+">Section 8.3</a> 
+"<span class="bold"><strong>Visualization Drivers</strong></span>" and 
+pages linked from there.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAddExe.SampSetup"></a>8.2.3. 
+A Sample Set-up File
+</h3></div></div></div><p>
+The following can be part of the user's <code class="literal">.cshrc</code> or
+<code class="literal">.tcshrc</code> file on a Linux platform to configure the
+environment for creating Geant4 executables available for Geant4
+visualization. This sample is shown only as an example; it may NOT
+correspond to a specific platform configuration and does NOT apply
+in general for any specific setup !
+
+</p><div class="example"><a name="programlist_VisAddExe_1"></a><p class="title"><b>Example 8.1. 
+Part of a sample <code class="literal">.cshrc</code> setup file for the Linux platform.
+</b></p><div class="example-contents"><pre class="programlisting">
+ ############################################################
+ # Main Environment Variables for GEANT4 with Visualization #
+ ############################################################
+
+ ### Platform
+ setenv G4SYSTEM Linux-g++
+
+ ### CLHEP base directory
+ setenv CLHEP_BASE_DIR /opt/local
+
+ ### OpenGL base directory
+ setenv OGLHOME /usr/X11R6
+ 
+ ### G4VIS_BUILD 
+ ###   Incorporation of OpenGL-Xlib and OpenGL-Motif drivers
+ ###   into Geant4 libraries.
+ setenv G4VIS_BUILD_OPENGLX_DRIVER 1
+ setenv G4VIS_BUILD_OPENGLXM_DRIVER 1
+
+ ### G4VIS_USE
+ ###   Incorporation of OpenGL-Xlib and OpenGL-Motif drivers
+ ###   into Geant4 executables.
+ setenv G4VIS_USE_OPENGLX       1
+ setenv G4VIS_USE_OPENGLXM      1
+
+ ### Viewer for DAWNFILE driver 
+ ### Default value is "dawn".  You can change it to, say,
+ ### "david" for volume overlapping tests
+ # setenv G4DAWNFILE_VIEWER david
+
+ ### Viewer for VRMLFILE drivers 
+ setenv G4VRMLFILE_VIEWER vrmlview
+
+ ########## end 
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAddExe.VisMan"></a>8.2.4. 
+Visualization Manager
+</h3></div></div></div><p>
+Visualization procedures are controlled by the "Visualization
+Manager", a class which must inherit from <span class="emphasis"><em>G4VisManager</em></span>
+defined in the visualization category. Most users will find that
+they can just use the default visualization manager,
+<span class="emphasis"><em>G4VisExecutive</em></span>. The Visualization Manager accepts users'
+requests for visualization, processes them, and passes the
+processed requirements to the abstract interface, i.e., to the
+currently selected visualization driver.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAddExe.WrtMain"></a>8.2.5. 
+How to Write the <code class="literal">main()</code> Function
+</h3></div></div></div><p>
+In order for your Geant4 executable to perform visualization, you
+must instantiate and initialize "your" Visualization Manager in the
+<code class="literal">main()</code> function. The core of the Visualization Manager is
+the class <code class="literal">G4VisManager</code>, defined in the visualization
+category. This class requires that one pure virtual function be
+implemented, namely, <code class="literal">void RegisterGraphicsSystems()</code>. The
+easiest way to do this is to use <code class="literal">G4VisExecutive</code>, as
+described above (but you may write your own class - see above).
+</p><p>
+<a href="ch08s02.html#programlist_VisAddExe_2" title="Example 8.2. 
+The form of the main() function.
+">Example 8.2</a> shows the form of the 
+<code class="literal">main()</code> function.
+
+</p><div class="example"><a name="programlist_VisAddExe_2"></a><p class="title"><b>Example 8.2. 
+The form of the <code class="literal">main()</code> function.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: Instantiation and initialization of G4VisManager
+
+ .....
+ // Your Visualization Manager 
+ #include "G4VisExecutive.hh"
+ .....
+
+ // Instantiation and initialization of the Visualization Manager
+ #ifdef G4VIS_USE
+ G4VisManager* visManager = new G4VisExecutive;
+ visManager -&gt; initialize ();
+ #endif
+
+ .....
+ #ifdef G4VIS_USE
+ delete visManager;
+ #endif
+
+ //----- end of C++ 
+</pre></div></div><p><br class="example-break">
+</p><p>
+Alternatively, you can implement an empty
+<code class="literal">RegisterGraphicsSystems()</code> function, and register
+visualization drivers you want directly in your <code class="literal">main()</code>
+function. See <a href="ch08s02.html#programlist_VisAddExe_3" title="Example 8.3. 
+An alternative style for the main() function.
+">Example 8.3</a>.
+
+</p><div class="example"><a name="programlist_VisAddExe_3"></a><p class="title"><b>Example 8.3. 
+An alternative style for the <code class="literal">main()</code> function.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: How to register a visualization driver directly
+ //                        in main() function
+
+ .....
+ G4VisManager* visManager = new G4VisExecutive;
+ visManager -&gt; RegisterGraphicsSystem (new MyGraphicsSystem);
+ .....
+ delete visManager
+
+ //----- end of C++ 
+</pre></div></div><p><br class="example-break">
+</p><p>
+<span class="emphasis"><em>Do not forget</em></span> to delete the instantiated Visualization 
+Manager by yourself. Note that a graphics system for Geant4 Visualization
+may run as a different process. In that case, the destructor of
+<code class="literal">G4VisManager</code> might have to terminate the graphics system
+and/or close the connection.
+</p><p>
+We recommend that the instantiation, initialization, and
+deletion of the Visualization Manager be protected by
+C-pre-processor commands, as in the novice examples. The
+C-pre-processor macro <code class="literal">G4VIS_USE</code> is automatically defined
+unless the environment variable <code class="literal">G4VIS_NONE</code> is set. This
+assumes that you are compiling your Geant4 executable with the
+standard version of GNUmakefile found in the <code class="literal">config</code>
+directory.
+</p><p>
+<a href="ch08s02.html#programlist_VisAddExe_4" title="Example 8.4. 
+An example of the main() function available for 
+Geant4 Visualization.
+">Example 8.4</a> shows an example of the 
+<code class="literal">main()</code> function available for Geant4 Visualization.
+
+</p><div class="example"><a name="programlist_VisAddExe_4"></a><p class="title"><b>Example 8.4. 
+An example of the <code class="literal">main()</code> function available for 
+Geant4 Visualization.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: An example of main() for visualization
+ .....
+ #include "G4VisExecutive.hh"
+ .....
+
+ int main() 
+ {
+      // Run Manager
+      G4RunManager * runManager = new G4RunManager;
+
+      // Detector components
+      runManager-&gt;set_userInitialization(new MyDetectorConstruction);
+      runManager-&gt;set_userInitialization(new MyPhysicsList);
+
+      // UserAction classes.
+      runManager-&gt;set_userAction(new MyRunAction);
+      runManager-&gt;set_userAction(new MyPrimaryGeneratorAction);
+      runManager-&gt;set_userAction(new MyEventAction);
+      runManager-&gt;set_userAction(new MySteppingAction);
+
+ #ifdef G4VIS_USE
+      G4VisManager* visManager = new G4VisExecutive;
+      visManager -&gt; initialize ();
+ #endif
+
+      // Event loop
+      // Define (G)UI terminal
+      G4UIsession * session = new G4UIterminal
+      session-&gt;sessionStart();
+
+      delete session;
+      delete runManager;
+
+ #ifdef G4VIS_USE
+      delete visManager;
+ #endif
+
+      return 0;
+ }
+
+ //----- end of C++ 
+</pre></div></div><p><br class="example-break">
+</p><p>
+Useful information on incorporated visualization drivers can be
+displayed in initializing the Visualization Manager. This is done
+by setting the verbosity flag to an appropriate string:
+
+</p><div class="informalexample"><pre class="programlisting">
+   Simple graded message scheme - give first letter or a digit:
+    0) quiet,         // Nothing is printed.
+    1) startup,       // Startup and endup messages are printed...
+    2) errors,        // ...and errors...
+    3) warnings,      // ...and warnings...
+    4) confirmations, // ...and confirming messages...
+    5) parameters,    // ...and parameters of scenes and views...
+    6) all            // ...and everything available.
+</pre></div><p>
+</p><p>
+For example, in your <code class="literal">main()</code> function, write the following
+code:
+
+</p><div class="informalexample"><pre class="programlisting">
+  ...
+  G4VisManager* visManager = new G4VisExecutive ();
+  visManager -&gt; SetVerboseLevel (1);
+  visManager -&gt; Initialize ();
+  ...
+</pre></div><p>
+</p><p>
+(This can also be set with the <code class="literal">/vis/verbose</code> command.)
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 8. 
+Visualization
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.3. 
+The Visualization Drivers
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s03.html	(revision 901)
@@ -0,0 +1,1102 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.3.  The Visualization Drivers</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s02.html" title="8.2.  Adding Visualization to Your Executable"><link rel="next" href="ch08s04.html" title="8.4.  Controlling Visualization from Commands"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.3. 
+The Visualization Drivers
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisDrv"></a>8.3. 
+The Visualization Drivers
+</h2></div></div></div><p>
+As explained in the 
+
+Introduction to Visualization
+
+, Geant4 provides many different choices of
+visualization systems. Features and notes on each driver are
+briefly described here along with links to detailed web pages for
+the various drivers.
+</p><p>
+Details are given below for:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="ch08s03.html#sect.VisDrv.OpenGL" title="8.3.2. 
+OpenGL
+">Section 8.3.2</a>
+    OpenGL
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.OpenInv" title="8.3.3. 
+OpenInventor
+">Section 8.3.3</a>
+    OpenInventor
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.HepRep" title="8.3.4. 
+HepRepFile
+">Section 8.3.4</a>
+    HepRepFile
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.HepRepXML" title="8.3.5. 
+HepRepXML
+">Section 8.3.5</a>
+    HepRepXML
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.DAWN" title="8.3.6. 
+DAWN
+">Section 8.3.6</a>
+    DAWN
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.VRML" title="8.3.8. 
+VRML
+">Section 8.3.8</a>
+    VRML
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.RayTrc" title="8.3.9. 
+RayTracer
+">Section 8.3.9</a>
+    RayTracer
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.DetTree" title="8.3.10. 
+Visualization of detector geometry tree
+">Section 8.3.10</a>
+    ASCIITree
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.GAGTree" title="8.3.11. 
+GAG Tree
+">Section 8.3.11</a>
+    GAGTree
+  </p></li><li><p>
+    <a href="ch08s03.html#sect.VisDrv.XMLTree" title="8.3.12. 
+XML Tree
+">Section 8.3.12</a>
+    XMLTree
+  </p></li></ul></div><p>
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.Avail"></a>8.3.1. 
+Availability of drivers on the supported systems
+</h3></div></div></div><p>
+<a href="ch08s03.html#table.VisDrv_1" title="Table 8.1. 
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+">Table 8.1</a> lists required graphics systems 
+and supported platforms for the various visualization drivers
+
+</p><div class="table"><a name="table.VisDrv_1"></a><div class="table-contents"><table summary="
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+" border="1"><colgroup><col><col><col></colgroup><tbody><tr><td>
+      <span class="bold"><strong>Driver</strong></span>
+    </td><td>
+      <span class="bold"><strong>Required Graphics System</strong></span>
+    </td><td>
+      <span class="bold"><strong>Platform</strong></span>
+    </td></tr><tr><td>
+      OpenGL-Xlib
+    </td><td>
+      OpenGL
+    </td><td>
+      Linux, Unix, Mac with Xlib
+    </td></tr><tr><td>
+      OpenGL-Motif
+    </td><td>
+      OpenGL
+    </td><td>
+      Linux, UNIX, Mac with Motif
+    </td></tr><tr><td>
+      OpenGL-Win32
+    </td><td>
+      OpenGL
+    </td><td>
+      Windows
+    </td></tr><tr><td>
+      OpenInventor-X
+    </td><td>
+      OpenInventor, OpenGL
+    </td><td>
+      Linux, UNIX, Mac with Xlib or Motif
+    </td></tr><tr><td>
+      OpenInventor-Win32
+    </td><td>
+      OpenInventor, OpenGL
+    </td><td>
+      Windows
+    </td></tr><tr><td>
+      HepRep
+    </td><td>
+      WIRED or FRED HepRep Browser
+    </td><td>
+      Linux, UNIX, Mac, Windows
+    </td></tr><tr><td>
+      DAWNFILE
+    </td><td>
+      Fukui Renderer DAWN
+    </td><td>
+      Linux, Unix, Mac, Windows
+    </td></tr><tr><td>
+      DAWN-Network
+    </td><td>
+      Fukui Renderer DAWN
+    </td><td>
+      Linux, UNIX
+    </td></tr><tr><td>
+      VRMLFILE
+    </td><td>
+      any VRML viewer
+    </td><td>
+      Linux, UNIX, Mac, Windows
+    </td></tr><tr><td>
+      VRML-Network
+    </td><td>
+      any network-enabled VRML viewer
+    </td><td>
+      Linux, UNIX
+    </td></tr><tr><td>
+      RayTracer
+    </td><td>
+      any JPEG viewer
+    </td><td>
+      Linux, UNIX, Mac, Windows
+    </td></tr><tr><td>
+      ASCIITree
+    </td><td>
+      none
+    </td><td>
+      Linux, UNIX, Mac, Windows
+    </td></tr><tr><td>
+      GAGTree
+    </td><td>
+      GAG
+    </td><td>
+      Linux, UNIX, Mac, Windows
+    </td></tr><tr><td>
+      XMLTree
+    </td><td>
+      any XML viewer
+    </td><td>
+      Linux, UNIX, Mac, Windows
+    </td></tr></tbody></table></div><p class="title"><b>Table 8.1. 
+Required graphics systems and supported platforms for the various 
+visualization drivers.
+</b></p></div><p><br class="table-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.OpenGL"></a>8.3.2. 
+OpenGL
+</h3></div></div></div><p>
+These drivers have been developed by John Allison and Andrew
+Walkden (University of Manchester). It is an interface to the de
+facto standard 3D graphics library, OpenGL. It is well suited for
+real-time fast visualization and demonstration. Fast visualization
+is realized with hardware acceleration, reuse of shapes stored in a
+display list, etc. NURBS visualization is also supported.
+</p><p>
+Several versions of the OpenGL drivers are prepared. Versions
+for Xlib, Motif and Win32 platforms are available by default. For
+each version, there are two modes: immediate mode and stored mode.
+The former has no limitation on data size, and the latter is fast
+for visualizing large data repetitively, and so is suitable for
+animation.
+</p><p>
+If you don't have Motif, all control is done from Geant4
+commands:
+
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/open OGLIX
+     /vis/viewer/set/viewpointThetaPhi 70 20
+     /vis/viewer/zoom 2
+     etc.
+</pre></div><p>
+</p><p>
+But if you have Motif libraries, you can control Geant4 from Motif
+widgets:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/open OGLIXm
+</pre></div><p>
+</p><p>
+The OpenGL driver added Smooth shading and Transparency since
+Geant4 release 8.0.
+</p><p>
+<span class="bold"><strong>Further information (OpenGL and Mesa):</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://www.opengl.org/" target="_top">
+    http://www.opengl.org/
+    </a>
+  </p></li><li><p>
+    <a href="http://www.mesa3d.org" target="_top">
+    http://www.mesa3d.org
+    </a>
+  </p></li><li><p>
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html" target="_top">
+    Geant4 Visualization Tutorial
+    </a>
+    using the OpenGL Graphics System
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.OpenInv"></a>8.3.3. 
+OpenInventor
+</h3></div></div></div><p>
+These drivers were developed by Jeff Kallenbach (FNAL) and Guy
+Barrand (IN2P3) based on the 
+<a href="http://www-pat.fnal.gov/graphics/HEPVis/www" target="_top">
+Hepvis class library
+</a>
+ originated by Joe Boudreau (Pittsburgh University). The
+OpenInventor drivers and the Hepvis class library are based on the
+well-established OpenInventor technology for scientific
+visualization. They have high extendibility. They support high
+interactivity, e.g., attribute e diting of picked objects. Some
+OpenInventor viewers support "stereoscopic" effects.
+</p><p>
+It is also possible to save a visualized 3D scene as an
+OpenInventor-formatted file, and re-visualize the scene
+afterwards.
+</p><p>
+Because it is connected directly to the Geant4 kernel, using
+same language as that kernel (C++), OpenInventor systems can have
+direct access to Geant4 data (geometry, trajectories, etc.).
+</p><p>
+Because OpenInventor uses OpenGL for rendering, it supports
+lighting and transparency.
+</p><p>
+OpenInventor provides thumbwheel control to rotate and zoom.
+</p><p>
+OpenInventor supports picking to ask about data. [Control
+Clicking] on a volume turns on rendering of that volume's
+daughters. [Shift Clicking] a daughter turns that rendering off: If
+modeling opaque solid, effect is like opening a box to look
+inside.
+</p><p>
+<span class="bold"><strong>Further information (HEPVis and OpenScientist):</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Geant4 Inventor Visualization with OpenScientist 
+    <a href="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html" target="_top">
+    http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
+    </a>
+  </p></li><li><p>
+    Overall OpenScientist Home 
+    <a href="http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html" target="_top">
+    http://openscientist.lal.in2p3.fr/v15r0/html/osc_g4_vis_ui.html
+    </a>
+  </p></li><li><p>
+    HEPVis
+    <a href="http://www-pat.fnal.gov/graphics/HEPVis/www" target="_top">
+    http://www-pat.fnal.gov/graphics/HEPVis/www
+    </a>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Further information (OpenInventor):</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://oss.sgi.com/projects/inventor" target="_top">
+      http://oss.sgi.com/projects/inventor
+    </a>
+  </p></li><li><p>
+    Josie Wernecke, "The Inventor Mentor", Addison Wesley 
+    (ISBN 0-201-62495-8)
+  </p></li><li><p>
+    Josie Wernecke, "The Inventor Toolmaker", Addison Wesley 
+    (ISBN 0-201-62493-1)
+  </p></li><li><p>
+    "The Open Inventor C++ Reference Manual", Addison Wesley 
+    (ISBN 0-201-62491-5)
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.HepRep"></a>8.3.4. 
+HepRepFile
+</h3></div></div></div><p>
+The HepRepFile driver creates a HepRep XML file in the HepRep1
+format suitable for viewing with the 
+<a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
+WIRED3</a> HepRep Browser.
+</p><p>
+The HepRep graphics format is further described at 
+<a href="http://www.slac.stanford.edu/~perl/heprep" target="_top">
+http://www.slac.stanford.edu/~perl/heprep
+</a>
+.
+</p><p>
+To write just the detector geometry to this file, use the
+command:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/viewer/flush
+</pre></div><p>
+</p><p>
+Or, to also include trajectories and hits (after the appropriate
+/vis/viewer/add/trajectories or /vis/viewer/add/hits commands),
+just issue:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /run/beamOn 1
+</pre></div><p>
+</p><p>
+HepRepFile will write a file called G4Data0.heprep to the
+current directory. Each subsequent file will have a file name like
+G4Data1.heprep, G4Data2.heprep, etc.
+</p><p>
+View the file using the WIRED3 HepRep Browser, available from:
+</p><p>
+<a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
+http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
+</a>
+.
+</p><p>
+WIRED3 allows you to pick on volumes, trajectories and hits to
+find out their associated HepRep Attributes, such as volume name,
+particle ID, momentum, etc. These same attributes can be displayed
+as labels on the relevant objects, and you can make visibility cuts
+based on these attributes ("show me only the photons", or "omit any
+volumes made of iron").
+</p><p>
+WIRED3 can read heprep files in zipped format as well as
+unzipped, so you can save space by applying gzip to the heprep
+file. This will reduce the file to about five percent of its
+original size.
+</p><p>
+Several environment variables are available to override some of
+HepRepFile's defaults
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    You can specify a different directory for the heprep output
+    files by setting the environment variable G4HEPREPFILE_DIR, as in:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     export G4HEPREPFILE_DIR=someOtherDir/someOtherSubDir
+    </pre></div><p>
+  </p></li><li><p>
+    You can specify a different file name (the part before the
+    number) by setting the environment variable G4HEPREPFILE_NAME, as in:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     export G4HEPREPFILE_NAME=myFileName
+    </pre></div><p>
+
+    which will produce files named myFileName0.heprep,
+    myFileName1.heprep, etc.
+  </p></li><li><p>
+    You can specify that each file should overwrite the previous
+    file (always rewriting to the same file name) by setting the
+    environment variable G4HEPREPFILE_OVERWRITE, as in:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     export G4HEPREPFILE_OVERWRITE=1
+    </pre></div><p>
+
+    This may be useful in some automated applications where you always
+    want to see the latest output file in the same location.
+  </p></li></ul></div><p>
+
+
+</p><div class="itemizedlist"><ul type="disc"><li><p>
+    Geant4 visualization supports a concept called "culling", by
+    which certain parts of the detector can be made invisible. Since
+    you may want to control visibility from the HepRep browser, turning
+    on visibility of detector parts that had defaulted to be invisible,
+    the HepRepFile driver does not omit these invisible detector parts
+    from the HepRep file. But for very large files, if you know that
+    you will never want to make these parts visible, you can choose to
+    have them left entirely out of the file. Set the environment
+    variable G4HEPREPFILE_CULL, as in:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     export G4HEPREPFILE_CULL=1
+    </pre></div><p>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Further information:</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    WIRED3 Users Home Page:
+    </p><p>
+    <a href="http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/" target="_top">
+    http://www.slac.stanford.edu/BFROOT/www/Computing/Graphics/Wired/
+    </a>
+    .
+    </p><p>
+  </p></li><li><p>
+    HepRep graphics format:
+    </p><p>
+    <a href="http://www.slac.stanford.edu/~perl/heprep" target="_top">
+    http://www.slac.stanford.edu/~perl/heprep
+    </a>
+    </p><p>
+  </p></li><li><p>
+    Geant4 Visualization Tutorial using the WIRED3 HepRep Browser
+    </p><p>
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html" target="_top">
+    http://geant4.slac.stanford.edu/Presentations/vis/G4WIREDTutorial/G4WIREDTutorial.html
+    </a>
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.HepRepXML"></a>8.3.5. 
+HepRepXML
+</h3></div></div></div><p>
+The HepRepXML driver creates a HepRep file in the HepRep2 format
+suitable for viewing with the 
+<a href="http://wired.freehep.org/index.html" target="_top">
+WIRED4 
+</a>
+ Plugin to the JAS3 Analysis System or the 
+<a href="http://www.fisica.uniud.it/~glast/FRED/" target="_top">
+FRED 
+</a>
+ event display.
+</p><p>
+This driver can write both Binary HepRep (.bheprep) and XML
+HepRep (.heprep) files. Binary HepRep files are a one-to-one
+translation of XML HepRep files, but they are considerably shorter
+and faster to parse by a HepRepViewer such as WIRED 4.
+</p><p>
+Both Binary HepRep and XML HepRep can be compressed using the
+standard zlib library if linked into Geant4 using G4LIB_USE_ZLIB.
+If a standard zlib is not available (WIN32-VC for instance) you
+should also set G4LIB_BUILD_ZLIB to build G4zlib included with
+Geant4.
+</p><p>
+HepRep files (Binary and XML) can contain multiple HepRep
+events/geometries. If the file contains more than one HepRep it is
+not strictly XML anymore. Files can be written in .heprep.zip,
+.heprep.gz or .heprep format and their binary versions
+.bheprep.zip, .bheprep.gz or .bheprep.
+</p><p>
+The .heprep.zip is the default for file output, the .heprep is
+the default for stdout and stderr.
+</p><p>
+(Optional) To set the filename with a particular extension such
+as: .heprep.zip, .heprep.gz, .heprep, .bheprep.zip, .bheprep.gz or
+.bheprep use for instance:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/scene/create filename.bheprep.zip
+</pre></div><p>
+</p><p>
+(Optional) To create separate files for each event, you can set
+a suffix such as "-0001" to start writing files from
+filename-0001.bheprep.zip to filename-9999.bheprep.zip (or up),
+while "-55-sub" will start write files filename-55-sub.bheprep.zip
+to filename-99-sub.bheprep.zip (or up).
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/heprep/setEventNumberSuffix -0001
+</pre></div><p>
+</p><p>
+(Note: suffix has to contain at least one digit)
+</p><p>
+(Optional) To route the HepRep XML output to stdout (or stderr),
+by default uncompressed, use:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/scene/create stdout
+</pre></div><p>
+</p><p>
+(Optional) To add attributes to each point on a trajectory, use:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/heprep/addPointAttributes 1
+</pre></div><p>
+</p><p>
+Be aware that this may increase the size of the output
+dramatically.
+</p><p>
+(Optional) You may use the commands:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/viewer/zoom                            to set an initial zoom factor
+
+     /vis/viewer/set/viewpointThetaPhi           to set an initial view point
+
+     /vis/heprep/setCoordinateSystem uvw         to change the coordinate system, where uvw 
+                                                 can be "xyz", "zxy", ...
+</pre></div><p>
+</p><p>
+(Optional) You may decide to write .zip files with events and
+geometry separated (but linked). This results in a smaller zip
+file, as the geometry is only written once. Use the command:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/heprep/appendGeometry false
+</pre></div><p>
+</p><p>
+(Optional) To close the file, remove the SceneHandler, use:
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/sceneHandler/remove scene-handler-0
+</pre></div><p>
+</p><p>
+Limitations: Only one SceneHandler can exist at any time,
+connected to a single Viewer. Since the HepRep format is a model
+rather than a view this is not a real limitation. In WIRED 4 you
+can create as many views (SceneHandlers) as you like.
+</p><p>
+<span class="bold"><strong>Further information:</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://wired.freehep.org/index.html" target="_top">
+    WIRED4</a> Plugin to the JAS3 Analysis System
+  </p></li><li><p>
+    <a href="http://www.fisica.uniud.it/~glast/FRED/" target="_top">
+    FRED</a> event display
+  </p></li><li><p>
+    HepRep graphics format:
+    </p><p>
+    <a href="http://www.slac.stanford.edu/~perl/heprep" target="_top">
+    http://www.slac.stanford.edu/~perl/heprep
+    </a>
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.DAWN"></a>8.3.6. 
+DAWN
+</h3></div></div></div><p>
+The DAWN drivers are interfaces to 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
+Fukui Renderer DAWN</a>, which has been developed by Satoshi Tanaka,
+Minato Kawaguti et al (Fukui University). It is a vectorized 3D
+PostScript processor, and so well suited to prepare technical high
+quality outputs for presentation and/or documentation. It is also
+useful for precise debugging of detector geometry. Remote
+visualization, off-line re-visualization, cut view, and many other
+useful functions of detector simulation are supported. A DAWN
+process is automatically invoked as a co-process of Geant4 when
+visualization is performed, and 3D data are passed with
+inter-process communication, via a file, or the TCP/IP socket.
+</p><p>
+When Geant4 Visualization is performed with the DAWN driver, the
+visualized view is automatically saved to a file named
+<code class="literal">g4.eps</code> in the current directory, which describes a
+vectorized (Encapsulated) PostScript data of the view.
+</p><p>
+There are two kinds of DAWN drivers, the DAWNFILE driver and the
+DAWN-Network driver. The DAWNFILE driver is usually recommended,
+since it is faster and safer in the sense that it is not affected
+by network conditions.
+</p><p>
+The DAWNFILE driver sends 3D data to DAWN via an intermediate
+file, named <code class="literal">g4.prim</code> in the current directory. The file
+<code class="literal">g4.prim</code> can be re-visualized later without the help of
+Geant4. This is done by invoking DAWN by hand:
+
+</p><div class="informalexample"><pre class="programlisting">
+     % dawn g4.prim 
+</pre></div><p>
+</p><p>
+DAWN files can also serve as input to two additional programs:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    A standalone program, DAWNCUT, can perform a planar cut on a
+    DAWN image. DAWNCUT takes as input a .prim file and some cut
+    parameters. Its output is a new .prim file to which the cut has
+    been applied.
+  </p></li><li><p>
+    Another standalone program, DAVID, can show you any volume
+    overlap errors in your geometry. DAVID takes as input a .prim file
+    and outputs a new .prim file in which overlapping volumes have been
+    highlighted. The use of DAVID is described in section 
+    <a href="ch04.html#sect.Geom.Overlap" title="4.1.11. 
+Detecting Overlapping Volumes
+">Section 4.1.11</a> of this manual.
+  </p></li></ul></div><p>
+</p><p>
+The DAWN-Network driver is almost the same as the DAWNFILE
+driver except that
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    3D data are passed to DAWN via the TCP/IP the socket (default)
+    or the named pipe, and that,
+  </p></li></ul></div><p>
+</p><p>
+If you have not set up network configurations of your host machine,
+set the environment variable <code class="literal">G4DAWN_NAMED_PIPE</code> to "1",
+e.g., <code class="literal">% setenv G4DAWN_NAMED_PIPE 1</code>. This setting switches
+the default socket connection to the named-pipe connection within
+the same host machine. The DAWN-Network driver also saves the 3D
+data to the file <code class="literal">g4.prim</code> in the current directory.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.RemDAWN"></a>8.3.7. 
+Remote Visualization with the DAWN-Network Driver
+</h3></div></div></div><p>
+Visualization in Geant4 is considered to be "remote" when it is
+performed on a machine other than the Geant4 host. Some of the
+visualization drivers support this feature.
+</p><p>
+Usually, the visualization host is your local host, while the
+Geant4 host is a remote host where you log in, for example, with
+the <code class="literal">telnet</code> command. This enables distributed 
+processing of Geant4 visualization, avoiding the transfer of large 
+amounts of visualization data to your terminal display via the 
+network. This section describes how to perform remote Geant4 
+visualization with the DAWN-Network driver. In order to do it, 
+you must install the Fukui Renderer DAWN on your local host 
+beforehand.
+</p><p>
+The following steps realize remote Geant4 visualization viewed
+by DAWN.
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Invoke DAWN with "-G" option on your local host:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Local_Host&gt; dawn -G
+    </pre></div><p>
+
+    This invokes DAWN with the network connection mode.
+  </p></li><li><p>
+    Login to the remote host where a Geant4 executable is placed.
+  </p></li><li><p>
+    Set an environment variable on the remote host as follows:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Remote_Host&gt; setenv G4DAWN_HOST_NAME local_host_name
+    </pre></div><p>
+
+    For example, if you are working in the local host named
+    "arkoop.kek.jp", set this environment variable as follows:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Remote_Host&gt; setenv G4DAWN_HOST_NAME arkoop.kek.jp
+    </pre></div><p>
+
+    This tells a Geant4 process running on the remote host where Geant4
+    Visualization should be performed, i.e., where the visualized views
+    should be displayed.
+  </p></li><li><p>
+    Invoke a Geant4 process and perform visualization with the
+    DAWN-Network driver. For example:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Idle&gt; /vis/open DAWN
+       Idle&gt; /vis/drawVolume 
+       Idle&gt; /vis/viewer/flush
+    </pre></div><p>      
+  </p></li></ol></div><p>
+</p><p>
+In step 4, 3D scene data are sent from the remote host to the
+local host as 
+<a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
+DAWN-formatted data</a>, and the local DAWN will visualize the data. The
+transferred data are saved as a file named <code class="literal">g4.prim</code> in the
+current directory of the local host.
+</p><p>
+<span class="bold"><strong>Further information:</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
+    </a>
+  </p></li><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
+    </a>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Further information:</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Fukui Renderer DAWN:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWN.html
+    </a>
+    </p><p>
+  </p></li><li><p>
+    The DAWNFILE driver:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNFILE_driver.html
+    </a>
+    </p><p>
+  </p></li><li><p>
+    The DAWN-Network driver:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/DAWNNET_driver.html
+    </a>
+    </p><p>
+  </p></li><li><p>
+    Environmental variables to customize DAWN and DAWN drivers:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/DAWN_ENV.html
+    </a>
+    </p><p>
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/g4vis_on_linux.html
+    </a>
+    </p><p>
+  </p></li><li><p>
+    DAWN format (g4.prim format) manual:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/G4PRIM_FORMAT_24/
+    </a>
+    </p><p>
+  </p></li><li><p>
+    Geant4 Fukui University Group Home Page:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/
+    </a>
+    </p><p>
+  </p></li><li><p>
+    DAWNCUT:
+    </p><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
+    </a>
+    </p><p>
+  </p></li><li><p>
+   DAVID:
+   </p><p>
+   <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html" target="_top">
+   http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAVID.html
+   </a>
+   </p><p> 
+  </p></li><li><p>
+    Geant4 Visualization Tutorial using the DAWN Renderer: 
+    </p><p>
+    <a href="http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html" target="_top">
+    http://geant4.slac.stanford.edu/Presentations/vis/GDAWNTutorial/G4DAWNTutorial.html
+    </a>
+    </p><p>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.VRML"></a>8.3.8. 
+VRML
+</h3></div></div></div><p>
+These drivers were developed by Satoshi Tanaka and Yasuhide Sawada
+(Fukui University). They generate VRML files, which describe 3D
+scenes to be visualized with a proper VRML viewer, at either a
+local or a remote host. It realizes virtual-reality visualization
+with your WWW browser. There are many excellent VRML viewers, which
+enable one to perform interactive spinning of detectors, walking
+and/or flying inside detectors or particle showers, interactive
+investigation of detailed detector geometry etc.
+</p><p>
+There are two kinds of VRML drivers: the VRMLFILE driver, and
+the VRML-Network driver. The VRMLFILE driver is usually
+recommended, since it is faster and safer in the sense that it is
+not affected by network conditions.
+</p><p>
+The VRMLFILE driver sends 3D data to your VRML viewer, which is
+running on the same host machine as Geant4, via an intermediate
+file named <code class="literal">g4.wrl</code> created in the current directory. This
+file can be re-visualization afterwards. In visualization, the name
+of the VRML viewer should be specified by setting the environment
+variable <code class="literal">G4VRML_VIEWER</code> beforehand. For example,
+
+</p><div class="informalexample"><pre class="programlisting">
+     % setenv G4VRML_VIEWER  "netscape"
+</pre></div><p>
+</p><p>
+Its default value is <code class="literal">NONE</code>, which means that no viewer
+is invoked and only the file <code class="literal">g4.wrl</code> is generated.
+</p><h5><a name="id505679"></a>
+Remote Visualization with the VRML-Network Driver
+</h5><p>
+Visualization in Geant4 is considered to be "remote" when it is
+performed on a machine other than the Geant4 host. Some of the
+visualization drivers support this feature.
+</p><p>
+Usually, the visualization host is your local host, while the
+Geant4 host is a remote host where you log in, for example, with
+the <code class="literal">telnet</code> command. This enables distributed processing of
+Geant4 visualization, avoiding the transfer of large amounts of
+visualization data to your terminal display via the network.
+</p><p>
+In order to perform remote visualization with the VRML-Network
+driver, the following must be installed on your local host
+beforehand:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    a VRML viewer
+  </p></li><li><p>
+    the Java application <code class="literal">g4vrmlview</code>.
+  </p></li></ol></div><p>
+</p><p>
+The Java application <code class="literal">g4vrmlview</code> is included as part of the
+Geant4 package and is located at:
+
+</p><div class="informalexample"><pre class="programlisting">
+     source/visualization/VRML/g4vrmlview/
+</pre></div><p>
+</p><p>
+Installation instructions for <code class="literal">g4vrmlview</code> can be found in
+the <code class="literal">README</code> file there, or on the WWW page below.
+</p><p>
+The following steps realize remote Geant4 visualization
+displayed with your local VRML browser:
+
+</p><div class="orderedlist"><ol type="1" compact><li><p>
+    Invoke the <code class="literal">g4vrmlview</code> on your local host, giving a
+    VRML viewer name as its argument:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Local_Host&gt; java g4vrmlview  VRML_viewer_name
+    </pre></div><p>
+
+    For example, if you want to use the Netscape browser as your VRML
+    viewer, execute <code class="literal">g4vrmlview</code> as follows:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Local_Host&gt; java g4vrmlview  netscape
+    </pre></div><p>
+
+    Of course, the command path to the VRML viewer should be properly set.
+  </p></li><li><p>
+    Log in to the remote host where a Geant4 executable is placed.
+  </p></li><li><p>
+    Set an environment variable on the remote host as follows:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Remote_Host&gt; setenv G4VRML_HOST_NAME local_host_name
+    </pre></div><p>
+
+    For example, if you are working on the local host named
+    "arkoop.kek.jp", set this environment variable as follows:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Remote_Host&gt; setenv G4VRML_HOST_NAME arkoop.kek.jp
+    </pre></div><p>
+
+    This tells a Geant4 process running on the remote host where Geant4
+    Visualization should be performed, i.e., where the visualized views
+    should be displayed.
+  </p></li><li><p>
+    Invoke a Geant4 process and perform visualization with the
+    VRML-Network driver. For example:
+
+    </p><div class="informalexample"><pre class="programlisting">
+       Idle&gt; /vis/open VRML2
+       Idle&gt; /vis/drawVolume 
+       Idle&gt; /vis/viewer/update
+    </pre></div><p>       
+  </p></li></ol></div><p>
+</p><p>
+In step 4, 3D scene data are sent from the remote host to the
+local host as VRML-formatted data, and the VRML viewer specified in
+step 3 is invoked by the <code class="literal">g4vrmlview</code> process to visualize
+the VRML data. The transferred VRML data are saved as a file named
+<code class="literal">g4.wrl</code> in the current directory of the local host.
+</p><p>
+<span class="bold"><strong>Further information:</strong></span>
+
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
+    </a>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Further information (VRML drivers):</strong></span>
+
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_file_driver.html
+    </a>
+  </p></li><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML_net_driver.html
+    </a>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Sample VRML files:</strong></span>
+
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/GEANT4/VRML2_FIG/
+    </a>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Further information (VRML language and browsers):</strong></span>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://www.vrmlsite.com/" target="_top">http://www.vrmlsite.com/
+    </a>
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.RayTrc"></a>8.3.9. 
+RayTracer
+</h3></div></div></div><p>
+This driver was developed by Makoto Asai and Minamimoto (Hirosihma
+Instutute of Technology). It performs ray-tracing visualization
+using the tracking routines of Geant4. It is, therefore, available
+for every kinds of shapes/solids which Geant4 can handle. It is
+also utilized for debugging the user's geometry for the tracking
+routines of Geant4. It is well suited for photo-realistic high
+quality output for presentation, and for intuitive debugging of
+detector geometry. It produces a JPEG file. This driver is by
+default listed in the available visualization drivers of user's
+application.
+</p><p>
+Some pieces of geometries may fail to show up in other
+visualization drivers (due to algorithms those drivers use to
+compute visualizable shapes and polygons), but RayTracer can handle
+any geometry that the Geant4 navigator can handle.
+</p><p>
+Because RayTracer in essence takes over Geant4's tracking
+routines for its own use, RayTracer cannot be used to visualize
+Trajectories or hits.
+</p><p>
+An X-Window version, called RayTracerX, can be selected by
+setting <code class="literal">G4VIS_BUILD_RATRACERX_DRIVER</code> at Geant4 library
+build time and <code class="literal">G4VIS_USE_RAYTRACERX</code> at application (user
+code) build time (assuming you use the standard visualization
+manager, <code class="literal">G4VisExecutive</code>, or an equally smart vis manager).
+RayTracerX builds the same jpeg file as RayTracer, but
+simultaneously renders to screen so you can watch as rendering
+grows progressively smoother.
+</p><p>
+RayTracer has its own built-in commands -
+<code class="literal">/vis/rayTracer/</code>.... Alternatively, you can treat it as a
+normal vis system and use <code class="literal">/vis/viewer/</code>... commands,
+e.g:
+
+</p><div class="informalexample"><pre class="programlisting">
+  /vis/open RayTracerX
+  /vis/drawVolume
+  /vis/viewer/set/viewpointThetaPhi 30 30
+  /vis/viewer/refresh
+</pre></div><p>
+</p><p>
+The view parameters are translated into the necessary RayTracer
+parameters.
+</p><p>
+RayTracer is compute intensive. If you are unsure of a good
+viewing angle or zoom factor, you might be advised to choose them
+with a faster renderer, such as OpenGL, and transfer the view
+parameters with <code class="literal">/vis/viewer/set/all</code>:
+
+</p><div class="informalexample"><pre class="programlisting">
+  /vis/open OGLSXm  # or any of the OGL options.  Opens, say, viewer-0.
+  /vis/drawVolume
+  /vis/viewer/zoom  # plus any /vis/viewer/commands that get you the view you want.
+  /vis/open RayTracerX
+  /vis/viewer/set/all viewer-0
+  /vis/viewer/refresh
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.DetTree"></a>8.3.10. 
+Visualization of detector geometry tree
+</h3></div></div></div><p>
+ASCIITREE is a visualization driver that is not actually graphical
+but that dumps the volume hierarchy as a simple text tree.
+</p><p>
+Each call to /vis/viewer/flush or /vis/drawTree will dump the
+tree.
+</p><p>
+ASCIITree has command to control its verbosity,
+<code class="literal">/vis/ASCIITree/verbose</code>. The verbosity value controls the
+amount of information available, e.g., physical volume name alone,
+or also logical volume and solid names. If the volume is
+"sensitive" and/or has a "readout geometry", this may also be
+indicated. Also, the mass of the physical volume tree(s) can be
+printed (but beware - higher verbosity levels can be
+computationally intensive).
+</p><p>
+At verbosity level 4, ASCIITree calculates the mass of the
+complete geometry tree taking into account daughters up to the
+depth specified for each physical volume. The calculation involves
+subtracting the mass of that part of the mother that is occupied by
+each daughter and then adding the mass of the daughter, and so on
+down the hierarchy.
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/ASCIITree/Verbose 4
+     /vis/viewer/flush
+     "HadCalorimeterPhysical":0 / "HadCalorimeterLogical" / "HadCalorimeterBox"(G4Box), 
+                                  1.8 m3 , 11.35 g/cm3
+     "HadCalColumnPhysical":-1 (10 replicas) / "HadCalColumnLogical" / "HadCalColumnBox"(G4Box), 
+                                               180000 cm3, 11.35 g/cm3
+     "HadCalCellPhysical":-1 (2 replicas) / "HadCalCellLogical" / "HadCalCellBox"(G4Box), 
+                                            90000 cm3, 11.35 g/cm3
+     "HadCalLayerPhysical":-1 (20 replicas) / "HadCalLayerLogical" / "HadCalLayerBox"(G4Box),
+                                              4500 cm3, 11.35 g/cm3
+     "HadCalScintiPhysical":0 / "HadCalScintiLogical" / "HadCalScintiBox"(G4Box), 
+                                900 cm3, 1.032 g/cm3
+     
+     Calculating mass(es)...
+     Overall volume of "worldPhysical":0, is 2400 m3
+     Mass of tree to unlimited depth is 22260.5 kg
+</pre></div><p>
+</p><p>
+Some more examples of ASCIITree in action:
+
+</p><div class="informalexample"><pre class="programlisting">
+     Idle&gt; /vis/ASCIITree/verbose 1
+     Idle&gt; /vis/drawTree
+     #  Set verbosity with "/vis/ASCIITree/verbose 
+     #    &lt;  10: - does not print daughters of repeated placements, does not repeat replicas.
+     #    &gt;= 10: prints all physical volumes.
+     #  The level of detail is given by verbosity%10:
+     #  for each volume:
+     #    &gt;=  0: physical volume name.
+     #    &gt;=  1: logical volume name (and names of sensitive detector and readout geometry, if any).
+     #    &gt;=  2: solid name and type.
+     #    &gt;=  3: volume and density.
+     #    &gt;=  5: daughter-subtracted volume and mass.
+     #  and in the summary at the end of printing:
+     #    &gt;=  4: daughter-included mass of top physical volume(s) in scene to depth specified.
+     .....
+     "Calorimeter", copy no. 0, belongs to logical volume "Calorimeter"
+       "Layer", copy no. -1, belongs to logical volume "Layer" (10 replicas)
+         "Absorber", copy no. 0, belongs to logical volume "Absorber"
+           "Gap", copy no. 0, belongs to logical volume "Gap"
+     .....
+     Idle&gt; /vis/ASCIITree/verbose 15
+     Idle&gt; /vis/drawTree
+     ....
+      "tube_phys":0 / "tube_L" / "tube"(G4Tubs), 395841 cm3, 1.782 mg/cm3, 
+                                9.6539e-08 mm3, 1.72032e-10 mg
+        "divided_tube_phys":0 / "divided_tube_L" / "divided_tube"(G4Tubs), 65973.4 cm3, 
+                                1.782 mg/cm3, 7587.54 cm3, 13.521 g 
+          "divided_tube_inset_phys":0 / "divided_tube_inset_L" / "divided_tube_inset"(G4Tubs), 
+                                        58385.9 cm3, 1.782 mg/cm3, 6.03369e-09 mm3, 1.0752e-11 mg
+            "sub_divided_tube_phys":0 / "sub_divided_tube_L" / "sub_divided_tube"(G4Tubs), 
+                                        14596.5 cm3, 1.782 mg/cm3, 12196.5 cm3, 21.7341 g 
+     .....
+     Calculating mass(es)...
+     Overall volume of "expHall_P":0, is 8000 m3  and the daughter-included mass to unlimited depth 
+                                      is 78414 kg
+     .....
+</pre></div><p>
+</p><p>
+For the complete list of commands and options, see the 
+<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+Control...UICommands</a>  section of this user guide.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.GAGTree"></a>8.3.11. 
+GAG Tree
+</h3></div></div></div><p>
+The GAGTree driver provides a listing of the detector geometry tree
+within GAG, the Geant Adaptive GUI, (
+<a href="http://erpc1.naruto-u.ac.jp/~geant4" target="_top">
+http://erpc1.naruto-u.ac.jp/~geant4
+</a>
+). GAG allows "folding/un-folding" a part of the geometry tree, using
+the <span class="emphasis"><em>Tree Widget</em></span> in Java:
+
+</p><div class="informalfigure"><a name="fig.VisDrv_1"></a><div class="mediaobject" align="center"><img src="./AllResources/Visualization/visualization.src/gagtree.jpg" align="middle"></div></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisDrv.XMLTree"></a>8.3.12. 
+XML Tree
+</h3></div></div></div><p>
+The XML description of the geometry tree can be created in Geant4
+by the XML Tree driver. The XML source can also be edited on the
+fly. The created XML files are visualizable with any XML browser
+(in Windows, a good XML viewer is <span class="emphasis"><em>XML Notepad</em></span>).
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Folding and un-folding:
+
+    </p><div class="informalfigure"><a name="fig.VisDrv_2"></a><div class="mediaobject" align="center"><img src="./AllResources/Visualization/visualization.src/xmlnp.gif" align="middle"></div></div><p>
+  </p></li></ul></div><p>
+
+
+</p><div class="itemizedlist"><ul type="disc"><li><p>
+    Searching a string:
+
+    </p><div class="informalfigure"><a name="fig.VisDrv_3"></a><div class="mediaobject" align="center"><img src="./AllResources/Visualization/visualization.src/xmlnpfind.gif" align="middle"></div></div><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.2. 
+Adding Visualization to Your Executable
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.4. 
+Controlling Visualization from Commands
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s04.html	(revision 901)
@@ -0,0 +1,856 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.4.  Controlling Visualization from Commands</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s03.html" title="8.3.  The Visualization Drivers"><link rel="next" href="ch08s05.html" title="8.5.  Controlling Visualization from Compiled Code"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.4. 
+Controlling Visualization from Commands
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisCntCmmd"></a>8.4. 
+Controlling Visualization from Commands
+</h2></div></div></div><p>
+This section describes just a few of the more commonly used
+visualization commands. For the complete list of commands and
+options, see the 
+<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+Control...UICommands</a> section of this user guide.
+</p><p>
+For simplicity, this section assumes that the Geant4 executable
+was compiled incorporating the DAWNFILE and the OpenGL-Xlib
+drivers. For details on creating an executable for visualization
+see <a href="ch08s02.html" title="8.2. 
+Adding Visualization to Your Executable
+">Section 8.2</a>.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.ScnHndVw"></a>8.4.1. 
+Scene, scene handler, and viewer
+</h3></div></div></div><p>
+In using the visualization commands, it is useful to know the
+concept of "scene", "scene handler", and "viewer". A "scene" is a
+set of visualizable raw 3D data. A "scene handler" is a
+graphics-data modeler, which processes raw data in a scene for
+later visualization. And a "viewer" generates images based on data
+processed by a scene handler. Roughly speaking, a set of a scene
+handler and a viewer corresponds to a visualization driver.
+</p><p>
+The steps of performing Geant4 visualization are explained
+below, though some of these steps may be done for you so that in
+practice you may use as few as just two commands (such as /vis/open
+OGLIX plus /vis/drawVolume) The seven steps of visualization are:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+     Step 1. Create a scene handler and a viewer.
+   </p></li><li><p>
+     Step 2. Create an empty scene.
+   </p></li><li><p>
+     Step 3. Add raw 3D data to the created scene.
+   </p></li><li><p>
+     Step 4. Attach the current scene handler to the current scene.
+   </p></li><li><p>
+     Step 5. Set camera parameters, drawing style (wireframe/surface), etc.
+   </p></li><li><p>
+     Step 6. Make the viewer execute visualization.
+   </p></li><li><p>
+     Step 7. Declare the end of visualization for flushing.
+   </p></li></ul></div><p>
+</p><p>
+These seven steps can be controlled explicitly to create
+multiple scenes and multiple viewers, each with its own set of
+parameters, with easy switching from one scene to another. But for
+the most common case of just having one scene and one viewer, many
+steps are handled implicitly for you.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.CrtScnVw"></a>8.4.2. 
+Create a scene handler and a viewer: <code class="literal">/vis/open</code> command
+</h3></div></div></div><p>
+Command "<code class="literal">/vis/open</code>" creates a scene handler and a viewer,
+which corresponds to Step 1.
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/open [driver_tag_name]</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Argument</strong></span>
+    </p><p>
+    A name of (a mode of) an available visualization driver.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Create a visualization driver, i.e. a set of a scene hander and a
+    viewer.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example: Create the OpenGL-Xlib driver with its 
+    immediate mode</strong></span>
+    </p><p>
+    <code class="literal">Idle&gt; /vis/open OGLIX</code>
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional notes</strong></span>
+    </p><p>
+    For immediate viewers, such as OGLIX, your geometry will
+    immediately be rendered in the new GL window
+    </p><p>    
+  </p></li></ul></div><p>
+How to list available driver_tag_name:
+
+</p><pre class="programlisting">
+Idle&gt; help /vis/open
+</pre><p>
+
+or
+
+</p><div class="informalexample"><pre class="programlisting">
+Idle&gt; help /vis/sceneHandler/create
+</pre></div><p>
+
+The list is, for example, displayed as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+.....
+Candidates : DAWNFILE OGLIX OGLSX
+.....
+</pre></div><p>
+</p><p>
+For additional options, see the 
+<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+Control...UICommands</a> section of this user guide.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.CrtEmp"></a>8.4.3. 
+Create an empty scene: <code class="literal">/vis/scene/create</code> command
+</h3></div></div></div><p>
+Command "<code class="literal">/vis/scene/create</code>" creates an empty scene, 
+which corresponds to Step 2.
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">
+/vis/scene/create [scene_name]
+</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p><span class="bold"><strong>Argument</strong></span>
+    </p><p>
+    A name for this scene. Created for you if you don't specify one.
+    </p><p>
+  </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.PhyVol"></a>8.4.4. 
+Visualization of a physical volume: <code class="literal">/vis/drawVolume</code> command
+</h3></div></div></div><p>
+Command "<code class="literal">/vis/drawVolume</code>" adds a physical volume to the
+scene. It also does some of the other steps, if you haven't done
+them explicitly. It takes care of steps 2, 3, 4 and 6. Command
+"<code class="literal">/vis/viewer/flush</code>" should follow in order to do the final
+Step 7.
+</p><p>
+<span class="bold"><strong>Commands:</strong></span>
+</p><p>
+</p><div class="informalexample"><pre class="programlisting">
+/vis/drawVolume [physical-volume-name]
+.....
+Idle&gt; /vis/viewer/flush
+</pre></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Argument</strong></span>
+    </p><p>
+    A physical-volume name. The default value is "world", which is
+    omittable.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Creates a scene consisting of the given physical volume and asks
+    the current viewer to draw it. The scene becomes current. Command
+    "<code class="literal">/vis/viewer/flush</code>" should follow this command in order to
+    declare end of visualization.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example: Visualization of the whole world with 
+    coordinate axes</strong></span>
+    </p><div class="informalexample"><pre class="programlisting">
+    Idle&gt; /vis/drawVolume
+    Idle&gt; /vis/scene/add/axes 0 0 0 500 mm
+    Idle&gt; /vis/viewer/flush
+    </pre></div><p>
+  </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.LogVol"></a>8.4.5. 
+Visualization of a logical volume: <code class="literal">/vis/specify</code> command
+</h3></div></div></div><p>
+Command "<code class="literal">/vis/specify</code>" visualizes a logical volume. If
+allows you to control how much details is shown and whether to show
+booleans, voxels and readout geometries. It also does some of the
+other steps, if you haven't done them explicitly. It takes care of
+steps 2, 3, 4 and 6. Command "<code class="literal">/vis/viewer/flush</code>" should
+follow the command in order to do the final Step 7.
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/specify [logical-volume-name][depth-of-descent]
+[booleans-flag] [voxels-flag] [readout-flag]</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Argument</strong></span>
+    </p><p>
+    A logical-volume name.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Creates a scene consisting of the given logical volume and asks the
+    current viewer to draw it. The scene becomes current.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example (visualization of a selected logical 
+    volume with coordinate axes)</strong></span>
+
+    </p><div class="informalexample"><pre class="programlisting">
+    Idle&gt; /vis/specify Absorber
+    Idle&gt; /vis/scene/add/axes 0 0 0 500 mm
+    Idle&gt; /vis/scene/add/text 0 0 0 mm 40 -100 -200 LogVol:Absorber
+    Idle&gt; /vis/viewer/flush
+    </pre></div><p>
+  </p></li></ul></div><p>
+For more options, see the 
+<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+Control...UICommands</a> section of this user guide.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.Traj"></a>8.4.6. 
+Visualization of trajectories: <code class="literal">/vis/scene/add/trajectories</code> command
+</h3></div></div></div><p>
+
+Command "<code class="literal">/vis/scene/add/trajectories [smooth] [rich]</code>"
+adds trajectories to the current scene. The optional
+parameters "smooth" and/or "rich" (you may specify either, both or
+neither) invoke, if "smooth" is specified, the storing and displaying
+of extra points on curved trajectories and, if "rich" is specified,
+the storing, for possible subsequent selection and display, of
+additional information, such as volume names, creator process, energy
+deposited, global time. Be aware, of course, that this imposes
+computational and memory overheads.  Note that this automatically
+issues the appropriate
+"<code class="literal">/tracking/storeTrajectory</code>" command so that trajectories are
+stored (by default they are not). The visualization is performed
+with the command "<code class="literal">/run/beamOn</code>" unless you have non-default
+values for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described below).
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/scene/add/trajectories [smooth] [rich]</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    The command adds trajectories to the current scene. Trajectories
+    are drawn at end of event when the scene in which they are added is
+    current.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example: Visualization of trajectories</strong></span>
+    </p><div class="informalexample"><pre class="programlisting">
+    Idle&gt; /vis/scene/add/trajectories
+    Idle&gt; /run/beamOn 10
+    </pre></div><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional note 1</strong></span>
+    </p><p>
+    See the section 
+    <a href="ch08s07.html#sect.VisEnhTrj.CntlComm" title="8.7.3. 
+Controlling from Commands
+">Section 8.7.3</a> 
+    Enhanced Trajectory Drawing
+    for details on how to control how trajectories are
+    color-coded.
+    </p><p>
+  </p></li></ul></div><p>
+For more options, see the 
+<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+Control...UICommands </a>  section of this user guide.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.Hits"></a>8.4.7. 
+Visualization of hits: <code class="literal">/vis/scene/add/hits</code> command
+</h3></div></div></div><p>
+Command "<code class="literal">/vis/scene/add/hits</code>" adds hits to the current
+scene, assuming that you have a hit class and that the hits have
+visualization information. The visualization is performed with the
+command "<code class="literal">/run/beamOn</code>" unless you have non-default values
+for /vis/scene/endOfEventAction or /vis/scene/endOfRunAction
+(described above).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.HrAtHits"></a>8.4.8. 
+HepRep Attributes for Hits
+</h3></div></div></div><p>
+The HepRep file formats, HepRepFile and HepRepXML, attach various
+attributes to hits such that you can view these attributes, label
+trajectories by these attributes or make visibility cuts based on
+these attributes. Examples of adding HepRep attributes to hit
+classes can be found in examples /extended/analysis/A01 and
+/extended/runAndEvent/RE01.
+</p><p>
+For example, in example RE01's class RE01CalorimeterHit.cc,
+available attributes will be:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Hit Type
+  </p></li><li><p>
+    Track ID
+  </p></li><li><p>
+    Z Cell ID
+  </p></li><li><p>
+    Phi Cell ID
+  </p></li><li><p>
+    Energy Deposited
+  </p></li><li><p>
+    Energy Deposited by Track
+  </p></li><li><p>
+    Position
+  </p></li><li><p>
+    Logical Volume
+  </p></li></ul></div><p>
+</p><p>
+You can add additional attributes of your choosing by modifying the
+relevant part of the hit class (look for the methods GetAttDefs and
+CreateAttValues).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.BscCmrWrk"></a>8.4.9. 
+Basic camera workings: <code class="literal">/vis/viewer/</code> commands
+</h3></div></div></div><p>
+Commands in the command directory "<code class="literal">/vis/viewer/</code>" set
+camera parameters and drawing style of the current viewer, which
+corresponds to Step 5. Note that the camera parameters and the
+drawing style should be set separately for each viewer. They can be
+initialized to the default values with command
+"<code class="literal">/vis/viewer/reset</code>". Some visualization systems, such as
+the VRML and HepRep browsers also allow camera control from the
+standalone graphics application.
+</p><p>
+Just a few of the camera commands are described here. For more
+commands, see the 
+<a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+Control...UICommands</a> section of this user guide.
+</p><p>
+</p><p><span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/viewer/set/viewpointThetaPhi [theta] [phi]
+[deg|rad]</code>
+</p><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Arguments</strong></span>
+    </p><p>
+    Arguments "theta" and "phi" are polar and azimuthal camera angles,
+    respectively. The default unit is "degree".
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Set a view point in direction of (theta, phi).
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example: Set the viewpoint in direction of (70 deg, 
+    20 deg)</strong></span>
+
+    /</p><div class="informalexample"><pre class="programlisting">
+    Idle&gt; /vis/viewer/set/viewpointThetaPhi 70 20
+    </pre></div><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional notes</strong></span>
+    </p><p>
+    Camera parameters should be set for each viewer. They are
+    initialized with command "<code class="literal">/vis/viewer/reset</code>".
+    </p><p>
+  </p></li></ul></div><p>
+
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/viewer/zoom [scale_factor]</code>
+</p><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Argument</strong></span>
+    </p><p>
+    The scale factor. The command multiplies magnification of the view
+    by this factor.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Zoom up/down of view.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example: Zoom up by factor 1.5</strong></span>
+    </p><div class="informalexample"><pre class="programlisting">
+    Idle&gt; /vis/viewer/zoom 1.5
+    </pre></div><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional notes</strong></span>
+    </p><p>
+    Camera parameters should be set for each viewer. They are
+    initialized with command "<code class="literal">/vis/viewer/reset</code>".
+    </p><p>
+    </p><p>
+    A similar pair of commands, scale and scaleTo allow non-uniform
+    scaling (i.e., zoom differently along different axes). For details,
+    see the 
+    <a href="./AllResources/Control/UIcommands/_vis_.html" target="_top">
+    Control...UICommands</a> section of this user guide.
+    </p><p>
+  </p></li></ul></div><p>
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/viewer/set/style [style_name]</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Arguments</strong></span>
+    </p><p>
+    Candidate values of the argument are "wireframe" and "surface".
+    ("w" and "s" also work.)
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Set a drawing style to wireframe or surface.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Example: Set the drawing style to "surface"</strong></span>
+    </p><div class="informalexample"><pre class="programlisting">
+    Idle&gt; /vis/viewer/set/style surface
+    </pre></div><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional notes</strong></span>
+    </p><p>
+    The style of some geometry components may have been forced one way
+    or the other through calls in compiled code. The set/style command
+    will NOT override such force styles.
+    </p><p>
+    </p><p>
+    Drawing style should be set for each viewer. The drawing style is
+    initialized with command "<code class="literal">/vis/viewer/reset</code>".
+    </p><p>
+  </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.DclEndFlsh"></a>8.4.10. 
+Declare the end of visualization for flushing: <code class="literal">/vis/viewer/flush</code> command
+</h3></div></div></div><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/viewer/flush</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Declare the end of visualization for flushing.
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional notes</strong></span>
+    </p><p>
+    Command "<code class="literal">/vis/viewer/flush</code>" should follow
+    "<code class="literal">/vis/drawVolume</code>", "<code class="literal">/vis/specify</code>", 
+    etc in order to complete visualization. It corresponds to Step 7.
+    </p><p>
+    </p><p>
+    The flush is done automatically after every /run/beamOn command
+    unless you have non-default values for /vis/scene/endOfEventAction
+    or /vis/scene/endOfRunAction (described above).
+    </p><p>
+  </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.EndEvtRun"></a>8.4.11. 
+End of Event Action and End of Run Action:
+<code class="literal">/vis/viewer/endOfEventAction</code> and
+<code class="literal">/vis/viewer/endOfEventAction</code> commands
+</h3></div></div></div><p>
+By default, a separate picture is created for each event. You can
+change this behavior to accumulate multiple events, or even
+multiple runs, in a single picture.
+</p><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/scene/endOfEventAction [refresh|accumulate]</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Control how often the picture should be cleared.
+    <code class="literal">refresh</code> means each event will be written to a new
+    picture.
+    <code class="literal">accumulate</code> means events will be accumulated into a single
+    picture. Picture will be flushed at end of run, unless you have
+    also set <code class="literal">/vis/scene/endOfRunAction accumulate</code>
+    </p><p>
+  </p></li><li><p>
+    <span class="bold"><strong>Additional note</strong></span>
+    </p><p>
+    You may instead choose to use update commands from your
+    BeginOfRunAction or EndOfEventAction, as in early examples, but now
+    the vis manager ia able to do most of what most users require
+    through the above commands.
+    </p><p>    
+  </p></li></ul></div><p>
+<span class="bold"><strong>Command: </strong></span>
+<code class="literal">/vis/scene/endOfRunAction [refresh|accumulate]</code>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Action</strong></span>
+    </p><p>
+    Control how often the picture should be cleared.
+    <code class="literal">refresh</code> means each run will be written to a new
+    picture.
+    <code class="literal">accumulate</code> means runs will be accumulated into a single
+    picture. To start a new picture, you must explicitly issue
+    <code class="literal">/vis/viewer/refresh</code>, <code class="literal">/vis/viewer/update</code> 
+    or <code class="literal">/vis/viewer/flush</code>
+    </p><p>
+  </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.HpRpTraj"></a>8.4.12. 
+HepRep Attributes for Trajectories
+</h3></div></div></div><p>
+The HepRep file formats, HepRepFile and HepRepXML, attach various
+attributes to trajectories such that you can view these attributes,
+label trajectories by these attributes or make visibility cuts
+based on these attributes. If you use the default Geant4 trajectory
+class from /tracking/src/G4Trajectory.cc (this is what you get with
+the plain <code class="literal">/vis/scene/add/trajectories</code> command),
+available attributes will be:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Track ID
+  </p></li><li><p>
+    Parent ID
+  </p></li><li><p>
+    Particle Name
+  </p></li><li><p>
+    Charge
+  </p></li><li><p>
+    PDG Encoding
+  </p></li><li><p>
+    Momentum 3-Vector
+  </p></li><li><p>
+    Momentum magnitude
+  </p></li><li><p>
+    Number of points
+  </p></li></ul></div><p>
+</p><p>
+Using <code class="literal">/vis/scene/add/trajectories rich</code> will get you
+additional attributes.
+You may also add additional attributes of your choosing by modifying the
+relevant part of G4Trajectory (look for the methods GetAttDefs and
+CreateAttValues). If you are using your own trajectory class, you
+may want to consider copying these methods from G4Trajectory.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.SvVwPs"></a>8.4.13. 
+How to save a visualized views to PostScript files
+</h3></div></div></div><p>
+Most of the visualization drivers offer ways to save visualized
+views to PostScript files (or Encapsulated PostScript (EPS) files)
+by themselves.
+</p><p>
+The DAWNFILE driver, which co-works with Fukui Renderer DAWN,
+generates "vectorized" PostScript data with "analytical
+hidden-line/surface removal", and so it is well suited for
+technical high-quality outputs for presentation, documentation, and
+debugging geometry. In the default setting of the DAWNFILE drivers,
+EPS files named "<code class="literal">g4_00.eps, g4_01.eps, g4_02.eps</code>,..." are
+automatically generated in the current directory each time when
+visualization is performed, and then a PostScript viewer
+"<code class="literal">gv</code>"is automatically invoked to visualize the generated
+EPS files.
+</p><p>
+For large data sets, it may take time to generate the vectorized
+PostScript data. In such a case, visualize the 3D scene with a
+faster visualization driver beforehand for previewing, and then use
+the DAWNFILE drivers. For example, the following visualizes the
+whole detector with the OpenGL-Xlib driver (immediate mode) first,
+and then with the DAWNFILE driver to generate an EPS file
+<code class="literal">g4_XX.eps</code> to save the visualized view:
+
+</p><div class="informalexample"><pre class="programlisting">
+# Invoke the OpenGL visualization driver in its immediate mode
+/vis/open OGLIX 
+
+# Camera setting
+/vis/viewer/set/viewpointThetaPhi 20 20
+
+# Camera setting
+/vis/drawVolume 
+/vis/viewer/flush
+
+# Invoke the DAWNFILE visualization driver 
+/vis/open DAWNFILE
+
+# Camera setting
+/vis/viewer/set/viewpointThetaPhi 20 20
+
+# Camera setting
+/vis/drawVolume 
+/vis/viewer/flush
+</pre></div><p>
+</p><p>
+This is a good example to show that the visualization drivers are
+complementary to each other.
+</p><p>
+In the OpenInventor drivers, you can simply click the "Print"
+button on their GUI to generate a PostScript file as a hard copy of
+a visualized view.
+</p><p>
+The OpenGL X drivers can also generate PostScript files, either from
+a pull-down menu (Motif drivers) or with <code class="literal">/vis/ogl/printEPS</code>.
+It can generate either vectorized or rasterized PostScript
+data. In generating vectorized PostScript data, hidden-surface
+removal is performed, based on the painter's algorithm after
+dividing facets of shapes into small sub-triangles.
+</p><p>
+The WIRED3 HepRep Browser and WIRED4 JAS Plug-In can generate a
+wide variety of bitmap and vector output formats including
+PostScript and PDF.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.Cull"></a>8.4.14. 
+Culling
+</h3></div></div></div><p>
+"Culling" means to skip visualizing parts of a 3D scene. Culling is
+useful for avoiding complexity of visualized views, keeping
+transparent features of the 3D scene, and for quick visualization.
+</p><p>
+Geant4 Visualization supports the following 3 kinds of
+culling:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Culling of invisible physical volumes
+  </p></li><li><p>
+    Culling of low density physical volumes.
+  </p></li><li><p>
+    Culling of covered physical volumes by others
+  </p></li></ul></div><p>
+</p><p>
+In order that one or all types of the above culling are on, i.e.,
+activated, the global culling flag should also be on.
+</p><p>
+<a href="ch08s04.html#table.VisCntCmmd_1" title="Table 8.2. 
+The default culling policies.
+">Table 8.2</a> summarizes the default culling policies.
+
+</p><div class="table"><a name="table.VisCntCmmd_1"></a><div class="table-contents"><table summary="
+The default culling policies.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td align="center">
+      <span class="bold"><strong>Culling Type</strong></span>
+    </td><td align="center">
+      <span class="bold"><strong>Default Value</strong></span>
+    </td></tr><tr><td align="center">
+      global
+    </td><td align="center">
+      ON
+    </td></tr><tr><td align="center">
+      invisible
+    </td><td align="center">
+      ON
+    </td></tr><tr><td align="center">
+      low density
+    </td><td align="center">
+      OFF
+    </td></tr><tr><td align="center">
+      covered daughter
+    </td><td align="center">
+      OFF
+    </td></tr></tbody></table></div><p class="title"><b>Table 8.2. 
+The default culling policies.
+</b></p></div><p><br class="table-break">
+</p><p>
+The default threshold density of the low-density culling is 0.01
+g/cm<sup>3</sup>.
+</p><p>
+The default culling policies can be modified with the following
+visualization commands. (Below the argument <code class="literal">flag</code> takes a
+value of <code class="literal">true</code> or <code class="literal">false</code>.)
+
+</p><div class="informalexample"><pre class="programlisting">
+     # global
+     /vis/viewer/set/culling  global  flag
+
+     # invisible
+     /vis/viewer/set/culling  invisible  flag
+
+     # low density
+     #   "value" is a proper value of a treshold density
+     #   "unit" is either g/cm3, mg/cm3 or kg/m3
+     /vis/viewer/set/culling  density  flag  value  unit 
+
+     # covered daughter
+     /vis/viewer/set/culling  coveredDaughters  flag     density
+</pre></div><p>
+</p><p>
+The HepRepFile graphic system will, by default, include culled
+objects in the file so that they can still be made visible later
+from controls in the HepRep browser. If this behavior would cause
+files to be too large, you can instead choose to have culled
+objects be omitted from the HepRep file. See details in the
+HepRepFile Driver section of this user guide.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.CutVw"></a>8.4.15. 
+Cut view
+</h3></div></div></div><h5><a name="id510671"></a>
+Sectioning
+</h5><p>
+"Sectioning" means to make a thin slice of a 3D scene around a
+given plane. At present, this function is supported by the OpenGL
+drivers. The sectioning is realized by setting a sectioning plane
+before performing visualization. The sectioning plane can be set by
+the command,
+
+</p><div class="informalexample"><pre class="programlisting">
+     /vis/viewer/set/sectionPlane on x y z units nx ny nz
+</pre></div><p>
+
+where the vector (x,y,z) defines a point on the sectioning plane,
+and the vector (nx,ny,nz) defines the normal vector of the
+sectioning plane. For example, the following sets a sectioning
+plane to a yz plane at x = 2 cm:
+
+</p><div class="informalexample"><pre class="programlisting">
+     Idle&gt; /vis/viewer/set/sectionPlane  on  2.0  0.0  0.0  cm  1.0  0.0  0.0
+</pre></div><p>
+</p><h5><a name="id510706"></a>
+Cutting away
+</h5><p>
+"Cutting away" means to remove a half space, defined with a plane,
+from a 3D scene.
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Cutting away is supported by the DAWNFILE driver "off-line". Do
+    the following:
+
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        Perform visualization with the DAWNFILE driver to generate a
+        file <code class="literal">g4.prim</code>, describing the whole 3D scene.
+      </p></li><li><p>
+        Make the application "DAWNCUT" read the generated file to make
+        a view of cutting away.
+      </p></li></ul></div><p>
+
+    See the following WWW page for details: 
+    <a href="http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html" target="_top">
+    http://geant4.kek.jp/GEANT4/vis/DAWN/About_DAWNCUT.html
+    </a>
+  </p></li><li><p>
+    Alternatively, add up to three cutaway planes:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     /vis/viewer/addCutawayPlane 0 0 0 m 1 0 0
+     /vis/viewer/addCutawayPlane 0 0 0 m 0 1 0
+     ...
+    </pre></div><p>
+    and, for more that one plane, you can change the mode to
+
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        (a) "add" or, equivalently, "union" (default) or
+      </p></li><li><p>
+        (b) "multiply" or, equivalently, "intersection":
+      </p></li></ul></div><p>
+
+    </p><div class="informalexample"><pre class="programlisting">
+     /vis/viewer/set/cutawayMode multiply
+    </pre></div><p>
+
+    To de-activate:
+
+    </p><div class="informalexample"><pre class="programlisting">
+     /vis/viewer/clearCutawayPlanes
+    </pre></div><p>
+
+    OpenGL supports this feature.
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmmd.TutMac"></a>8.4.16. 
+Tutorial macros
+</h3></div></div></div><p>
+The followings are tutorial macros in the directory
+<code class="literal">examples/novice/N03/visTutor/</code>:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="./Visualization/visTutor/exN03Vis0_mac.html" target="_top">
+    exN03Vis0.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL in Immediate mode and DAWN.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis1_mac.html" target="_top">
+    exN03Vis1.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry using OpenGL
+    in Stored mode and DAWN.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis2_mac.html" target="_top">
+    exN03Vis2.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL in Stored mode and DAWN.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis3_mac.html" target="_top">
+    exN03Vis3.mac:</a>
+    </p><p>
+    A basic macro for demonstrating various drawing styles using OpenGL
+    in Immediate mode and DAWN.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis4_mac.html" target="_top">
+    exN03Vis4.mac:</a>
+    </p><p>
+    An example of visualizing specific logical volumes using OpenGL in
+    Immediate mode and DAWN.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis5_mac.html" target="_top">
+    exN03Vis5.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using OpenInventor on Unix.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis6_mac.html" target="_top">
+    exN03Vis6.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using VRML.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis7_mac.html" target="_top">
+    exN03Vis7.mac:</a>
+    </p><p>
+    A macro to demonstrate "batch" visualization to generate PostScript
+    files with the DAWNFILE driver
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis8_mac.html" target="_top">
+    exN03Vis8.mac:</a>
+    </p><p>
+    A macro to demonstrate creation of a "multi-page" PostScript file
+    with the DAWNFILE driver
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis9_mac.html" target="_top">
+    exN03Vis9.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL for Windows.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis10_mac.html" target="_top">
+    exN03Vis10.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using OpenInventor on Windows.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis11_mac.html" target="_top">
+    exN03Vis11.mac:</a>
+    </p><p>
+    A basic macro for visualization of detector geometry and events
+    using OpenGL in Stored Motif mode and DAWN.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis12_mac.html" target="_top">
+    exN03Vis12.mac:</a> and
+    <a href="./Visualization/visTutor/exN03Vis12_loop.html" target="_top">
+    exN03Vis12.loop:</a>
+    </p><p>
+    A basic macro for demonstrating time slicing.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Vis13_mac.html" target="_top">
+    exN03Vis13.mac:</a> and
+    <a href="./Visualization/visTutor/exN03Vis13_loop.html" target="_top">
+    exN03Vis3.loop:</a>
+    </p><p>
+    Time development of an electrmagnetic shower.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Tree0_mac.html" target="_top">
+    exN03Tree0.mac:</a>
+    </p><p>
+    A macro to demonstrate ASCII tree.
+    </p><p>
+  </p></li><li><p>
+    <a href="./Visualization/visTutor/exN03Tree1_mac.html" target="_top">
+    exN03Tree1.mac:</a>
+    </p><p>
+    A macro to demonstrate GAG tree.
+    </p><p>
+  </p></li></ul></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.3. 
+The Visualization Drivers
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.5. 
+Controlling Visualization from Compiled Code
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s05.html	(revision 901)
@@ -0,0 +1,653 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.5.  Controlling Visualization from Compiled Code</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s04.html" title="8.4.  Controlling Visualization from Commands"><link rel="next" href="ch08s06.html" title="8.6.  Visualization Attributes"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.5. 
+Controlling Visualization from Compiled Code
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisCntCmpl"></a>8.5. 
+Controlling Visualization from Compiled Code
+</h2></div></div></div><p>
+While a Geant4 simulation is running, visualization can be
+performed without user intervention. This is accomplished by
+calling methods of the Visualization Manager from methods of the
+user action classes (<span class="emphasis"><em>G4UserRunAction</em></span> and
+<span class="emphasis"><em>G4UserEventAction</em></span>, for example). In this section methods of
+the class <span class="emphasis"><em>G4VVisManager</em></span>, which is part of the
+<code class="literal">graphics_reps</code> category, are described and examples of
+their use are given.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.VsMng"></a>8.5.1. 
+G4VVisManager
+</h3></div></div></div><p>
+The Visualization Manager is implemented by classes
+<span class="emphasis"><em>G4VisManager</em></span> and <span class="emphasis"><em>G4VisExecutive</em></span>. 
+See <a href="ch08s02.html" title="8.2. 
+Adding Visualization to Your Executable
+">Section 8.2</a>
+"<span class="bold"><strong>Making a Visualization Executable</strong></span>". In order 
+that your Geant4 be compilable either with or without the visualization
+category, you should not use these classes directly in your C++
+source code, other than in the <code class="literal">main()</code> function. Instead,
+you should use their abstract base class <span class="emphasis"><em>G4VVisManager</em></span>,
+defined in the <code class="literal">intercoms</code> category.
+</p><p>
+The pointer to the concrete instance of the real Visualization
+Manager can be obtained as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- Getting a pointer to the concrete Visualization Manager instance
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+</pre></div><p> 
+</p><p>
+The method <code class="literal">G4VVisManager::GetConcreteInstance()</code> returns
+<code class="literal">NULL</code> if Geant4 is not ready for visualization. Thus your
+C++ source code should be protected as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- How to protect your C++ source codes in visualization
+  if (pVVisManager) { 
+      ....
+      pVVisManager -&gt;Draw (...); 
+      ....
+  }
+</pre></div><p> 
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.DtcCmp"></a>8.5.2. 
+Visualization of detector components
+</h3></div></div></div><p>
+If you have already constructed detector components with logical
+volumes to which visualization attributes are properly assigned,
+you are almost ready for visualizing detector components. All you
+have to do is to describe proper visualization commands within your
+C++ codes, using the <code class="literal">ApplyCommand()</code> method.
+</p><p>
+For example, the following is sample C++ source codes to
+visualize the detector components:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- C++ source code: How to visualize detector components (2)
+  //                       ... using visualization commands in source codes
+  
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance() ;
+
+  if(pVVisManager)
+  {
+      ... (camera setting etc) ...
+      G4UImanager::GetUIpointer()-&gt;ApplyCommand("/vis/drawVolume");
+      G4UImanager::GetUIpointer()-&gt;ApplyCommand("/vis/viewer/flush");
+  }
+
+  //-----  end of C++ source code
+ 
+</pre></div><p>
+</p><p>
+In the above, you should also describe <code class="literal">/vis/open</code> command
+somewhere in your C++ codes or execute the command from (G)UI at
+the executing stage.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.Trjct"></a>8.5.3. 
+Visualization of trajectories
+</h3></div></div></div><p>
+In order to visualize trajectories, you can use the method <code class="literal">void
+G4Trajectory::DrawTrajectory()</code> defined in the tracking
+category. In the implementation of this method, the following
+drawing method of <span class="emphasis"><em>G4VVisManager</em></span> is used:
+
+</p><div class="informalexample"><pre class="programlisting">
+    //----- A drawing method of G4Polyline
+    virtual void G4VVisManager::Draw (const G4Polyline&amp;, ...) ;
+</pre></div><p>
+</p><p>
+The real implementation of this method is described in the class
+<span class="emphasis"><em>G4VisManager</em></span>.
+</p><p>
+At the end of one event, a set of trajectories can be stored as
+a list of <span class="emphasis"><em>G4Trajectory</em></span> objects. Therefore you can visualize
+trajectories, for example, at the end of each event, by
+implementing the method <code class="literal">MyEventAction::EndOfEventAction()</code>
+as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- C++ source codes 
+  void ExN03EventAction::EndOfEventAction(const G4Event* evt)
+  {
+    .....  
+    // extract the trajectories and draw them
+    if (G4VVisManager::GetConcreteInstance())
+      {
+       G4TrajectoryContainer* trajectoryContainer = evt-&gt;GetTrajectoryContainer();
+       G4int n_trajectories = 0;
+       if (trajectoryContainer) n_trajectories = trajectoryContainer-&gt;entries();
+  
+       for (G4int i=0; i &lt; n_trajectories; i++) 
+          { G4Trajectory* trj=(G4Trajectory*)((*(evt-&gt;GetTrajectoryContainer()))[i]);
+            if (drawFlag == "all") trj-&gt;DrawTrajectory(50);
+            else if ((drawFlag == "charged")&amp;&amp;(trj-&gt;GetCharge() != 0.))
+                                    trj-&gt;DrawTrajectory(50);
+            else if ((drawFlag == "neutral")&amp;&amp;(trj-&gt;GetCharge() == 0.))
+                                    trj-&gt;DrawTrajectory(50);
+          }
+    }
+  }  
+  //----- end of C++ source codes
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.EnhTrjct"></a>8.5.4. 
+Enhanced trajectory drawing
+</h3></div></div></div><p>
+It is possible to use the enhanced trajectory drawing functionality
+in compiled code as well as from commands. Multiple trajectory
+models can be instantiated, configured and registered with
+G4VisManager. For details, see the section on 
+<a href="ch08s07.html#sect.VisEnhTrj.CntlCmpl" title="8.7.4. 
+Controlling from Compiled Code
+">Section 8.7.4</a> 
+Enhanced Trajectory Drawing.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.AttTrjct"></a>8.5.5. 
+HepRep Attributes for Trajectories
+</h3></div></div></div><p>
+The HepRep file formats, HepRepFile and HepRepXML, attach various
+attributes to trajectories such that you can view these attributes,
+label trajectories by these attributes or make visibility cuts
+based on these attributes. If you use the default Geant4 trajectory
+class, from /tracking/src/G4Trajectory.cc, available attributes
+will be:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Track ID
+  </p></li><li><p>
+    Parent ID
+  </p></li><li><p>
+    Particle Name
+  </p></li><li><p>
+    Charge
+  </p></li><li><p>
+    PDG Encoding
+  </p></li><li><p>
+    Momentum 3-Vector
+  </p></li><li><p>
+    Momentum magnitude
+  </p></li><li><p>
+    Number of points
+  </p></li></ul></div><p>
+</p><p>
+You can add additional attributes of your choosing by modifying the
+relevant part of G4Trajectory (look for the methods GetAttDefs and
+CreateAttValues). If you are using your own trajectory class, you
+may want to consider copying these methods from G4Trajectory.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.Hits"></a>8.5.6. 
+Visualization of hits
+</h3></div></div></div><p>
+Hits are visualized with classes <span class="emphasis"><em>G4Square</em></span> or
+<span class="emphasis"><em>G4Circle</em></span>, or other user-defined classes inheriting the
+abstract base class <span class="emphasis"><em>G4VMarker</em></span>. Drawing methods for hits are
+not supported by default. Instead, ways of their implementation are
+guided by virtual methods, <code class="literal">G4VHit::Draw()</code> and
+<code class="literal">G4VHitsCollection::DrawAllHits()</code>, of the abstract base
+classes <span class="emphasis"><em>G4VHit</em></span> and <span class="emphasis"><em>G4VHitsCollection</em></span>. 
+These methods are defined as empty functions in the <code class="literal">digits+hits</code>
+category. You can overload these methods, using the following
+drawing methods of class <span class="emphasis"><em>G4VVisManager</em></span>, in order to
+visualize hits:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- Drawing methods of G4Square and G4Circle
+  virtual void G4VVisManager::Draw (const G4Circle&amp;, ...) ;
+  virtual void G4VVisManager::Draw (const G4Square&amp;, ...) ;
+</pre></div><p>
+</p><p>
+The real implementations of these <code class="literal">Draw()</code> methods are
+described in class <span class="emphasis"><em>G4VisManager</em></span>.
+</p><p>
+The overloaded implementation of <code class="literal">G4VHits::Draw()</code> will
+be held by, for example, class <span class="emphasis"><em>MyTrackerHits</em></span> inheriting
+<span class="emphasis"><em>G4VHit</em></span> as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- C++ source codes: An example of giving concrete implementation of
+  //       G4VHit::Draw(), using  class MyTrackerHit : public G4VHit {...}
+  //      
+ void MyTrackerHit::Draw()
+ {
+    G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+    if(pVVisManager)
+    {
+      // define a circle in a 3D space
+      G4Circle circle(pos);
+      circle.SetScreenSize(0.3);
+      circle.SetFillStyle(G4Circle::filled);
+
+      // make the circle red
+      G4Colour colour(1.,0.,0.);
+      G4VisAttributes attribs(colour);
+      circle.SetVisAttributes(attribs);
+
+      // make a 3D data for visualization 
+      pVVisManager-&gt;Draw(circle);
+    }
+  }
+
+  //----- end of C++ source codes
+ 
+</pre></div><p>
+</p><p>
+The overloaded implementation of
+<code class="literal">G4VHitsCollection::DrawAllHits()</code> will be held by, for
+example, class <span class="emphasis"><em>MyTrackerHitsCollection</em></span> inheriting class
+<span class="emphasis"><em>G4VHitsCollection</em></span> as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- C++ source codes: An example of giving concrete implementation of
+  //       G4VHitsCollection::Draw(), 
+  //       using  class MyTrackerHit : public G4VHitsCollection{...}
+  //      
+  void MyTrackerHitsCollection::DrawAllHits()
+  {
+    G4int n_hit = theCollection.entries();
+    for(G4int i=0;i &lt; n_hit;i++)
+    { 
+      theCollection[i].Draw(); 
+    }
+  }
+
+  //----- end of C++ source codes
+ 
+</pre></div><p>
+</p><p>
+Thus, you can visualize hits as well as trajectories, for
+example, at the end of each event by implementing the method
+<code class="literal">MyEventAction::EndOfEventAction()</code> as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  void MyEventAction::EndOfEventAction()
+  {
+    const G4Event* evt = fpEventManager-&gt;get_const_currentEvent();
+
+    G4SDManager * SDman = G4SDManager::get_SDMpointer();
+    G4String colNam;
+    G4int trackerCollID = SDman-&gt;get_collectionID(colNam="TrackerCollection");
+    G4int calorimeterCollID = SDman-&gt;get_collectionID(colNam="CalCollection");
+
+    G4TrajectoryContainer * trajectoryContainer = evt-&gt;get_trajectoryContainer();
+    G4int n_trajectories = 0;
+    if(trajectoryContainer)
+    { n_trajectories = trajectoryContainer-&gt;entries(); }
+
+    G4HCofThisEvent * HCE = evt-&gt;get_HCofThisEvent();
+    G4int n_hitCollection = 0;
+    if(HCE)
+    { n_hitCollection = HCE-&gt;get_capacity(); }
+ 
+    G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+
+    if(pVVisManager)
+    {
+ 
+      // Declare begininng of visualization
+      G4UImanager::GetUIpointer()-&gt;ApplyCommand("/vis/scene/notifyHandlers");
+
+      // Draw trajectories
+      for(G4int i=0; i &lt; n_trajectories; i++)
+      { 
+          (*(evt-&gt;get_trajectoryContainer()))[i]-&gt;DrawTrajectory(); 
+      }
+
+      // Construct 3D data for hits
+      MyTrackerHitsCollection* THC 
+        = (MyTrackerHitsCollection*)(HCE-&gt;get_HC(trackerCollID));
+      if(THC) THC-&gt;DrawAllHits();
+      MyCalorimeterHitsCollection* CHC
+        = (MyCalorimeterHitsCollection*)(HCE-&gt;get_HC(calorimeterCollID));
+      if(CHC) CHC-&gt;DrawAllHits();
+
+      // Declare end of visualization
+      G4UImanager::GetUIpointer()-&gt;ApplyCommand("/vis/viewer/update");
+    
+    } 
+
+  }
+
+  //----- end of C++ codes
+ 
+</pre></div><p>
+</p><p>
+You can re-visualize a physical volume, where a hit is detected,
+with a highlight color, in addition to the whole set of detector
+components. It is done by calling a drawing method of a physical
+volume directly. The method is:
+
+</p><div class="informalexample"><pre class="programlisting">
+
+  //----- Drawing methods of a physical volume
+  virtual void Draw (const G4VPhysicalVolume&amp;, ...) ;
+ 
+</pre></div><p>
+</p><p>
+This method is, for example, called in a method
+<code class="literal">MyXXXHit::Draw()</code>, describing the visualization of hits
+with markers. The following is an example for this:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- C++ source codes: An example of visualizing hits with 
+  void MyCalorimeterHit::Draw()
+  {
+    G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+    if(pVVisManager)
+    {
+      G4Transform3D trans(rot,pos);
+      G4VisAttributes attribs;
+      G4LogicalVolume* logVol = pPhys-&gt;GetLogicalVolume();
+      const G4VisAttributes* pVA = logVol-&gt;GetVisAttributes();
+      if(pVA) attribs = *pVA;
+      G4Colour colour(1.,0.,0.);
+      attribs.SetColour(colour);
+      attribs.SetForceSolid(true);
+
+      //----- Re-visualization of a selected physical volume with red color
+      pVVisManager-&gt;Draw(*pPhys,attribs,trans);
+
+    }
+  }
+
+  //----- end of C++ codes
+ 
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.AttHits"></a>8.5.7. 
+HepRep Attributes for Hits
+</h3></div></div></div><p>
+The HepRep file formats, HepRepFile and HepRepXML, attach various
+attributes to hits such that you can view these attributes, label
+trajectories by these attributes or make visibility cuts based on
+these attributes. Examples of adding HepRep attributes to hit
+classes can be found in examples /extended/analysis/A01 and
+/extended/runAndEvent/RE01.
+</p><p>
+For example, in example RE01's class RE01CalorimeterHit.cc,
+available attributes will be:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Hit Type
+  </p></li><li><p>
+    Track ID
+  </p></li><li><p>
+    Z Cell ID
+  </p></li><li><p>
+    Phi Cell ID
+  </p></li><li><p>
+    Energy Deposited
+  </p></li><li><p>
+    Energy Deposited by Track
+  </p></li><li><p>
+    Position
+  </p></li><li><p>
+    Logical Volume
+  </p></li></ul></div><p>
+</p><p>
+You can add additional attributes of your choosing by modifying the
+relevant part of the hit class (look for the methods GetAttDefs and
+CreateAttValues).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.txt"></a>8.5.8. 
+Visualization of text
+</h3></div></div></div><p>
+In Geant4 Visualization, a text, i.e., a character string, is
+described by class <span class="emphasis"><em>G4Text</em></span> inheriting 
+<span class="emphasis"><em>G4VMarker</em></span> as well as <span class="emphasis"><em>G4Square</em></span> 
+and <span class="emphasis"><em>G4Circle</em></span>. Therefore, the way to
+visualize text is the same as for hits. The corresponding drawing
+method of <span class="emphasis"><em>G4VVisManager</em></span> is:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- Drawing methods of G4Text
+  virtual void G4VVisManager::Draw (const G4Text&amp;, ...);
+ 
+</pre></div><p>
+</p><p>
+The real implementation of this method is described in class
+<span class="emphasis"><em>G4VisManager</em></span>.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.PlyTrkStp"></a>8.5.9. 
+Visualization of polylines and tracking steps
+</h3></div></div></div><p>
+Polylines, i.e., sets of successive line segments, are described by
+class <span class="emphasis"><em>G4Polyline</em></span>. For <span class="emphasis"><em>G4Polyline</em></span>, 
+the following drawing method of class <span class="emphasis"><em>G4VVisManager</em></span> 
+is prepared:
+
+</p><div class="informalexample"><pre class="programlisting">
+   //----- A drawing method of G4Polyline
+    virtual void G4VVisManager::Draw (const G4Polyline&amp;, ...) ;
+ 
+</pre></div><p>
+</p><p>
+The real implementation of this method is described in class
+<span class="emphasis"><em>G4VisManager</em></span>.
+</p><p>
+Using this method, C++ source codes to visualize
+<span class="emphasis"><em>G4Polyline</em></span> are described as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+ //----- C++ source code: How to visualize a polyline
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+ 
+  if (pVVisManager) {
+      G4Polyline polyline ;
+   
+      ..... (C++ source codes to set vertex positions, color, etc)
+  
+      pVVisManager -&gt; Draw(polyline); 
+   
+  }
+  
+  //----- end of C++ source codes
+ 
+</pre></div><p>
+</p><p>
+Tracking steps are able to be visualized based on the above
+visualization of <span class="emphasis"><em>G4Polyline</em></span>. You can visualize tracking
+steps at each step automatically by writing a proper implementation
+of class <span class="emphasis"><em>MySteppingAction</em></span> inheriting
+<span class="emphasis"><em>G4UserSteppingAction</em></span>, and also with the help of the Run
+Manager.
+</p><p>
+First, you must implement a method,
+<code class="literal">MySteppingAction::UserSteppingAction()</code>. A typical
+implementation of this method is as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+  //----- C++ source code: An example of visualizing tracking steps
+  void MySteppingAction::UserSteppingAction()
+  {
+      G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+
+      if (pVVisManager) {
+
+        //----- Get the Stepping Manager
+        const G4SteppingManager* pSM = GetSteppingManager();
+
+        //----- Define a line segment 
+        G4Polyline polyline;
+        G4double charge = pSM-&gt;GetTrack()-&gt;GetDefinition()-&gt;GetPDGCharge();
+        G4Colour colour;
+        if      (charge &lt; 0.) colour = G4Colour(1., 0., 0.);
+        else if (charge &lt; 0.) colour = G4Colour(0., 0., 1.);
+        else                  colour = G4Colour(0., 1., 0.);
+        G4VisAttributes attribs(colour);
+        polyline.SetVisAttributes(attribs);
+        polyline.push_back(pSM-&gt;GetStep()-&gt;GetPreStepPoint()-&gt;GetPosition());
+        polyline.push_back(pSM-&gt;GetStep()-&gt;GetPostStepPoint()-&gt;GetPosition());
+
+        //----- Call a drawing method for G4Polyline 
+        pVVisManager -&gt; Draw(polyline); 
+      
+      } 
+  }
+
+  //----- end of C++ source code
+ 
+</pre></div><p>
+</p><p>
+Next, in order that the above C++ source code works, you have to
+pass the information of the <span class="emphasis"><em>MySteppingAction</em></span> to the Run
+Manager in the <code class="literal">main()</code> function:
+
+</p><div class="informalexample"><pre class="programlisting">
+  
+  //----- C++ source code: Passing what to do at each step to the Run Manager
+
+  int main()
+  {
+     ...
+  
+     // Run Manager
+     G4RunManager * runManager = new G4RunManager;
+
+     // User initialization classes
+     ...
+     runManager-&gt;SetUserAction(new MySteppingAction);
+     ...
+  }
+
+  //----- end of C++ source code
+ 
+</pre></div><p>
+</p><p>
+Thus you can visualize tracking steps with various visualization
+attributes, e.g., color, at each step, automatically.
+</p><p>
+As well as tracking steps, you can visualize any kind 3D object
+made of line segments, using class <span class="emphasis"><em>G4Polyline</em></span> and its
+drawing method, defined in class <span class="emphasis"><em>G4VVisManager</em></span>. See, for
+example, the implementation of the <code class="literal">/vis/scene/add/axes</code>
+command.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.UsrAct"></a>8.5.10. 
+Visualization User Action
+</h3></div></div></div><p>
+You can implement the <code class="literal">Draw</code> method of
+<code class="literal">G4VUserVisAction</code>, e.g., the class definition could be:
+
+</p><div class="informalexample"><pre class="programlisting">
+class StandaloneVisAction: public G4VUserVisAction {
+  void Draw();
+};
+</pre></div><p>
+
+and the implementation:
+
+</p><div class="informalexample"><pre class="programlisting">
+void StandaloneVisAction::Draw() {
+  G4VVisManager* pVisManager = G4VVisManager::GetConcreteInstance();
+  if (pVisManager) {
+
+    // Simple box...
+    pVisManager-&gt;Draw(G4Box("box",2*m,2*m,2*m),
+                      G4VisAttributes(G4Colour(1,1,0)));
+
+    // Boolean solid...
+    G4Box boxA("boxA",3*m,3*m,3*m);
+    G4Box boxB("boxB",1*m,1*m,1*m);
+    G4SubtractionSolid subtracted("subtracted_boxes",&amp;boxA,&amp;boxB,
+                       G4Translate3D(3*m,3*m,3*m));
+    pVisManager-&gt;Draw(subtracted,
+                      G4VisAttributes(G4Colour(0,1,1)),
+                      G4Translate3D(6*m,6*m,6*m));
+  }
+}
+</pre></div><p>
+</p><p>
+Explicit use of polyhedron objects is equivalent, e.g.:
+
+</p><div class="informalexample"><pre class="programlisting">
+
+    // Same, but explicit polyhedron...
+    G4Polyhedron* pA = G4Box("boxA",3*m,3*m,3*m).CreatePolyhedron();
+    G4Polyhedron* pB = G4Box("boxB",1*m,1*m,1*m).CreatePolyhedron();
+    pB-&gt;Transform(G4Translate3D(3*m,3*m,3*m));
+    G4Polyhedron* pSubtracted = new G4Polyhedron(pA-&gt;subtract(*pB));
+    G4VisAttributes subVisAtts(G4Colour(0,1,1));
+    pSubtracted-&gt;SetVisAttributes(&amp;subVisAtts);
+    pVisManager-&gt;Draw(*pSubtracted,G4Translate3D(6*m,6*m,6*m));
+    delete pA;
+    delete pB;
+    delete pSubtracted;
+</pre></div><p>
+</p><p>
+If efficiency is an issue, create the objects in the constructor,
+delete them in the destructor and draw them in your <code class="literal">Draw</code>
+method. Anyway, an instance of your class needs to be registered
+with the vis manager, e.g.:
+
+</p><div class="informalexample"><pre class="programlisting">
+  ...
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialize ();
+
+  visManager-&gt;SetUserAction
+    (new StandaloneVisAction,
+     G4VisExtent(-5*m,5*m,-5*m,5*m,-5*m,5*m));  // 2nd argument optional.
+  ...
+</pre></div><p>
+
+then activate by adding to a scene, e.g:
+
+</p><div class="informalexample"><pre class="programlisting">
+/control/verbose 2
+/vis/verbose c
+/vis/open OGLSXm
+/vis/scene/create
+#/vis/scene/add/userAction
+/vis/scene/add/userAction -10 10 -10 10 -10 10 m
+#/vis/scene/add/axes 0 0 0 10 m
+#/vis/scene/add/scale 10 m
+/vis/sceneHandler/attach
+/vis/viewer/refresh
+</pre></div><p>
+</p><p>
+The extent can be added on registration or on the command line or
+neither (if the extent of the scene is set by other components).
+Your <code class="literal">Draw</code> method will be called whenever needed to refresh
+the screen or rebuild a graphics database, for any chosen viewer.
+The scene can be attached to any scene handler and your drawing
+will be shown.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisCntCmpl.StdAln"></a>8.5.11. 
+Standalone Visualization
+</h3></div></div></div><p>
+The above raises the possibility of using Geant4 as a "standalone"
+graphics package without invoking the run manager. The following
+main program, together with a user visualization action and a macro
+file, will allow you to view your drawing interactively on any of
+the supported graphics systems.
+
+</p><div class="informalexample"><pre class="programlisting">
+#include "globals.hh"
+#include "G4VisExecutive.hh"
+#include "G4VisExtent.hh"
+#include "G4UImanager.hh"
+#include "G4UIterminal.hh"
+#include "G4UItcsh.hh"
+
+#include "StandaloneVisAction.hh"
+
+int main() {
+
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialize ();
+
+  visManager-&gt;SetUserAction
+    (new StandaloneVisAction,
+     G4VisExtent(-5*m,5*m,-5*m,5*m,-5*m,5*m));  // 2nd argument optional.
+
+  G4UImanager* UI = G4UImanager::GetUIpointer ();
+  UI-&gt;ApplyCommand ("/control/execute standalone.g4m");
+
+  G4UIsession* session = new G4UIterminal(new G4UItcsh);
+  session-&gt;SessionStart();
+
+  delete session;
+  delete visManager;
+}
+</pre></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.4. 
+Controlling Visualization from Commands
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.6. 
+Visualization Attributes
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s06.html	(revision 901)
@@ -0,0 +1,462 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.6.  Visualization Attributes</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s05.html" title="8.5.  Controlling Visualization from Compiled Code"><link rel="next" href="ch08s07.html" title="8.7.  Enhanced Trajectory Drawing"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.6. 
+Visualization Attributes
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisAtt"></a>8.6. 
+Visualization Attributes
+</h2></div></div></div><p>
+Visualization attributes are extra pieces of information associated
+with the visualizable objects. This information is necessary only
+for visualization, and is not included in geometrical information
+such as shapes, position, and orientation. Typical examples of
+visualization attributes are Color, Visible/Invisible,
+Wireframe/Solid. For example, in visualizing a box, the
+Visualization Manager must know its colour. If an object to be
+visualized has not been assigned a set of visualization attributes,
+then an appropriate default set is used automatically.
+</p><p>
+A set of visualization attributes is held by an instance of
+class <span class="emphasis"><em>G4VisAttributes</em></span> defined in the 
+<code class="literal">graphics_reps</code> category. In the following, we 
+explain the main fields of the <span class="emphasis"><em>G4VisAttributes</em></span> 
+one by one.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAtt.Vsblty"></a>8.6.1. 
+Visibility
+</h3></div></div></div><p>
+Visibility is a boolean flag to control the visibility of objects
+that are passed to the Visualization Manager for visualization.
+Visibility is set with the following access function:
+
+</p><div class="informalexample"><pre class="programlisting">
+     void G4VisAttributes::SetVisibility (G4bool visibility);
+</pre></div><p>
+</p><p>
+If you give <code class="literal">false</code> to the argument, and if culling is
+activated (see below), visualization is skipped for objects for
+which this set of visualization attributes is assigned. The default
+value of visibility is <code class="literal">true</code>.
+</p><p>
+Note that whether an object is visible or not is also affected
+by the current culling policy, which can be tuned with
+visualization commands.
+</p><p>
+By default the following public static function is defined:
+
+</p><div class="informalexample"><pre class="programlisting">
+     static const G4VisAttributes&amp; GetInvisible();
+</pre></div><p>
+
+which returns a reference to a const object in which visibility is
+set to <code class="literal">false</code>. It can be used as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+     experimentalHall_logical -&gt; SetVisAttributes (G4VisAttributes::GetInvisible());
+</pre></div><p>
+</p><p>
+Direct access to the public static const data member
+<code class="literal">G4VisAttributes::Invisible</code> is also possible but deprecated
+on account of initialisation issues with dynamic libraries.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAtt.Colr"></a>8.6.2. 
+Colour
+</h3></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.VisAtt.Colr.Cnstr"></a>8.6.2.1. 
+Construction
+</h4></div></div></div><p>
+Class <span class="emphasis"><em>G4Colour</em></span> (an equivalent class name, 
+<span class="emphasis"><em>G4Color</em></span>, is also available) has 4 fields, 
+which represent the RGBA (red, green,
+blue, and alpha) components of colour. Each component takes a value
+between 0 and 1. If an irrelevant value, i.e., a value less than 0
+or greater than 1, is given as an argument of the constructor, such
+a value is automatically clipped to 0 or 1. Alpha is opacity, which
+is not used at present. You can use its default value <code class="literal">1</code>,
+which means "opaque" in instantiation of <span class="emphasis"><em>G4Colour</em></span>.
+</p><p>
+A <span class="emphasis"><em>G4Colour</em></span> object is instantiated by giving red, green,
+and blue components to its constructor, i.e.,
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4Colour::G4Colour ( G4double r = 1.0, 
+                          G4double g = 1.0, 
+                          G4double b = 1.0, 
+                          G4double a = 1.0);
+                                  // 0&lt;=red, green, blue &lt;= 1.0 
+</pre></div><p>
+</p><p>
+The default value of each component is 1.0. That is to say, the
+default colour is "white" (opaque).
+</p><p>
+For example, colours which are often used can be instantiated as
+follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4Colour  white   ()              ;  // <span class="color_white">white</span>
+     G4Colour  white   (1.0, 1.0, 1.0) ;  // <span class="color_white">white</span>
+     G4Colour  gray    (0.5, 0.5, 0.5) ;  // <span class="color_gray">gray</span>
+     G4Colour  black   (0.0, 0.0, 0.0) ;  // <span class="color_black">black</span>
+     G4Colour  red     (1.0, 0.0, 0.0) ;  // <span class="color_red">red</span>
+     G4Colour  green   (0.0, 1.0, 0.0) ;  // <span class="color_green">green</span>
+     G4Colour  blue    (0.0, 0.0, 1.0) ;  // <span class="color_blue">blue</span>
+     G4Colour  cyan    (0.0, 1.0, 1.0) ;  // <span class="color_cyan">cyan</span>
+     G4Colour  magenta (1.0, 0.0, 1.0) ;  // <span class="color_magenta">magenta</span>
+     G4Colour  yellow  (1.0, 1.0, 0.0) ;  // <span class="color_yellow">yellow</span>
+</pre></div><p>
+</p><p>
+It is also possible to instantiate common colours through static
+public data member functions:
+
+</p><div class="informalexample"><pre class="programlisting">
+     static const G4Colour&amp; White   ();  
+     static const G4Colour&amp; Gray    ();  
+     static const G4Colour&amp; Grey    (); 
+     static const G4Colour&amp; Black   (); 
+     static const G4Colour&amp; Red     (); 
+     static const G4Colour&amp; Green   (); 
+     static const G4Colour&amp; Blue    (); 
+     static const G4Colour&amp; Cyan    (); 
+     static const G4Colour&amp; Magenta (); 
+     static const G4Colour&amp; Yellow  (); 
+</pre></div><p>
+</p><p>
+For example, a local <span class="emphasis"><em>G4Colour</em></span> could be constructed
+as:
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4Colour myRed(G4Colour::Red());
+</pre></div><p>
+</p><p>
+After instantiation of a <span class="emphasis"><em>G4Colour</em></span> object, you can access
+to its components with the following access functions:
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4double G4Colour::GetRed   () const ; // Get the red   component. 
+     G4double G4Colour::GetGreen () const ; // Get the green component.
+     G4double G4Colour::GetBlue  () const ; // Get the blue  component.
+</pre></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.VisAtt.Colr.ColrMap"></a>8.6.2.2. 
+Colour Map
+</h4></div></div></div><p>
+<span class="emphasis"><em>G4Colour</em></span> also provides a static colour map, giving access to
+predefined <span class="emphasis"><em>G4Colour</em></span>'s through a
+<span class="emphasis"><em>G4String</em></span> 
+key. The default mapping is:
+</p><p>
+
+</p><div class="informalexample"><pre class="programlisting">
+     G4String           G4Colour
+     ---------------------------------------
+     white              G4Colour::White   ()
+     gray               G4Colour::Gray    ()
+     grey               G4Colour::Grey    ()
+     black              G4Colour::Black   ()
+     red                G4Colour::Red     ()
+     green              G4Colour::Green   ()
+     blue               G4Colour::Blue    ()
+     cyan               G4Colour::Cyan    ()
+     magenta            G4Colour::Magenta ()
+     yellow             G4Colour::Yellow  ()
+</pre></div><p>
+</p><p>
+Colours can be retrieved through the GetColour method:
+
+</p><div class="informalexample"><pre class="programlisting">
+     bool G4Colour::GetColour(const G4String&amp; key, G4Colour&amp; result)
+</pre></div><p>
+</p><p>
+For example:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4Colour myColour(G4Colour::Black());
+    if (G4Colour::GetColour("red", myColour)) {
+      // Successfully retrieved colour "red". myColour is now red
+    }
+    else {
+      // Colour did not exist in map. myColour is still black
+    }
+</pre></div><p>
+</p><p>
+If the key is not registered in the colour map, a warning
+message is printed and the input colour is not changed. The colour
+map is case insensitive.
+</p><p>
+It is also possible to load user defined <span class="emphasis"><em>G4Colour</em></span>'s into
+the map through the public AddToMap method. For example:
+
+</p><div class="informalexample"><pre class="programlisting">
+    G4Colour myColour(0.2, 0.2, 0.2, 1);
+    G4Colour::AddToMap("custom", myColour);
+</pre></div><p>
+</p><p>
+This loads a user defined <span class="emphasis"><em>G4Colour</em></span> with key "custom" into
+the colour map.
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.VisAtt.Colr.G4VisAtt"></a>8.6.2.3. 
+Colour and G4VisAttributes
+</h4></div></div></div><p>
+Class <span class="emphasis"><em>G4VisAttributes</em></span> holds its colour entry as an object of
+class <span class="emphasis"><em>G4Colour</em></span>. A <span class="emphasis"><em>G4Colour</em></span> object is 
+passed to a <span class="emphasis"><em>G4VisAttributes</em></span> object with the following
+access 
+functions:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Set functions of G4VisAttributes.
+     void G4VisAttributes::SetColour (const G4Colour&amp; colour);
+     void G4VisAttributes::SetColor (const G4Color&amp; color );
+</pre></div><p>
+</p><p>
+We can also set RGBA components directly:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Set functions of G4VisAttributes
+     void G4VisAttributes::SetColour ( G4double red   , 
+                                       G4double green , 
+                                       G4double blue  , 
+                                       G4double alpha = 1.0);
+  
+     void G4VisAttributes::SetColor  ( G4double red   , 
+                                       G4double green , 
+                                       G4double blue  , 
+                                       G4double alpha = 1.);
+</pre></div><p>
+</p><p>
+The following constructor with <span class="emphasis"><em>G4Colour</em></span> as its argument is
+also supported:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Constructor of G4VisAttributes
+     G4VisAttributes::G4VisAttributes (const G4Colour&amp; colour);
+</pre></div><p>
+</p><p>
+Note that colour assigned to a <span class="emphasis"><em>G4VisAttributes</em></span> object is
+not always the colour that ultimately appears in the visualization.
+The ultimate appearance may be affected by shading and lighting
+models applied in the selected visualization driver or stand-alone
+graphics system.
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAtt.FrcAtt"></a>8.6.3. 
+Forcing attributes
+</h3></div></div></div><p>
+As you will see later, you can select a "drawing style" from
+various options. For example, you can select your detector
+components to be visualized in "wireframe" or with "surfaces". In
+the former, only the edges of your detector are drawn and so the
+detector looks transparent. In the latter, your detector looks
+opaque with shading effects.
+</p><p>
+The forced wireframe and forced solid styles make it possible to
+mix the wireframe and surface visualization (if your selected
+graphics system supports such visualization). For example, you can
+make only the outer wall of your detector "wired" (transparent) and
+can see inside in detail.
+</p><p>
+Forced wireframe style is set with the following access
+function:
+
+</p><div class="informalexample"><pre class="programlisting">
+     void G4VisAttributes::SetForceWireframe (G4bool force);
+</pre></div><p>
+</p><p>
+If you give <code class="literal">true</code> as the argument, objects for which this
+set of visualization attributes is assigned are always visualized
+in wireframe even if in general, the surface drawing style has been
+requested. The default value of the forced wireframe style is
+<code class="literal">false</code>.
+</p><p>
+Similarly, forced solid style, i.e., to force that objects are
+always visualized with surfaces, is set with:
+
+</p><div class="informalexample"><pre class="programlisting">
+     void G4VisAttributes::SetForceSolid (G4bool force);
+</pre></div><p>
+</p><p>
+The default value of the forced solid style is <code class="literal">false</code>, too.
+</p><p>
+You can also force auxiliary edges to be visible. Normally they
+are not visible unless you set the appropriate view parameter.
+Forcing the auxiliary edges to be visible means that auxiliary
+edges will be seen whatever the view parameters.
+</p><p>
+Auxiliary edges are not genuine edges of the volume. They may be
+in a curved surface made out of polygons, for example, or in plane
+surface of complicated shape that has to be broken down into
+simpler polygons. HepPolyhedron breaks all surfaces into triangles
+or quadrilaterals. There will be auxiliary edges for any volumes
+with a curved surface, such as a tube or a sphere, or a volume
+resulting from a Boolean operation. Normally, they are not shown,
+but sometimes it is useful to see them. In particular, a sphere,
+because it has no egdes, will not be seen in wireframe mode in some
+graphics systems unless requested by the view parameters or forced,
+as described here.
+</p><p>
+To force auxiliary edges to be visible, use:
+
+</p><div class="informalexample"><pre class="programlisting">
+     void G4VisAttributes::SetForceAuxEdgeVisible (G4bool force);
+</pre></div><p>
+</p><p>
+The default value of the force auxiliary edges visible flag is
+<code class="literal">false</code>.
+</p><p>
+For volumes with edges that are parts of a circle, such as a
+tube (G4Tubs), etc., it is possible to force the precision of
+polyhedral representation for visualisation. This is recommended
+for volumes containing only a small angle of circle, for example, a
+thin tube segment.
+</p><p>
+For visualisation, a circle is represented by an N-sided
+polygon. The default is 24 sides or segments. The user may change
+this for all volumes in a particular viewer at run time with
+/vis/viewer/set/lineSegmentsPerCircle; alternatively it can be
+forced for a particular volume with:
+
+</p><div class="informalexample"><pre class="programlisting">
+     void G4VisAttributes::SetForceLineSegmentsPerCircle (G4int nSegments);
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAtt.CnstAtt"></a>8.6.4. 
+Constructors of G4VisAttributes
+</h3></div></div></div><p>
+The following constructors are supported for class
+<span class="emphasis"><em>G4VisAttributes</em></span>:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Constructors of class G4VisAttributes
+     G4VisAttributes (void);
+     G4VisAttributes (G4bool visibility);
+     G4VisAttributes (const G4Colour&amp; colour);
+     G4VisAttributes (G4bool visibility, const G4Colour&amp; colour);
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAtt.AssgLgVol"></a>8.6.5. 
+How to assign G4VisAttributes to a logical volume
+</h3></div></div></div><p>
+In constructing your detector components, you may assign a set of
+visualization attributes to each "logical volume" in order to
+visualize them later (if you do not do this, the graphics system
+will use a default set). You cannot make a solid such as
+<span class="emphasis"><em>G4Box</em></span> hold a set of visualization attributes; this is
+because a solid should hold only geometrical information. At
+present, you cannot make a physical volume hold one, but there are
+plans to design a memory-efficient way to do it; however, you can
+visualize a transient piece of solid or physical volume with a
+temporary assigned set of visualization attributes.
+</p><p>
+Class <span class="emphasis"><em>G4LogicalVolume</em></span> holds a pointer of
+<span class="emphasis"><em>G4VisAttributes.</em></span> This field is set and referenced with the
+following access functions:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Set functions of G4VisAttributes
+     void G4VisAttributes::SetVisAttributes (const G4VisAttributes* pVA);
+     void G4VisAttributes::SetVisAttributes (const G4VisAttributes&amp; VA);
+
+     //----- Get functions of G4VisAttributes
+     const G4VisAttributes* G4VisAttributes::GetVisAttributes () const;
+</pre></div><p>
+</p><p>
+The following is sample C++ source codes for assigning a set of
+visualization attributes with cyan colour and forced wireframe
+style to a logical volume:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- C++ source codes: Assigning G4VisAttributes to a logical volume
+     ...
+          // Instantiation of a logical volume
+     myTargetLog = new G4LogicalVolume( myTargetTube,BGO, "TLog", 0, 0, 0);
+     ...
+          // Instantiation of a set of visualization attributes with cyan colour
+     G4VisAttributes * calTubeVisAtt = new G4VisAttributes(G4Colour(0.,1.,1.));
+          // Set the forced wireframe style 
+     calTubeVisAtt-&gt;SetForceWireframe(true);
+          // Assignment of the visualization attributes to the logical volume
+     myTargetLog-&gt;SetVisAttributes(calTubeVisAtt);
+
+     //----- end of C++ source codes
+</pre></div><p>
+</p><p>
+Note that the life of the visualization attributes must be at
+least as long as the objects to which they are assigned; it is the
+users' responsibility to ensure this, and to delete the
+visualization attributes when they are no longer needed (or just
+leave them to die at the end of the job).
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisAtt.AddUdefAtt"></a>8.6.6. 
+Additional User-Defined Attributes
+</h3></div></div></div><p>
+Geant4 Trajectories and Hits can be assigned additional arbitrary
+attributes that will be displayed when you click on the relevant
+object in the WIRED or FRED HepRep browsers. WIRED then lets you
+label objects by any of these attributes or cut visibility based on
+these attributes.
+</p><p>
+Define the attributes with lines such as:
+
+</p><div class="informalexample"><pre class="programlisting">
+     std::map&lt;G4String,G4AttDef&gt;* store = G4AttDefStore::GetInstance("G4Trajectory",isNew);     
+     G4String PN("PN");    
+     (*store)[PN] = G4AttDef(PN,"Particle Name","Physics","","G4String");     
+     G4String IMom("IMom");     
+     (*store)[IMom] = G4AttDef(IMom, "Momentum of track at start of trajectory", "Physics", "",
+                                     "G4ThreeVector");
+</pre></div><p>
+</p><p>
+Then fill the attributes with lines such as:
+
+</p><div class="informalexample"><pre class="programlisting">
+     std::vector&lt;G4AttValue&gt;* values = new std::vector&lt;G4AttValue&gt;;
+     values-&gt;push_back(G4AttValue("PN",ParticleName,""));
+     s.seekp(std::ios::beg);
+     s &lt;&lt; G4BestUnit(initialMomentum,"Energy") &lt;&lt; std::ends;
+     values-&gt;push_back(G4AttValue("IMom",c,""));
+</pre></div><p>
+</p><p>
+See geant4/source/tracking/src/G4Trajectory.cc for a good example.
+</p><p>
+<span class="emphasis"><em>G4AttValue</em></span> objects are light, containing just the value;
+for the long description and other sharable information the
+<span class="emphasis"><em>G4AttValue</em></span> object refers to a <span class="emphasis"><em>G4AttDef</em></span> 
+object. They are based on the HepRep standard described at 
+<a href="http://www.slac.stanford.edu/~perl/heprep/" target="_top">
+http://www.slac.stanford.edu/~perl/heprep/
+</a>.
+Geant4 also provides an <span class="emphasis"><em>G4AttDefStore</em></span>.
+</p><p>
+Geant4 provides some default examples of the use of this
+facility in the trajectory classes in /source/tracking such as
+<span class="emphasis"><em>G4Trajectory</em></span>, <span class="emphasis"><em>G4SmoothTrajectory</em></span>.
+<span class="emphasis"><em>G4Trajectory::CreateAttValues</em></span> shows how 
+<span class="emphasis"><em>G4AttValue</em></span> objects can be made and 
+<span class="emphasis"><em>G4Trajectory::GetAttDefs</em></span> shows how
+to make the corresponding <span class="emphasis"><em>G4AttDef</em></span> objects and use the
+<span class="emphasis"><em>G4AttDefStore</em></span>. Note that the "user" of CreateAttValues
+guarantees to destroy them; this is a way of allowing creation on
+demand and leaving the <span class="emphasis"><em>G4Trajectory</em></span> object, for example,
+free of such objects in memory. The comments in
+<span class="emphasis"><em>G4VTrajectory.hh</em></span> explain further and additional insights
+might be obtained by looking at two methods which use them, namely
+<span class="emphasis"><em>G4VTrajectory::DrawTrajectory</em></span> and
+<span class="emphasis"><em>G4VTrajectory::ShowTrajectory</em></span>.
+</p><p>
+Hits classes in examples /extended/analysis/A01 and
+/extended/runAndEvent/RE01 show how to do the same for your hits.
+The base class no-action methods CreateAttValues and GetAttDefs
+should be overridden in your concrete class. The comments in
+<span class="emphasis"><em>G4VHit.hh</em></span> explain further.
+</p><p>
+In addition, the user is free to add a
+<span class="emphasis"><em>G4std::vector&lt;G4AttValue&gt;*</em></span> and a
+<span class="emphasis"><em>G4std::vector&lt;G4AttDef&gt;*</em></span> to a 
+<span class="emphasis"><em>G4VisAttributes</em></span> object as could, for example, 
+be used by a <span class="emphasis"><em>G4LogicalVolume</em></span> object.
+</p><p>
+At the time of writing, only the HepRep graphics systems are
+capable of displaying the G4AttValue information, but this
+information will become useful for all Geant4 visualization systems
+through improvements in release 8.1 or later.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.5. 
+Controlling Visualization from Compiled Code
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.7. 
+Enhanced Trajectory Drawing
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s07.html	(revision 901)
@@ -0,0 +1,440 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.7.  Enhanced Trajectory Drawing</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s06.html" title="8.6.  Visualization Attributes"><link rel="next" href="ch08s08.html" title="8.8.  Trajectory Filtering"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.7. 
+Enhanced Trajectory Drawing
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisEnhTrj"></a>8.7. 
+Enhanced Trajectory Drawing
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisEnhTrj.DflCnfg"></a>8.7.1. 
+Default Configuration
+</h3></div></div></div><p>
+Trajectory drawing styles are specified through trajectory drawing
+models. Each drawing model has a default configuration provided
+through a G4VisTrajContext object. The default context settings are
+shown below.
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+        <span class="bold"><strong>Property</strong></span>
+      </td><td>
+        <span class="bold"><strong>Default Setting</strong></span>
+      </td></tr><tr><td>
+        Line colour
+      </td><td>
+        grey
+      </td></tr><tr><td>
+        Line visibility
+      </td><td>
+        true
+      </td></tr><tr><td>
+        Draw line
+      </td><td>
+        true
+      </td></tr><tr><td>
+        Draw auxiliary points
+      </td><td>
+        false
+      </td></tr><tr><td>
+        Auxiliary point type
+      </td><td>
+        squares
+      </td></tr><tr><td>
+        Auxiliary point size
+      </td><td>
+        0
+      </td></tr><tr><td>
+        Auxiliary point fill style
+      </td><td>
+        filled
+      </td></tr><tr><td>
+        Auxiliary point colour
+      </td><td>
+        magenta
+      </td></tr><tr><td>
+        Auxiliary point visibility
+      </td><td>
+        true
+      </td></tr><tr><td>
+        Draw step point
+      </td><td>
+        false
+      </td></tr><tr><td>
+        Step point type
+      </td><td>
+        circles
+      </td></tr><tr><td>
+        Step point size
+      </td><td>
+        0
+      </td></tr><tr><td>
+        Step point fill style
+      </td><td>
+        filled
+      </td></tr><tr><td>
+        Step point colour
+      </td><td>
+        yellow
+      </td></tr><tr><td>
+        Step point visibility
+      </td><td>
+        true
+      </td></tr><tr><td>
+        Time slice interval
+      </td><td>
+        0
+      </td></tr></tbody></table></div><p>
+</p><p>
+Points to note:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    The context approach is intended to replace the configuration
+    through the imode parameter. The use of imode is depreciated and
+    will be removed in Geant4 v9.0.
+  </p></li><li><p>
+    Different visualisation drivers handle trajectory configuration
+    in different ways, so trajectories may not necessarily get
+    displayed as you have configured them.
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisEnhTrj.DrdMdl"></a>8.7.2. 
+Trajectory Drawing Models
+</h3></div></div></div><p>
+A trajectory drawing model can override the default context
+according to the properties of a given trajectory. The following
+models are supplied with the Geant4 distribution:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    G4TrajectoryGenericDrawer (generic)
+  </p></li><li><p>
+    G4TrajectoryDrawByCharge (drawByCharge)
+  </p></li><li><p>
+    G4TrajectoryDrawByParticleID (drawByParticleID)
+  </p></li><li><p>
+    G4TrajectoryDrawByOriginVolume (drawByOriginVolume)
+  </p></li><li><p>
+    G4TrajectoryDrawByAttribute (drawByAttribute)
+  </p></li></ul></div><p>
+</p><p>
+Both the context and model properties can be configured by the
+user. The models are described briefly below, followed by some
+example configuration commands.
+</p><h5><a name="id517690"></a>
+G4TrajectoryGenericDrawer
+</h5><p>
+This model simply draws all trajectories in the same style, with
+the properties provided by the context.
+</p><h5><a name="id517703"></a>
+G4TrajectoryDrawByCharge
+</h5><p>
+This is the default model - if no model is specified by the user,
+this model will be constructed automatically. The trajectory lines
+are coloured according to charge, with all other configuration
+parameters provided by the default context. The default colouring
+scheme is shown below.
+
+</p><div class="informalexample"><pre class="programlisting">
+        Charge          Colour  
+        ----------------------
+        1               Blue
+        -1              Red
+        0               Green
+</pre></div><p>
+</p><h5><a name="id517728"></a>
+G4TrajectoryDrawByParticleID
+</h5><p>
+This model colours trajectory lines according to particle type. All
+other configuration parameters are provided by the default context.
+By default, all trajectories are coloured grey. Chosen particle
+types can be highlighted with specified colours.
+</p><h5><a name="id517742"></a>
+G4TrajectoryDrawByOriginVolume
+</h5><p>
+This model colours trajectory lines according to the trajectories
+originating volume name. The volume can be either a logical or
+physical volume. Physical volume takes precedence over logical
+volume. All trajectories are coloured grey by default.
+</p><h5><a name="id517756"></a>
+G4TrajectoryDrawByAttribute
+</h5><p>
+This model draws trajectories based on the HepRep style attributes 
+associated with trajectories. Each attribute drawer can be configured 
+with interval and/or single value data. A new context object is 
+created for each interval/single value. This makes it possible to 
+have different step point markers etc, as well as line colour for 
+trajectory attributes falling into different intervals, or matching 
+single values. The single value data should override the interval data, 
+allowing specific values to be highlighted. Units should be specified 
+on the command line if the attribute unit is specified either as a 
+G4BestUnit or if the unit is part of the value string.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisEnhTrj.CntlComm"></a>8.7.3. 
+Controlling from Commands
+</h3></div></div></div><p>
+Multiple trajectory models can be created and configured using
+commands in the "<code class="literal">/vis/modeling/trajectories/</code>" directory.
+It is then possible to list available models and select one to be
+current.
+</p><p>
+Model configuration commands are generated dynamically when a
+model is instantiated. These commands apply directly to that
+instance. This makes it possible to have multiple instances of the
+drawByCharge model for example, each independently configurable
+through it's own set of commands.
+</p><p>
+See the interactive help for more information on the available
+commands.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.VisEnhTrj.CntlComm.ExpComm"></a>8.7.3.1. 
+Example commands
+</h4></div></div></div><p>
+#Create a generic model named generic-0 by default
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/create/generic
+</pre></div><p>
+</p><p>
+#Configure context to colour all trajectories red
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/generic-0/default/setLineColour red
+</pre></div><p>
+</p><p>
+#Create a drawByCharge model named drawCharge-0 by default
+(Subsequent models will be named drawByCharge-1, drawByCharge-2,
+etc.)
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/create/drawByCharge
+</pre></div><p>
+</p><p>
+#Create a drawByCharge model named testChargeModel
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/create/drawByCharge testChargeModel
+</pre></div><p>
+</p><p>
+#Configure drawByCharge-0 model
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByCharge-0/set 1 red
+/vis/modeling/trajectories/drawByCharge-0/set -1 red
+/vis/modeling/trajectories/drawByCharge-0/set 0 white
+</pre></div><p>
+</p><p>
+#Configure testCharge model through G4Colour components
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/testChargeModel/setRGBA 1 0 1 1 1
+/vis/modeling/trajectories/testChargeModel/setRGBA -1 0.5 0.5 0.5 1
+/vis/modeling/trajectories/testChargeModel/setRGBA 0 1 1 0 1
+</pre></div><p>
+</p><p>
+#Create a drawByParticleID model named drawByParticleID-0
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/create/drawByParticleID
+</pre></div><p>
+</p><p>
+#Configure drawByParticleID-0 model
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByParticleID-0/set gamma red
+/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 1 0 1 1
+</pre></div><p>
+</p><p>
+#List available models
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/list
+</pre></div><p>
+</p><p>
+#select drawByParticleID-0 to be current
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/select drawByParticleID-0
+</pre></div><p>
+</p><p>
+#Create a drawByAttribute model named drawByAttribute-0
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/create/drawByAttribute
+</pre></div><p>
+</p><p>
+#Configure drawByAttribute-0 model
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByAttribute-0/verbose true
+</pre></div><p>
+</p><p>
+#Select attribute "CPN"
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByAttribute-0/setAttribute CPN
+</pre></div><p>
+</p><p>
+#Configure single value data
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByAttribute-0/addValue brem_key  eBrem
+/vis/modeling/trajectories/drawByAttribute-0/addValue annihil_key annihil
+/vis/modeling/trajectories/drawByAttribute-0/addValue decay_key Decay
+/vis/modeling/trajectories/drawByAttribute-0/addValue muIon_key muIoni
+/vis/modeling/trajectories/drawByAttribute-0/addValue eIon_key  eIoni
+
+/vis/modeling/trajectories/drawByAttribute-0/brem_key/setLineColour     red
+/vis/modeling/trajectories/drawByAttribute-0/annihil_key/setLineColour  green
+/vis/modeling/trajectories/drawByAttribute-0/decay_key/setLineColour    cyan
+/vis/modeling/trajectories/drawByAttribute-0/eIon_key/setLineColour     yellow
+/vis/modeling/trajectories/drawByAttribute-0/muIon_key/setLineColour magenta
+</pre></div><p>
+</p><p>
+#Create a drawByAttribute model named drawByAttribute-1
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/create/drawByAttribute
+</pre></div><p>
+</p><p>
+#Select "IMag" attribute
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByAttribute-1/setAttribute IMag
+</pre></div><p>
+</p><p>
+#Configure interval data
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/modeling/trajectories/drawByAttribute-1/addInterval interval1 0.0 keV 2.5MeV
+/vis/modeling/trajectories/drawByAttribute-1/addInterval interval2 2.5 MeV 5 MeV
+/vis/modeling/trajectories/drawByAttribute-1/addInterval interval3 5 MeV 7.5 MeV
+/vis/modeling/trajectories/drawByAttribute-1/addInterval interval4 7.5 MeV 10 MeV
+/vis/modeling/trajectories/drawByAttribute-1/addInterval interval5 10 MeV 12.5 MeV
+/vis/modeling/trajectories/drawByAttribute-1/addInterval interval6 12.5 MeV 10000 MeV
+
+/vis/modeling/trajectories/drawByAttribute-1/interval1/setLineColourRGBA 0.8 0 0.8 1
+/vis/modeling/trajectories/drawByAttribute-1/interval2/setLineColourRGBA 0.23 0.41 1 1
+/vis/modeling/trajectories/drawByAttribute-1/interval3/setLineColourRGBA 0 1 0 1
+/vis/modeling/trajectories/drawByAttribute-1/interval4/setLineColourRGBA 1 1 0 1
+/vis/modeling/trajectories/drawByAttribute-1/interval5/setLineColourRGBA 1 0.3 0 1
+/vis/modeling/trajectories/drawByAttribute-1/interval6/setLineColourRGBA 1 0 0 1
+</pre></div><p>
+</p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisEnhTrj.CntlCmpl"></a>8.7.4. 
+Controlling from Compiled Code
+</h3></div></div></div><p>
+It is possible to use the enhanced trajectory drawing functionality
+in compiled code as well as from commands. Multiple trajectory
+models can be instantiated, configured and registered with
+G4VisManager. Only one model may be current. For example:
+
+</p><div class="informalexample"><pre class="programlisting">
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager-&gt;Initialize();
+
+  G4TrajectoryDrawByParticleID* model = new G4TrajectoryDrawByParticleID;
+  G4TrajectoryDrawByParticleID* model2 = new G4TrajectoryDrawByParticleID("test");
+
+  model-&gt;SetDefault("cyan");
+  model-&gt;Set("gamma", "green");
+  model-&gt;Set("e+", "magenta");
+  model-&gt;Set("e-", G4Colour(0.3, 0.3, 0.3));
+
+  visManager-&gt;RegisterModel(model);
+  visManager-&gt;RegisterModel(model2);
+
+  visManager-&gt;SelectTrajectoryModel(model-&gt;Name());
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisEnhTrj.DrwByTime"></a>8.7.5. 
+Drawing by time
+</h3></div></div></div><p>
+To draw by time, you need to use a trajectory that records the
+track time at the beginning and end of each step. To do this, write
+a tracking action that sets G4RichTrajectory, for example:
+
+</p><div class="informalexample"><pre class="programlisting">
+#include "G4UserTrackingAction.hh"
+class G4Track;
+class MyTrackingAction : public G4UserTrackingAction
+{
+   public:
+   virtual void PreUserTrackingAction(const G4Track* aTrack);
+};
+#include "G4RichTrajectory.hh"
+#include "G4TrackingManager.hh"
+#include "G4IdentityTrajectoryFilter.hh"
+#include "G4TransportationManager.hh"
+#include "G4PropagatorInField.hh"
+void MyTrackingAction::PreUserTrackingAction(const G4Track* aTrack)
+{
+  // Require rich trajectory...
+  fpTrackingManager-&gt;SetTrajectory(new G4RichTrajectory(aTrack));
+
+  // Activate storing of auxiliary points for smoother trajectory...
+  static G4IdentityTrajectoryFilter curvedFilter;
+  G4TransportationManager::GetTransportationManager()-&gt;
+    GetPropagatorInField()-&gt;SetTrajectoryFilter(&amp;curvedFilter);
+}
+</pre></div><p>
+
+and register an instance of this with the run manager (this can be
+done once and for all as soon as the run manager is instantiated,
+probably in your main program):
+
+</p><div class="informalexample"><pre class="programlisting">
+#include "MyTrackingAction.hh"
+...
+  runManager -&gt; SetUserAction (new MyTrackingAction);
+</pre></div><p>
+</p><p>
+When you run, you need to create a trajectory model and set the
+time slice interval (remembering that paticles are often
+relativistic and travel 30 cm/ns):
+
+</p><div class="informalexample"><pre class="programlisting">
+/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.1 ns
+/vis/modeling/trajectories/list
+</pre></div><p>
+
+and use a graphics driver that can display by time:
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/open OGLSX
+/vis/drawVolume
+/vis/scene/add/trajectories
+/vis/ogl/set/startTime 0.5 ns
+/vis/ogl/set/endTime 0.8 ns
+/run/beamOn
+/vis/viewer/refresh
+</pre></div><p>
+</p><p>
+A good way to see the particles moving through the detector is:
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/ogl/set/fade 1
+/vis/ogl/set/displayHeadTime true
+/control/alias timeRange 1
+/control/loop movie.loop -{timeRange} 40 0.1
+</pre></div><p>
+
+where <code class="literal">fade</code> gives a vapour-trail effect,
+<code class="literal">displayHeadTime</code> displays the time of the leading edge as
+2D text, and <code class="literal">movie.loop</code> is a macro file:
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/ogl/set/startTime {startTime} ns {timeRange} ns
+</pre></div><p>
+</p><p>
+From there, it's straightforward to <a href="ch08s10.html" title="8.10. 
+Making a Movie
+">Section 8.10</a>
+make a movie.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s08.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.6. 
+Visualization Attributes
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.8. 
+Trajectory Filtering
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s08.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s08.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s08.html	(revision 901)
@@ -0,0 +1,183 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.8.  Trajectory Filtering</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s07.html" title="8.7.  Enhanced Trajectory Drawing"><link rel="next" href="ch08s09.html" title="8.9.  Polylines, Markers and Text"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.8. 
+Trajectory Filtering
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s09.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisFltr"></a>8.8. 
+Trajectory Filtering
+</h2></div></div></div><p>
+Trajectory filtering allows you to visualise a subset of available
+trajectories. This can be useful if you only want to view
+interesting trajectories and discard uninteresting ones. Trajectory
+filtering can be run in two modes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <span class="bold"><strong>Soft filtering</strong></span>: In this mode, 
+    uninteresting trajectories are marked invisible. Hence, they are 
+    still written, but (depending
+    on the driver) will not be displayed. Some drivers, for example the
+    HepRepFile driver, will allow you to selectively view these soft
+    filtered trajectories
+  </p></li><li><p>
+    <span class="bold"><strong>Hard filtering</strong></span>: In this mode, 
+    uninteresting trajectories are not drawn at all. 
+    This mode is especially useful if the job
+    produces huge graphics files, dominated by data from uninteresting
+    trajectories.
+  </p></li></ul></div><p>
+</p><p>
+Trajectory filter models are used to apply filtering according to
+specific criteria. The following models are currently supplied with
+the Geant4 distribution:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    G4TrajectoryChargeFilter (chargeFilter)
+  </p></li><li><p>
+    G4TrajectoryParticleFilter (particleFilter)
+  </p></li><li><p>
+    G4TrajectoryOriginVolumeFilter (originVolumeFilter)
+  </p></li><li><p>
+    G4TrajectoryAttributeFilter (attributeFilter)
+  </p></li></ul></div><p>
+</p><p>
+Multiple filters are automatically chained together, and can
+configured either interactively or in commands or in compiled code.
+The filters can be inverted, set to be inactive or set in a verbose
+mode. The above models are described briefly below, followed by
+some example configuration commands.
+</p><h5><a name="id519214"></a>
+G4TrajectoryChargeFilter
+</h5><p>
+This model filters trajectories according to charge. In standard
+running mode, only trajectories with charges matching those
+registered with the model will pass the filter.
+</p><h5><a name="id519227"></a>
+G4TrajectoryParticleFilter
+</h5><p>
+This model filters trajectories according to particle type. In
+standard running mode, only trajectories with particle types
+matching those registered with the model will pass the filter.
+</p><h5><a name="id519241"></a>
+G4TrajectoryOriginVolumeFilter
+</h5><p>
+This model filters trajectories according to originating volume
+name. In standard running mode, only trajectories with originating
+volumes matching those registered with the model will pass the
+filter.
+</p><h5><a name="id519255"></a>
+G4TrajectoryAttributeFilter
+</h5><p>
+This model filters trajectories based on the HepRep style attributes 
+associated with trajectories. Each attribute drawer can be 
+configured with interval and/or single value data. Single value data 
+should override the interval data.
+Units should be specified on the command line if the attribute unit 
+is specified either as a G4BestUnit or if the unit is part of the 
+value string.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisFltr.CntlComm"></a>8.8.1. 
+Controlling from Commands
+</h3></div></div></div><p>
+Multiple trajectory filter models can be created and configured
+using commands in the "<code class="literal">/vis/filtering/trajectories/</code>"
+directory. All generated filter models are chained together
+automatically.
+</p><p>
+Model configuration commands are generated dynamically when a
+filter model is instantiated. These commands apply directly to that
+instance.
+</p><p>
+See the interactive help for more information on the available
+commands.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisFltr.ExpComm"></a>8.8.2. 
+Example commands
+</h3></div></div></div><p>
+#Create a particle filter. Configure to pass only gammas. Then
+</p><p>
+#invert to pass anything other than gammas. Set verbose
+printout,
+</p><p>
+#and then deactivate filter
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/filtering/trajectories/create/particleFilter
+/vis/filtering/trajectories/particleFilter-0/add gamma
+/vis/filtering/trajectories/particleFilter-0/invert true
+/vis/filtering/trajectories/particleFilter-0/verbose true
+/vis/filtering/trajectories/particleFilter-0/active false
+</pre></div><p>
+</p><p>
+#Create a charge filter. Configure to pass only neutral
+trajectories.
+</p><p>
+#Set verbose printout. Reset filter and reconfigure to pass
+only
+</p><p>
+#negativly charged trajectories.
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/filtering/trajectories/create/chargeFilter
+/vis/filtering/trajectories/chargeFilter-0/add 0
+/vis/filtering/trajectories/chargeFilter-0/verbose true
+/vis/filtering/trajectories/chargeFilter-0/reset true
+/vis/filtering/trajectories/chargeFilter-0/add -1
+</pre></div><p>
+</p><p>
+#Create an attribute filter named attributeFilter-0
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/filtering/trajectories/create/attributeFilter
+</pre></div><p>
+</p><p>
+#Select attribute "IMag"
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/filtering/trajectories/attributeFilter-0/setAttribute IMag
+</pre></div><p>
+</p><p>
+#Select trajectories with 2.5 MeV &lt;= IMag&lt; 1000 MeV
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/filtering/trajectories/attributeFilter-0/addInterval 2.5 MeV 1000 MeV
+</pre></div><p>
+</p><p>
+#List filters
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/filtering/trajectories/list
+</pre></div><p>
+</p><p>
+#Note that although particleFilter-0 and chargeFilter-0 are
+automatically
+</p><p>
+#chained, particleFilter-0 will not have any effect since
+</p><p>
+#it is has been deactivated.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisFltr.HitFilt"></a>8.8.3. 
+Hit Filtering
+</h3></div></div></div><p>
+The attribute based filtering can be used on hits as well as trajectories. 
+To active the interactive attribute based hit filtering, a filter call 
+should be added to the "Draw" method of the hit class:
+
+</p><div class="informalexample"><pre class="programlisting">
+   void MyHit::Draw() 
+   {
+      ... 
+      if (! pVVisManager-&gt;FilterHit(*this)) return;
+      ...
+   }
+</pre></div><p>
+</p><p>
+Interactive filtering can then be done through the commands in 
+<code class="literal">/vis/filtering/hits</code>.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s07.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s09.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.7. 
+Enhanced Trajectory Drawing
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.9. 
+Polylines, Markers and Text
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s09.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s09.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s09.html	(revision 901)
@@ -0,0 +1,259 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.9.  Polylines, Markers and Text</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s08.html" title="8.8.  Trajectory Filtering"><link rel="next" href="ch08s10.html" title="8.10.  Making a Movie"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.9. 
+Polylines, Markers and Text
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch08s10.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.VisPlylMrkTxt"></a>8.9. 
+Polylines, Markers and Text
+</h2></div></div></div><p>
+ Polylines, markers and text are defined in the
+<code class="literal">graphics_reps</code> category, and are used only for
+visualization. Here we explain their definitions and usages.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisPlylMrkTxt.Plyl"></a>8.9.1. 
+Polylines
+</h3></div></div></div><p>
+A polyline is a set of successive line segments. It is defined with
+a class <span class="emphasis"><em>G4Polyline</em></span> defined in the 
+<code class="literal">graphics_reps</code> category. 
+A polyline is used to visualize tracking steps, particle
+trajectories, coordinate axes, and any other user-defined objects
+made of line segments.
+</p><p>
+<span class="emphasis"><em>G4Polyline</em></span> is defined as a list of 
+<span class="emphasis"><em>G4Point3D</em></span> objects, i.e., vertex positions. 
+The vertex positions are set to a <span class="emphasis"><em>G4Polyline</em></span> 
+object with the <code class="literal">push_back()</code> method.
+</p><p>
+For example, an x-axis with length 5 cm and with red color is
+defined in <a href="ch08s09.html#programlist_VisPlylMrkTxt_1" title="Example 8.5. 
+Defining an x-axis with length 5 cm and with colour red.
+">Example 8.5</a>.
+
+</p><div class="example"><a name="programlist_VisPlylMrkTxt_1"></a><p class="title"><b>Example 8.5. 
+Defining an x-axis with length 5 cm and with colour red.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: An example of defining a line segment
+// Instantiate an emply polyline object 
+G4Polyline  x_axis;
+
+// Set red line colour 
+G4Colour         red(1.0, 0.0, 0.0); 
+G4VisAttributes  att(red);     
+x_axis.SetVisAttributes(&amp;att);
+
+// Set vertex positions
+x_axis.push_back( G4Point3D(0., 0., 0.) );
+x_axis.push_back( G4Point3D(5.*cm, 0., 0.) );
+
+ //----- end of C++ source codes
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisPlylMrkTxt.Mrk"></a>8.9.2. 
+Markers
+</h3></div></div></div><p>
+Here we explain how to use 3D markers in Geant4 Visualization.
+</p><h5><a name="id519964"></a>
+What are Markers?
+</h5><p>
+Markers set marks at arbitrary positions in the 3D space. They
+are often used to visualize hits of particles at detector
+components. A marker is a 2-dimensional primitive with shape
+(square, circle, etc), color, and special properties (a) of always
+facing the camera and (b) of having the possibility of a size
+defined in screen units (pixels). Here "size" means "overall size",
+e.g., diameter of circle and side of square (but diameter and
+radius access functions are defined to avoid ambiguity).
+</p><p>
+So the user who constructs a marker should decide whether or not
+it should be visualized to a given size in world coordinates by
+setting the world size. Alternatively, the user can set the screen
+size and the marker is visualized to its screen size. Finally, the
+user may decide not to set any size; in that case, it is drawn
+according to the sizes specified in the default marker specified in
+the class <span class="emphasis"><em>G4ViewParameters</em></span>.
+</p><p>
+By default, "square" and "circle" are supported in Geant4
+Visualization. The former is described with class <span class="emphasis"><em>G4Square</em></span>,
+and the latter with class <span class="emphasis"><em>G4Circle</em></span>:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+        <span class="bold"><strong>Marker Type</strong></span>
+      </td><td>
+        <span class="bold"><strong>Class Name</strong></span>
+      </td></tr><tr><td>
+        circle
+      </td><td>
+        <span class="emphasis"><em>G4Circle</em></span>
+      </td></tr><tr><td>
+        right square
+      </td><td>
+        <span class="emphasis"><em>G4Square</em></span>
+      </td></tr></tbody></table></div><p>
+</p><p>
+These classes are inherited from class <span class="emphasis"><em>G4VMarker</em></span>. 
+They have constructors as follows:
+
+</p><div class="informalexample"><pre class="programlisting">
+      //----- Constructors of G4Circle and G4Square
+      G4Circle::G4Circle (const G4Point3D&amp; pos );
+      G4Square::G4Square (const G4Point3D&amp; pos);
+</pre></div><p>
+</p><p>
+Access functions of class <span class="emphasis"><em>G4VMarker</em></span> are summarized below.
+</p><h5><a name="id520087"></a>
+Access functions of markers
+</h5><p>
+<a href="ch08s09.html#programlist_VisPlylMrkTxt_2" title="Example 8.6. 
+The access functions inherited from the base class
+G4VMarker.
+">Example 8.6</a> shows the access functions 
+inherited from the base class <span class="emphasis"><em>G4VMarker</em></span>.
+
+</p><div class="example"><a name="programlist_VisPlylMrkTxt_2"></a><p class="title"><b>Example 8.6. 
+The access functions inherited from the base class
+<span class="emphasis"><em>G4VMarker</em></span>.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- Set functions of G4VMarker
+ void G4VMarker::SetPosition( const G4Point3D&amp; );
+ void G4VMarker::SetWorldSize( G4double );
+ void G4VMarker::SetWorldDiameter( G4double );
+ void G4VMarker::SetWorldRadius( G4double );
+ void G4VMarker::SetScreenSize( G4double );
+ void G4VMarker::SetScreenDiameter( G4double );
+ void G4VMarker::SetScreenRadius( G4double );
+ void G4VMarker::SetFillStyle( FillStyle );
+ // Note: enum G4VMarker::FillStyle {noFill, hashed, filled};
+
+ //----- Get functions of G4VMarker
+ G4Point3D G4VMarker::GetPosition () const;
+ G4double G4VMarker::GetWorldSize () const;
+ G4double G4VMarker::GetWorldDiameter () const;
+ G4double G4VMarker::GetWorldRadius () const;
+ G4double G4VMarker::GetScreenSize () const;
+ G4double G4VMarker::GetScreenDiameter () const;
+ G4double G4VMarker::GetScreenRadius () const;
+ FillStyle G4VMarker::GetFillStyle () const;
+ // Note: enum G4VMarker::FillStyle {noFill, hashed, filled};
+</pre></div></div><p><br class="example-break">
+</p><p>
+<a href="ch08s09.html#programlist_VisPlylMrkTxt_3" title="Example 8.7. 
+Sample C++ source code to define a very small red circle.
+">Example 8.7</a> shows sample C++ source 
+code to define a very small red circle, i.e., a dot with diameter 1.0 pixel. 
+Such a dot is often used to visualize a hit.
+
+</p><div class="example"><a name="programlist_VisPlylMrkTxt_3"></a><p class="title"><b>Example 8.7. 
+Sample C++ source code to define a very small red circle.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: An example of defining a red small maker
+ G4Circle circle(position); // Instantiate a circle with its 3D
+                            // position. The argument "position"
+                            // is defined as G4Point3D instance
+ circle.SetScreenDiameter (1.0); // Should be circle.SetScreenDiameter
+                                 //  (1.0 * pixels) - to be implemented
+ circle.SetFillStyle (G4Circle::filled); // Make it a filled circle
+ G4Colour colour(1.,0.,0.);              // Define red color
+ G4VisAttributes attribs(colour);        // Define a red visualization attribute
+ circle.SetVisAttributes(attribs);       // Assign the red attribute to the circle
+ //----- end of C++ source codes
+</pre></div></div><p><br class="example-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.VisPlylMrkTxt.Txt"></a>8.9.3. 
+Text
+</h3></div></div></div><p>
+Text, i.e., a character string, is used to visualize various kinds
+of description, particle name, energy, coordinate names etc. Text
+is described by the class <span class="emphasis"><em>G4Text</em></span> . The following
+constructors are supported:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Constructors of G4Text
+     G4Text (const G4String&amp; text);
+     G4Text (const G4String&amp; text, const G4Point3D&amp; pos);
+</pre></div><p>
+
+where the argument <code class="literal">text</code> is the text (string) to be
+visualized, and <code class="literal">pos</code> is the 3D position at which the text
+is visualized.
+</p><p>
+Note that class <span class="emphasis"><em>G4Text</em></span> also inherits <span class="emphasis"><em>G4VMarker</em></span>.
+Size of text is recognized as "font size", i.e., height of the
+text. All the access functions defined for class <span class="emphasis"><em>G4VMarker</em></span>
+mentioned above are available. In addition, the following access
+functions are available, too:
+
+</p><div class="informalexample"><pre class="programlisting">
+     //----- Set functions of G4Text
+     void G4Text::SetText ( const G4String&amp; text ) ;
+     void G4Text::SetOffset ( double dx, double dy ) ;
+
+     //----- Get functions of G4Text
+     G4String G4Text::GetText () const;
+     G4double G4Text::GetXOffset () const;
+     G4double G4Text::GetYOffset () const;
+</pre></div><p>
+</p><p>
+Method <code class="literal">SetText()</code> defines text to be visualized, and
+<code class="literal">GetText()</code> returns the defined text. Method
+<code class="literal">SetOffset()</code> defines x (horizontal) and y (vertical)
+offsets in the screen coordinates. By default, both offsets are
+zero, and the text starts from the 3D position given to the
+constructor or to the method <code class="literal">G4VMarker:SetPosition()</code>.
+Offsets should be given with the same units as the one adopted for
+the size, i.e., world-size or screen-size units.
+</p><p>
+<a href="ch08s09.html#programlist_VisPlylMrkTxt_4" title="Example 8.8. 
+An example of defining text.
+">Example 8.8</a> shows sample C++ source code 
+to define text with the following properties:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Text: "Welcome to Geant4 Visualization"
+  </p></li><li><p>
+    Position: (0.,0.,0.) in the world coordinates
+  </p></li><li><p>
+    Horizontal offset: 10 pixels
+  </p></li><li><p>
+    Vertical offset: -20 pixels
+  </p></li><li><p>
+    Colour: blue (default)
+  </p></li></ul></div><p>
+</p><p>
+</p><div class="example"><a name="programlist_VisPlylMrkTxt_4"></a><p class="title"><b>Example 8.8. 
+An example of defining text.
+</b></p><div class="example-contents"><pre class="programlisting">
+ //----- C++ source codes: An example of defining a visualizable text
+
+ //----- Instantiation
+ G4Text text ;
+ text.SetText ( "Welcome to Geant4 Visualization");
+ text.SetPosition ( G4Point3D(0.,0.,0.) );
+ // These three lines are equivalent to:
+ //  G4Text text ( "Welcome to Geant4 Visualization",
+ //                 G4Point3D(0.,0.,0.) );
+
+ //----- Size (font size in units of pixels)
+ G4double fontsize = 24.; // Should be 24. * pixels - to be implemented.
+ text.SetScreenSize ( fontsize );
+
+ //----- Offsets
+ G4double x_offset = 10.; // Should be 10. * pixels - to be implemented.
+ G4double y_offset = -20.; // Should be -20. * pixels - to be implemented.
+ text.SetOffset( x_offset, y_offset );
+
+ //----- Color (Blue is the default setting, and so the codes below are omissible)
+ G4Colour blue( 0., 0., 1. );
+ G4VisAttributes att ( blue );
+ text.SetVisAttributes ( att );
+
+ //----- end of C++ source codes
+</pre></div></div><p><br class="example-break">
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s08.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch08s10.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.8. 
+Trajectory Filtering
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 8.10. 
+Making a Movie
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s10.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s10.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch08s10.html	(revision 901)
@@ -0,0 +1,237 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>8.10.  Making a Movie</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch08.html" title="Chapter 8.  Visualization"><link rel="prev" href="ch08s09.html" title="8.9.  Polylines, Markers and Text"><link rel="next" href="ch09.html" title="Chapter 9.  Examples"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">8.10. 
+Making a Movie
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s09.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 8. 
+Visualization
+</th><td width="20%" align="right"> <a accesskey="n" href="ch09.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.MkMovie"></a>8.10. 
+Making a Movie
+</h2></div></div></div><p>
+These instructions are suggestive only. The following procedures
+have not been tested on all platforms. There are clearly some
+instructions that apply only to Unix-like systems with an X-Windows
+based windowing system. However, it should not be difficult to take
+the ideas presented here and extend them to other platforms and
+systems. 
+</p><p>
+The procedures described here need graphics drivers that
+can produce picture files that can be converted to a form suitable
+for an MPEG encoder. There may be other ways of capturing the
+screen images and we would be happy to hear about them. Graphics
+drivers currently capable of producing picture files are:
+
+</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+        <span class="bold"><strong>Driver</strong></span>
+      </td><td>
+        <span class="bold"><strong>File type</strong></span>
+      </td></tr><tr><td>
+        DAWNFILE
+      </td><td>
+        prim then eps using <span class="bold"><strong>dawn</strong></span>
+      </td></tr><tr><td>
+        HepRepFile
+      </td><td>
+        HepRep1
+      </td></tr><tr><td>
+        HepRep
+      </td><td>
+        HepRep2
+      </td></tr><tr><td>
+        OGLX
+      </td><td>
+        eps
+      </td></tr><tr><td>
+        RayTracer
+      </td><td>
+        jpeg
+      </td></tr><tr><td>
+        VRMLFILE
+      </td><td>
+        vrml
+      </td></tr></tbody></table></div><p>
+</p><p>
+So far, only DAWNFILE, OGLX and RayTracer have been "road tested".
+Once in a standard format, such as eps, the 
+<span class="bold"><strong>convert</strong></span> program from 
+<a href="http://www.imagemagick.org" target="_top">
+ImageMagick
+</a>
+ can convert to ppm files suitable for 
+<span class="bold"><strong>mpeg2encode</strong></span>.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkMovie.OGLX"></a>8.10.1. 
+OGLX
+</h3></div></div></div><p>
+Make a macro something like this:
+
+</p><div class="informalexample"><pre class="programlisting">
+/control/verbose 2
+/vis/open OGLSX 600x600-0+0
+/vis/drawVolume
+/vis/viewer/reset
+/vis/viewer/set/style surface
+/vis/viewer/set/projection perspective 50 deg
+/control/alias phi 30
+/control/loop movie.loop theta 0 360 1
+</pre></div><p>
+
+which invokes movie.loop, which is something like:
+
+</p><div class="informalexample"><pre class="programlisting">
+/vis/viewer/set/viewpointThetaPhi {theta} {phi}
+/vis/viewer/zoom 1.005
+/vis/ogl/printEPS
+</pre></div><p>
+</p><p>
+This produces lots of eps files. Then...
+
+</p><div class="informalexample"><pre class="programlisting">
+<a href="./make_mpeg2encode_parfile.sh" target="_top">make_mpeg2encode_parfile.sh</a> G4OpenGL_*eps
+</pre></div><p>
+</p><p>
+Then edit mpeg2encode.par to specify file type and size, etc.:
+
+</p><div class="informalexample"><pre class="programlisting">
+$ diff mpeg2encode.par~ mpeg2encode.par
+7c7
+&lt; 1         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+---
+&gt; 2         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+15,17c15,17
+&lt;    /* horizontal_size */
+&lt;   /* vertical_size */
+&lt; 8         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+---
+&gt; 600   /* horizontal_size */
+&gt; 600  /* vertical_size */
+&gt; 1         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+</pre></div><p>
+</p><p>
+Then convert to ppm:
+
+</p><div class="informalexample"><pre class="programlisting">
+for i in G4OpenGL*eps; 
+  do j=`basename $i .eps`; command="convert $i $j.ppm"; echo $command; $command; done
+</pre></div><p>
+</p><p>
+Then
+
+</p><div class="informalexample"><pre class="programlisting">
+mpeg2encode mpeg2encode.par G4OpenGL.mpg
+</pre></div><p>
+</p><p>
+Then, on Mac, for example:
+
+</p><div class="informalexample"><pre class="programlisting">
+open G4OpenGL.mpg
+</pre></div><p>
+
+opens a QuickTime player.
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkMovie.DAWNFILE"></a>8.10.2. 
+DAWNFILE
+</h3></div></div></div><p>
+You need to invoke <span class="bold"><strong>dawn</strong></span> in "direct" mode, 
+which picks up parameters from .DAWN_1.history, and suppress the GUI:
+
+</p><div class="informalexample"><pre class="programlisting">
+alias dawn='dawn -d'
+export DAWN_BATCH=1
+</pre></div><p>
+</p><p>
+Change OGLSX to DAWNFILE in the above set of Geant4 commands and
+run. Then convert to ppm files as above:
+
+</p><div class="informalexample"><pre class="programlisting">
+for i in g4_*.eps; 
+  do j=`basename $i .eps`; command="convert $i $j.ppm"; echo $command; $command; done
+</pre></div><p>
+</p><p>
+Then make a .par file:
+
+</p><div class="informalexample"><pre class="programlisting">
+<a href="./make_mpeg2encode_parfile.sh" target="_top">make_mpeg2encode_parfile.sh</a> g4_*ppm
+</pre></div><p>
+
+and edit mpeg2encode.par:
+
+</p><div class="informalexample"><pre class="programlisting">
+$ diff mpeg2encode.par~ mpeg2encode.par
+7c7
+&lt; 1         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+---
+&gt; 2         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+9c9
+&lt; 1         /* number of first frame */
+---
+&gt; 0         /* number of first frame */
+15,16c15,16
+&lt;    /* horizontal_size */
+&lt;   /* vertical_size */
+---
+&gt; 482   /* horizontal_size */
+&gt; 730  /* vertical_size */
+</pre></div><p>
+</p><p>
+Then encode and play:
+
+</p><div class="informalexample"><pre class="programlisting">
+mpeg2encode mpeg2encode.par DAWN.mpg
+open DAWN.mpg
+</pre></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.MkMovie.RyTrcX"></a>8.10.3. 
+RayTracerX
+</h3></div></div></div><p>
+</p><div class="informalexample"><pre class="programlisting">
+/control/verbose 2
+/vis/open RayTracerX 600x600-0+0
+# (Raytracer doesn't need a scene; smoother not to /vis/drawVolume.)
+/vis/viewer/reset
+/vis/viewer/set/style surface
+/vis/viewer/set/projection perspective 50 deg
+/control/alias phi 30
+/control/loop movie.loop theta 0 360 1
+</pre></div><p>
+
+where movie.loop is as above. This produces lots of jpeg files (but
+takes 3 days!!!). Then...
+
+</p><div class="informalexample"><pre class="programlisting">
+<a href="./make_mpeg2encode_parfile.sh" target="_top">make_mpeg2encode_parfile.sh</a> g4RayTracer*jpeg
+</pre></div><p>
+</p><p>
+Then edit mpeg2encode.par to specify file type and size, etc.:
+
+</p><div class="informalexample"><pre class="programlisting">
+$ diff mpeg2encode.par.orig mpeg2encode.par      
+7c7
+&lt; 1         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+---
+&gt; 2         /* input picture file format: 0=*.Y,*.U,*.V, 1=*.yuv, 2=*.ppm */
+15,17c15,17
+&lt;    /* horizontal_size */
+&lt;   /* vertical_size */
+&lt; 8         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+---
+&gt; 600   /* horizontal_size */
+&gt; 600  /* vertical_size */
+&gt; 1         /* aspect_ratio_information 1=square pel, 2=4:3, 3=16:9, 4=2.11:1 */
+</pre></div><p>
+</p><p>
+
+Then convert to ppm, encode and play:
+
+</p><div class="informalexample"><pre class="programlisting">
+for i in g4*jpeg; 
+  do j=`basename $i .jpeg`; command="convert $i $j.ppm"; echo $command; $command; done
+mpeg2encode mpeg2encode.par g4RayTracer.mpg
+open g4RayTracer.mpg
+</pre></div><p>
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s09.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch08.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch09.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.9. 
+Polylines, Markers and Text
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter 9. 
+Examples
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09.html	(revision 901)
@@ -0,0 +1,1602 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 9.  Examples</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch08s10.html" title="8.10.  Making a Movie"><link rel="next" href="ch09s02.html" title="9.2.  Extended Examples"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 9. 
+Examples
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch08s10.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch09s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.Examples"></a>Chapter 9. 
+Examples
+</h2></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ExmpNvc"></a>9.1. 
+Novice Examples
+</h2></div></div></div><p>
+The Geant4 toolkit includes several fully coded examples which
+demonstrate the implementation of the user classes required to
+build a customized simulation. Seven "novice" examples are provided
+ranging from the simulation of a non-interacting particle and a
+trivial detector, to the simulation of electromagnetic and hadronic
+physics processes in a complex detector. Each example may be used
+as a base from which more detailed applications can be developed. A
+set of "extended" examples implement simulations of actual high
+energy physics detectors and require some libraries in addition to
+those of Geant4. The "advanced" examples cover cases useful to the
+developement of the Geant4 toolkit itself.
+</p><p>
+The examples can be compiled and run without modification. Most
+of them can be run both in interactive and batch mode using the
+input macro files (<code class="literal">*.in</code>) and reference output files
+(<code class="literal">*.out</code>) provided. These examples are run routinely as 
+part of the validation, or testing, of official releases of the Geant4
+toolkit.
+</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Smmry"></a>9.1.1. 
+Novice Example Summary
+</h3></div></div></div><p>
+Descriptions of the 7 novice examples are provided here along with
+links to the code.
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/README" target="_top">
+<code class="literal">ExampleN01</code>
+</a>
+ 
+<a href="ch09.html#sect.ExmpNvc.Exmp01" title="9.1.2.  Example N01">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Mandatory user classes
+  </p></li><li><p>
+    Demonstrates how Geant4 kernel works
+  </p></li></ul></div><p>
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/README" target="_top">
+<code class="literal">ExampleN02</code>
+</a>
+
+<a href="ch09.html#sect.ExmpNvc.Exmp02" title="9.1.3.  Example N02">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Simplified tracker geometry with uniform magnetic field
+  </p></li><li><p>
+    Electromagnetic processes
+  </p></li></ul></div><p>
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/README" target="_top">
+<code class="literal">ExampleN03</code>
+</a>
+
+<a href="ch09.html#sect.ExmpNvc.Exmp03" title="9.1.4.  Example N03">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Simplified calorimeter geometry
+  </p></li><li><p>
+    Electromagnetic processes
+  </p></li><li><p>
+    Various materials
+  </p></li></ul></div><p>
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/README" target="_top">
+<code class="literal">ExampleN04</code>
+</a>
+
+<a href="ch09.html#sect.ExmpNvc.Exmp04" title="9.1.5.  Example N04">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Simplified collider detector with a readout geometry
+  </p></li><li><p>
+    Full ``ordinary'' processes
+  </p></li><li><p>
+    PYTHIA primary events
+  </p></li><li><p>
+    Event filtering by stack
+  </p></li></ul></div><p>
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/README" target="_top">
+<code class="literal">ExampleN05</code>
+</a>
+
+<a href="ch09.html#sect.ExmpNvc.Exmp05" title="9.1.6.  Example N05">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Simplified BaBar calorimeter
+  </p></li><li><p>
+    EM shower parametrisation
+  </p></li></ul></div><p>
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/README" target="_top">
+<code class="literal">ExampleN06</code>
+</a>
+
+<a href="ch09.html#sect.ExmpNvc.Exmp06" title="9.1.7.  Example N06">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Optical photon processes
+  </p></li></ul></div><p>
+</p><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/README" target="_top">
+<code class="literal">ExampleN07</code>
+</a>
+
+<a href="ch09.html#sect.ExmpNvc.Exmp07" title="9.1.8.  Example N07">
+(Description below)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Geometrical Regions for production thresholds
+  </p></li><li><p>
+    Dynamic geometry setups between runs
+  </p></li><li><p>
+    Primitive scorer and filter
+  </p></li><li><p>
+    Derived run class and run action
+  </p></li></ul></div><p>
+</p><p>
+<a href="ch09.html#table.ExmpNvc_1" title="Table 9.1. 
+The ``item chart'' for novice level examples N01,
+N02 and N03.
+">Table 9.1</a>, <a href="ch09.html#table.ExmpNvc_2" title="Table 9.2. 
+The ``item chart'' for novice level examples N04,
+N05, and N06.
+">Table 9.2</a> and 
+<a href="ch09.html#table.ExmpNvc_3" title="Table 9.3. 
+The ``item chart'' for novice level example N07.
+">Table 9.3</a> display the ``item charts'' for
+the examples currently prepared in the novice level.
+
+</p><div class="table"><a name="table.ExmpNvc_1"></a><div class="table-contents"><table summary="
+The ``item chart'' for novice level examples N01,
+N02 and N03.
+" border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td>
+
+    </td><td>
+      <code class="literal">ExampleN01</code>
+    </td><td>
+      <code class="literal">ExampleN02</code>
+    </td><td>
+      <code class="literal">ExampleN03</code>
+    </td></tr><tr><td>
+      comments
+    </td><td>
+      minimal set for geantino transportation
+    </td><td>
+      fixed target tracker geometry
+    </td><td>
+      EM shower in calorimeter
+    </td></tr><tr><td>
+      Run
+    </td><td>
+      <code class="literal">main()</code> for hard coded batch
+    </td><td>
+      <code class="literal">main()</code> for interactive mode
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        <code class="literal">main()</code> for interactive mode
+      </p></li><li><p>
+        SetCut and Process On/Off
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Event
+    </td><td>
+      event generator selection (particleGun)
+    </td><td>
+      event generator selection (particleGun)
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        event generator selection (particleGun)
+      </p></li><li><p>
+        ``end of event'' simple analysis in <span class="emphasis"><em>UserEventAction</em></span>
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Tracking
+    </td><td>
+      hard coded verbose level setting
+    </td><td>
+      selecting secondaries
+    </td><td>
+      select trajectories
+    </td></tr><tr><td>
+      Geometry
+    </td><td>
+      geometry definition (CSG)
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        geometry definition (includes Parametrised volume)
+      </p></li><li><p>
+        uniform magnetic field
+      </p></li></ul></div>
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        geometry definition (includes replica)
+      </p></li><li><p>
+        uniform magnetic field
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Hits/Digi
+    </td><td align="center">
+      -
+    </td><td>
+      tracker type hits
+    </td><td>
+      calorimeter-type hits
+    </td></tr><tr><td>
+      PIIM
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        minimal particle set
+      </p></li><li><p>
+        single element material
+      </p></li></ul></div>
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        EM particles set
+      </p></li><li><p>
+        mixtures and compound elements
+      </p></li></ul></div>
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        EM particles set
+      </p></li><li><p>
+        mixtures and compound elements
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Physics
+    </td><td>
+      transportation
+    </td><td>
+      EM physics
+    </td><td>
+      EM physics
+    </td></tr><tr><td>
+      Vis
+    </td><td align="center">
+      -
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        detector &amp; trajectory drawing
+      </p></li><li><p>
+        tracker type hits drawing
+      </p></li></ul></div>
+    </td><td>
+      detector &amp; trajectory drawing
+    </td></tr><tr><td>
+      (G)UI
+    </td><td align="center">
+      -
+    </td><td>
+      GUI selection
+    </td><td>
+      GUI selection
+    </td></tr><tr><td>
+      Global
+    </td><td align="center">
+      -
+    </td><td align="center">
+      -
+    </td><td align="center">
+      -
+    </td></tr></tbody></table></div><p class="title"><b>Table 9.1. 
+The ``item chart'' for novice level examples <code class="literal">N01</code>,
+<code class="literal">N02</code> and <code class="literal">N03</code>.
+</b></p></div><p><br class="table-break">
+</p><p>
+</p><div class="table"><a name="table.ExmpNvc_2"></a><div class="table-contents"><table summary="
+The ``item chart'' for novice level examples N04,
+N05, and N06.
+" border="1"><colgroup><col><col><col><col></colgroup><tbody><tr><td>
+
+    </td><td>
+      <code class="literal">ExampleN04</code>
+    </td><td>
+      <code class="literal">ExampleN05</code>
+    </td><td>
+      <code class="literal">ExampleN06</code>
+    </td></tr><tr><td>
+      comments
+    </td><td>
+      simplified collider geometry
+    </td><td>
+      parametrised shower example
+    </td><td>
+      Optical photon example
+    </td></tr><tr><td>
+      Run
+    </td><td>
+      <code class="literal">main()</code> for interactive mode
+    </td><td>
+      <code class="literal">main()</code> for interactive mode
+    </td><td>
+      <code class="literal">main()</code> for interactive mode
+    </td></tr><tr><td>
+      Event
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        event generator selection (HEPEvtInterface)
+      </p></li><li><p>
+        Stack control
+      </p></li></ul></div>
+    </td><td>
+      event generator selection (HEPEvtInterface)
+    </td><td>
+      event generator selection (particleGun)
+    </td></tr><tr><td>
+      Tracking
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        select trajectories
+      </p></li><li><p>
+        selecting secondaries
+      </p></li></ul></div>
+    </td><td align="center">
+      -
+    </td><td align="center">
+      -
+    </td></tr><tr><td>
+      Geometry
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        geometry definition (includes Param/Replica)
+      </p></li><li><p>
+        non-uniform magnetic field
+      </p></li></ul></div>
+    </td><td>
+      ghost volume for shower parametrisation
+    </td><td>
+      geometry definition (BREP with rotation)
+    </td></tr><tr><td>
+      Hits/Digi
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        Tracker/calorimeter/counter types
+      </p></li><li><p>
+        ReadOut geometry
+      </p></li></ul></div>
+    </td><td>
+      Sensitive detector for shower parametrisation
+    </td><td align="center">
+      -
+    </td></tr><tr><td>
+      PIIM
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        Full particle set
+      </p></li><li><p>
+        mixtures and compound elements
+      </p></li></ul></div>
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        EM set
+      </p></li><li><p>
+        mixtures and compound elements
+      </p></li></ul></div>
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        EM set
+      </p></li><li><p>
+        mixtures and compound elements
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Physics
+    </td><td>
+      Full physics processes
+    </td><td>
+      Parametrized shower
+    </td><td>
+      Optical photon processes
+    </td></tr><tr><td>
+      Vis
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        detector &amp; hit drawing
+      </p></li><li><p>
+        calorimeter type hits drawing
+      </p></li></ul></div>
+    </td><td>
+      detector &amp; hit drawing
+    </td><td align="center">
+      -
+    </td></tr><tr><td>
+      (G)UI
+    </td><td>
+      define user commands
+    </td><td>
+      define user commands
+    </td><td>
+      define user commands
+    </td></tr><tr><td>
+      Global
+    </td><td align="center">
+      -
+    </td><td align="center">
+      -
+    </td><td>
+      random number engine
+    </td></tr></tbody></table></div><p class="title"><b>Table 9.2. 
+The ``item chart'' for novice level examples <code class="literal">N04</code>,
+<code class="literal">N05</code>, and <code class="literal">N06</code>.
+</b></p></div><p><br class="table-break">
+</p><p>
+</p><div class="table"><a name="table.ExmpNvc_3"></a><div class="table-contents"><table summary="
+The ``item chart'' for novice level example N07.
+" border="1"><colgroup><col><col></colgroup><tbody><tr><td>
+ 
+    </td><td>
+      <code class="literal">ExampleN07</code>
+    </td></tr><tr><td>
+      comments
+    </td><td>
+      Cuts per region
+    </td></tr><tr><td>
+      Run
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        <code class="literal">main()</code> for interactive mode
+      </p></li><li><p>
+        Customized run class
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Event
+    </td><td>
+      event generator selection (particleGun)
+    </td></tr><tr><td>
+      Tracking
+    </td><td align="center">
+      -
+    </td></tr><tr><td>
+      Geometry
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        geometry definition (includes Replica)
+      </p></li><li><p>
+        Region
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Hits/Digi
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        Primitive scorer
+      </p></li><li><p>
+        Filter
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      PIIM
+    </td><td>
+      <div class="itemizedlist"><ul type="disc" compact><li><p>
+        EM set
+      </p></li><li><p>
+        mixtures and compound elements
+      </p></li></ul></div>
+    </td></tr><tr><td>
+      Physics
+    </td><td>
+      EM processes
+    </td></tr><tr><td>
+      Vis
+    </td><td>
+      detector &amp; trajectory drawing
+    </td></tr><tr><td>
+      (G)UI
+    </td><td>
+      define user commands
+    </td></tr><tr><td>
+      Global
+    </td><td align="center">
+      -
+    </td></tr></tbody></table></div><p class="title"><b>Table 9.3. 
+The ``item chart'' for novice level example <code class="literal">N07</code>.
+</b></p></div><p><br class="table-break">
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp01"></a>9.1.2. 
+Example N01
+</h3></div></div></div><h5><a name="id533957"></a>
+Basic concepts
+</h5><div class="itemizedlist"><ul type="disc" compact><li><p>
+   minimal set for geantino transportation    
+  </p></li></ul></div><h5><a name="id533976"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/exampleN01.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    hard coded batch
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4RunManager</em></span>
+  </p></li><li><p>
+    hard coded verbose level setting to <span class="emphasis"><em>G4RunManager</em></span>,
+    <span class="emphasis"><em>G4EventManager</em></span> and
+    <span class="emphasis"><em>G4TrackingManager</em></span>
+  </p></li><li><p>
+    construction and set of mandatory user classes
+  </p></li><li><p>
+    hard coded <code class="literal">beamOn()</code>
+  </p></li><li><p>
+    Hard coded UI command application
+  </p></li></ul></div><p>
+</p><h5><a name="id534054"></a>
+ExN01DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+ 
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from G4VUserDetectorConstruction
+  </p></li><li><p>
+    definitions of single element materials
+  </p></li><li><p>
+    CSG solids
+  </p></li><li><p>
+    <span class="emphasis"><em>G4PVPlacement</em></span> without rotation
+  </p></li></ul></div><p>
+</p><h5><a name="id534106"></a>
+ExN01PhysicsList
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PhysicsList.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PhysicsList.cc" target="_top">
+(source file)
+</a>
+ 
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserPhysicsList</em></span>
+  </p></li><li><p>
+    definition of geantino
+  </p></li><li><p>
+    assignment of transportation process
+  </p></li></ul></div><p>
+</p><h5><a name="id534154"></a>
+ExN01PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4ParticleGun</em></span>
+  </p></li><li><p>
+    primary event generation via particle gun
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp02"></a>9.1.3. 
+Example N02
+</h3></div></div></div><h5><a name="id534218"></a>
+Basic concepts
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Detector: fixed target type
+  </p></li><li><p>
+    Processes: EM
+  </p></li><li><p>
+    Hits: tracker type hits
+  </p></li></ul></div><p>
+</p><h5><a name="id534250"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/exampleN02.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">main()</code> for interactive mode (and batch mode via macro
+    file)
+  </p></li><li><p>
+    construction and deletion of (G)UI session and
+    <span class="emphasis"><em>VisManager</em></span>
+  </p></li><li><p>
+    random number engine
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4RunManager</em></span>
+  </p></li><li><p>
+    construction and set of mandatory user classes
+  </p></li></ul></div><p>
+</p><h5><a name="id534315"></a>
+ExN02DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>
+  </p></li><li><p>
+    definitions of single-element, mixture and compound materials
+  </p></li><li><p>
+    CSG solids
+  </p></li><li><p>
+    Uniform magnetic field: construction of
+    <span class="emphasis"><em>ExN02MagneticField</em></span>
+  </p></li><li><p>
+    Physical Volumes
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        <span class="emphasis"><em>G4Placement</em></span> volumes with &amp; without rotation.
+      </p></li><li><p>
+        <span class="emphasis"><em>G4PVParameterised</em></span> volumes without rotation
+      </p></li></ul></div><p>
+  </p></li></ul></div><p>
+</p><h5><a name="id534398"></a>
+ExN02MagneticField
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02MagneticField.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02MagneticField.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4MagneticField</em></span>
+  </p></li><li><p>
+    Uniform field. <span class="emphasis"><em>ExN02MagneticField</em></span>
+  </p></li></ul></div><p>
+</p><h5><a name="id534444"></a>
+ExN02PhysicsList
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PhysicsList.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PhysicsList.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserPhysicsList</em></span>
+  </p></li><li><p>
+    definition of geantinos, electrons, positrons, gammas
+  </p></li><li><p>
+    utilisation of transportation and 'standard' EM-processes
+  </p></li><li><p>
+    Interactivity: chooses processes interactively (=&gt; messenger class)
+  </p></li></ul></div><p>
+</p><h5><a name="id534498"></a>
+ExN02PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4ParticleGun</em></span>
+  </p></li><li><p>
+    primary event generation via particle gun
+  </p></li></ul></div><p>
+</p><h5><a name="id534549"></a>
+ExN02RunAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02RunAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02RunAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserRunAction</em></span>
+  </p></li><li><p>
+    draw detector
+  </p></li></ul></div><p>
+</p><h5><a name="id534592"></a>
+ExN02EventAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02EventAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02EventAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserEventAction</em></span>
+  </p></li><li><p>
+    print time information
+  </p></li></ul></div><p>
+</p><h5><a name="id534635"></a>
+ExN02TrackerSD
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerSD.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerSD.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VSensitiveDetector</em></span>
+  </p></li><li><p>
+    tracker-type hit generation 
+  </p></li></ul></div><p>
+</p><h5><a name="id534678"></a>
+ExN02TrackerHit
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerHit.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerHit.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VHit</em></span>
+  </p></li><li><p>
+    draw hit point
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp03"></a>9.1.4. 
+Example N03
+</h3></div></div></div><h5><a name="id534734"></a>
+Basic concepts
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Visualize Em processes.
+  </p></li><li><p>
+    Interactivity: build messenger classes.
+  </p></li><li><p>
+    Gun: shoot particle randomly.
+  </p></li><li><p>
+    Tracking: collect energy deposition, total track length
+  </p></li></ul></div><p>
+</p><h5><a name="id534770"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/exampleN03.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">main()</code> for interactive mode and batch mode via macro
+    file
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4RunManager</em></span>
+  </p></li><li><p>
+    construction and deletion of (G)UI session and
+    <span class="emphasis"><em>VisManager</em></span>
+  </p></li><li><p>
+    construction and set of mandatory user classes
+  </p></li><li><p>
+    automatic initialization of geometry and visualization via a
+    macro file
+  </p></li></ul></div><p>
+</p><h5><a name="id534836"></a>
+ExN03DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>
+  </p></li><li><p>
+    definitions of single materials and mixtures
+  </p></li><li><p>
+    CSG solids
+  </p></li><li><p>
+    <span class="emphasis"><em>G4PVPlacement</em></span> without rotation
+  </p></li><li><p>
+    Interactivity: change detector size, material, magnetic field.
+    (=&gt;messenger class)
+  </p></li><li><p>
+    visualization
+  </p></li></ul></div><p>
+</p><h5><a name="id534902"></a>
+ExN03PhysicsList
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PhysicsList.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PhysicsList.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserPhysicsList</em></span>
+  </p></li><li><p>
+    definition of geantinos, gamma, leptons, light mesons barions
+    and ions
+  </p></li><li><p>
+    Transportation process, 'standard' Em processes, Decay
+  </p></li><li><p>
+    Interactivity: <span class="emphasis"><em>SetCut</em></span>, process on/off. (=&gt; messenger
+    class)
+  </p></li></ul></div><p>
+</p><h5><a name="id534960"></a>
+ExN03PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4ParticleGun</em></span>
+  </p></li><li><p>
+    primary event generation via particle gun
+  </p></li><li><p>
+    Interactivity: shoot particle randomly. (=&gt; messenger
+    class)
+  </p></li></ul></div><p>
+</p><h5><a name="id535016"></a>
+ExN03RunAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03RunAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03RunAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserRunAction</em></span>
+  </p></li><li><p>
+    draw detector and tracks
+  </p></li><li><p>
+    Interactivity: <span class="emphasis"><em>SetCut,</em></span> process on/off.
+  </p></li><li><p>
+    Interactivity: change detector size, material, magnetic field.
+  </p></li></ul></div><p>
+</p><h5><a name="id535072"></a>
+ExN03EventAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN03EventAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN03EventAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserEventAction</em></span>
+  </p></li><li><p>
+    store trajectories
+  </p></li><li><p>
+    print end of event information (energy deposited, etc.)
+  </p></li></ul></div><p>
+</p><h5><a name="id535120"></a>
+ExN03SteppingAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03SteppingAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03SteppingAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserSteppingAction</em></span>
+  </p></li><li><p>
+    collect energy deposition, etc.
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp04"></a>9.1.5. 
+Example N04
+</h3></div></div></div><h5><a name="id535177"></a>
+Basic concepts
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Simplified collider experiment geometry
+  </p></li><li><p>
+    Full hits/digits/trigger
+  </p></li></ul></div><p>
+</p><h5><a name="id535204"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/exampleN04.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    construction and deletion of <span class="emphasis"><em>ExN04RunManager</em></span>
+  </p></li><li><p>
+    construction and deletion of (G)UI session and
+    <span class="emphasis"><em>VisManager</em></span>
+  </p></li><li><p>
+    construction and set of user classes
+  </p></li></ul></div><p>
+</p><h5><a name="id535254"></a>
+ExN04DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>ExN04MagneticField</em></span>
+  </p></li><li><p>
+    definitions of mixture and compound materials
+  </p></li><li><p>
+    material-dependent CutOff
+  </p></li><li><p>
+    simplified collider geometry with Param/Replica
+  </p></li><li><p>
+    tracker/muon -- parametrised
+  </p></li><li><p>
+    calorimeter -- replica</p></li></ul></div><p>
+</p><h5><a name="id535324"></a>
+ExN04TrackerParametrisation
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerParametrisation.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerParametrisation.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPVParametrisation</em></span>
+  </p></li><li><p>
+    parametrised sizes
+  </p></li></ul></div><p>
+</p><h5><a name="id535367"></a>
+ExN04CalorimeterParametrisation
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterParametrisation.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterParametrisation.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPVParametrisation</em></span>
+  </p></li><li><p>
+    parametrized position/rotation
+  </p></li></ul></div><p>
+</p><h5><a name="id535410"></a>
+ExN04MagneticField
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MagneticField.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MagneticField.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4MagneticField</em></span>
+  </p></li><li><p>
+    solenoid and toroidal fields
+  </p></li></ul></div><p>
+</p><h5><a name="id535453"></a>
+ExN04TrackerSD
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerSD.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN04TrackerSD.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VSensitiveDetector</em></span>
+  </p></li><li><p>
+    tracker-type hit generation
+  </p></li></ul></div><p>
+</p><h5><a name="id535496"></a>
+ExN04TrackerHit
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerHit.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerHit.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VHit</em></span>
+  </p></li><li><p>
+    draw hit point
+  </p></li></ul></div><p>
+</p><h5><a name="id535539"></a>
+ExN04CalorimeterSD
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterSD.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterSD.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VSensitiveDetector</em></span>
+  </p></li><li><p>
+    calorimeter-type hit generation
+  </p></li></ul></div><p>
+</p><h5><a name="id535582"></a>
+ExN04CalorimeterHit
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterHit.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterHit.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VHit</em></span>
+  </p></li><li><p>
+    draw physical volume with variable color
+  </p></li></ul></div><p>
+</p><h5><a name="id535625"></a>
+ExN04MuonSD
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN04MuonSD.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN04MuonSD.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VSensitiveDetector</em></span>
+  </p></li><li><p> 
+    Scintillator-type hit generation
+  </p></li></ul></div><p>
+</p><h5><a name="id535667"></a>
+ExN04MuonHit
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonHit.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonHit.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VHit</em></span>
+  </p></li><li><p>
+    draw physical volume with variable color
+  </p></li></ul></div><p>
+</p><h5><a name="id535710"></a>
+ExN04PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4HEPEvtInterface</em></span>
+  </p></li><li><p>
+    primary event generation with PYTHIA event
+  </p></li></ul></div><p>
+</p><h5><a name="id535762"></a>
+ExN04EventAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04EventAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04EventAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    store the initial seeds
+  </p></li></ul></div><p>
+</p><h5><a name="id535797"></a>
+ExN04StackingAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4UserStackingAction</em></span>
+  </p></li><li><p>
+    ``stage'' control and priority control
+  </p></li><li><p>
+    event abortion
+  </p></li></ul></div><p>
+</p><h5><a name="id535844"></a>
+ExN04StackingActionMessenger
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingActionMessenger.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingActionMessenger.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4UImessenger</em></span>
+  </p></li><li><p>
+    define abortion conditions
+  </p></li></ul></div><p>
+</p><h5><a name="id535887"></a>
+ExN04TrackingAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackingAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackingAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4UserTrackingAction</em></span>
+  </p></li><li><p>
+    select trajectories
+  </p></li><li><p>
+    select secondaries
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp05"></a>9.1.6. 
+Example N05
+</h3></div></div></div><h5><a name="id535949"></a>
+Basic concepts
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Use of shower parameterisation:
+    </p><div class="itemizedlist"><ul type="circle" compact><li><p>
+        definition of an EM shower model
+      </p></li><li><p>
+        assignment to a Logical Volume
+      </p></li><li><p>
+        (definition of ghost volume when ready)
+      </p></li></ul></div><p>
+  </p></li><li><p>
+    Interactivity: build of messengers classes
+  </p></li><li><p>
+    Hits/Digi: filled from detailed and parameterised simulation
+    (calorimeter type hits ?)
+  </p></li></ul></div><p>
+</p><h5><a name="id536001"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/exampleN05.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">main()</code> for interactive mode
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4RunManager</em></span>
+  </p></li><li><p>
+    construction and set of mandatory user classes
+  </p></li><li><p>
+    construction of the <span class="emphasis"><em>G4GlobalFastSimulationmanager</em></span>
+  </p></li><li><p>
+    construction of a <span class="emphasis"><em>G4FastSimulationManager</em></span> to assign fast
+    simulation model to a logical volume (envelope)
+  </p></li><li><p>
+    (definition of ghost volume for parameterisation)
+  </p></li><li><p>
+    construction EM physics shower fast simulation model
+  </p></li></ul></div><p>
+</p><h5><a name="id536080"></a>
+ExN05EMShowerModel
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EMShowerModel.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EMShowerModel.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VFastSimulationModel</em></span>
+  </p></li><li><p>
+    energy deposition in sensitive detector
+  </p></li></ul></div><p>
+</p><h5><a name="id536123"></a>
+ExN05PionShowerModel
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PionShowerModel.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PionShowerModel.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VFastSimulationModel</em></span>
+  </p></li><li><p>
+    energy deposition in sensitive detector
+  </p></li></ul></div><p>
+</p><h5><a name="id536166"></a>
+ExN05DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>
+  </p></li><li><p>
+    definitions of single materials and mixtures
+  </p></li><li><p>
+    CSG solids
+  </p></li><li><p>
+    <span class="emphasis"><em>G4PVPlacement</em></span>
+  </p></li></ul></div><p>
+</p><h5><a name="id536221"></a>
+ExN05PhysicsList
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PhysicsList.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PhysicsList.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserPhysicsList</em></span>
+  </p></li><li><p>
+    assignment of <span class="emphasis"><em>G4FastSimulationManagerProcess</em></span>
+  </p></li></ul></div><p>
+</p><h5><a name="id536268"></a>
+ExN05PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4ParticleGun</em></span>
+  </p></li><li><p>
+    primary event generation via particle gun
+  </p></li></ul></div><p>
+</p><h5><a name="id536319"></a>
+ExN05RunAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05RunAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05RunAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserRunAction</em></span>
+  </p></li><li><p>
+    draw detector
+  </p></li><li><p>
+    (activation/deactivation of parameterisation ?)
+  </p></li></ul></div><p>
+</p><h5><a name="id536367"></a>
+ExN05EventAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EventAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EventAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserEventAction</em></span>
+  </p></li><li><p>
+    print time information
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp06"></a>9.1.7. 
+Example N06
+</h3></div></div></div><h5><a name="id536424"></a>
+Basic concepts
+</h5><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Interactivity : build messenger classes.
+  </p></li><li><p>
+    Event : Gun, shoot charge particle at Cerenkov Radiator and Scintillator.
+  </p></li><li><p>
+    PIIM : material/mixture with optical and scintillation properties.
+  </p></li><li><p>
+    Geometry : volumes filled with optical materials and possessing
+    surface properties.
+  </p></li><li><p>
+    Physics : define and initialize optical processes.
+  </p></li><li><p>
+    Tracking : generate Cerenkov radiation, collect energy
+    deposition to produce scintillation.
+  </p></li><li><p>
+    Hits/Digi : PMT as detector.
+  </p></li><li><p>
+    Visualization : geometry, optical photon trajectories.
+  </p></li></ul></div><h5><a name="id536477"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/exampleN06.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">main()</code> for interactive mode and batch mode via macro
+    file
+  </p></li><li><p>
+    random number engine
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4RunManager</em></span>
+  </p></li><li><p>
+    construction and set of mandatory user classes
+  </p></li><li><p>
+    hard coded <code class="literal">beamOn</code>
+  </p></li></ul></div><p>
+</p><h5><a name="id536545"></a>
+ExN06DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>
+  </p></li><li><p>
+    definitions of single materials and mixtures
+  </p></li><li><p>
+    generate and add Material Properties Table to materials
+  </p></li><li><p>
+    CSG and BREP solids
+  </p></li><li><p>
+    <span class="emphasis"><em>G4PVPlacement</em></span> with rotation
+  </p></li><li><p>
+    definition of surfaces
+  </p></li><li><p>
+    generate and add Material Properties Table to surfaces
+  </p></li><li><p>
+    visualization
+  </p></li></ul></div><p>
+</p><h5><a name="id536620"></a>
+ExN06PhysicsList
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PhysicsList.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PhysicsList.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserPhysicsList</em></span>
+  </p></li><li><p>
+    definition of gamma, leptons and optical photons
+  </p></li><li><p>
+    transportation, 'standard' EM-processes, decay, Cerenkov,
+    scintillation, 'standard' optical and boundary process
+  </p></li><li><p>
+    modify/augment optical process parameters
+  </p></li></ul></div><p>
+</p><h5><a name="id536673"></a>
+ExN06PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4ParticleGun</em></span>
+  </p></li><li><p>
+    primary event generation via particle gun
+  </p></li></ul></div><p>
+</p><h5><a name="id536724"></a>
+ExN06RunAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06RunAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06RunAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserRunAction</em></span>
+  </p></li><li><p>
+    draw detector
+  </p></li></ul></div><p>
+</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpNvc.Exmp07"></a>9.1.8. 
+Example N07
+</h3></div></div></div><h5><a name="id536781"></a>
+Basic concepts
+</h5><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Geometry : Changing geometry of three simplified sandwitch
+    calorimeters without re-building a world volume.
+  </p></li><li><p>
+    Region : Defining geometrical regions ans setting production
+    thresholds for each region.
+  </p></li><li><p>
+    Run : Utilizing a concrete run class derived from G4Run base
+    class for accumulating physics quantities and hits as a run.
+  </p></li><li><p>
+    Hits : Demonstrating the use of primitive scorer and filter
+    classes without implementing sensitive detector class.
+  </p></li></ul></div><p>
+</p><h5><a name="id536820"></a>
+Classes
+</h5><p>
+<code class="literal">main()</code> 
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/exampleN07.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <code class="literal">main()</code> for interactive mode and batch mode via macro
+    file
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4RunManager</em></span>
+  </p></li><li><p>
+    construction and deletion of <span class="emphasis"><em>G4VisExective</em></span> and
+    <span class="emphasis"><em>G4UITerminal</em></span>
+  </p></li><li><p>
+    construction and set of mandatory user classes
+  </p></li><li><p>
+    construction and set of <span class="emphasis"><em>ExN07RunAction</em></span>
+  </p></li></ul></div><p>
+</p><h5><a name="id536892"></a>
+ExN07DetectorConstruction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorConstruction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorConstruction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserDetectorConstruction</em></span>
+  </p></li><li><p>
+    definitions of materials and mixtures
+  </p></li><li><p>
+    <span class="emphasis"><em>G4Box</em></span> with <span class="emphasis"><em>G4PVPlacement</em></span> and
+    <span class="emphasis"><em>G4PVReplica</em></span>
+  </p></li><li><p>
+    Dynamic changing of size, position, orientation and number of
+    volumes
+  </p></li><li><p>
+    <span class="emphasis"><em>G4Region</em></span> for each calorimeter tower
+  </p></li><li><p>
+    <span class="emphasis"><em>G4VPrimitiveScorer</em></span> and
+    <span class="emphasis"><em>G4VSDFilter</em></span>
+  </p></li><li><p>
+    visualization
+  </p></li></ul></div><p>
+</p><h5><a name="id536980"></a>
+ExN07DetectorMessenger
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorMessenger.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorMessenger.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4UIMessenger</em></span>
+  </p></li><li><p>
+    definition of example-specific geometry commands
+  </p></li></ul></div><p>
+</p><h5><a name="id537023"></a>
+ExN07PhysicsList
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PhysicsList.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PhysicsList.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VUserPhysicsList</em></span>
+  </p></li><li><p>
+    difine all types of particles
+  </p></li><li><p>
+    define standard EM and decay processes
+  </p></li><li><p>
+    production thresholds for each region
+  </p></li></ul></div><p>
+</p><h5><a name="id537076"></a>
+ExN07PrimaryGeneratorAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4VPrimaryGeneratorAction</em></span>
+  </p></li><li><p>
+    construction of <span class="emphasis"><em>G4ParticleGun</em></span>
+  </p></li><li><p>
+    primary event generation via particle gun
+  </p></li></ul></div><p>
+</p><h5><a name="id537127"></a>
+ExN07RunAction
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07RunAction.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07RunAction.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4UserRunAction</em></span>
+  </p></li><li><p>
+    constructing <span class="emphasis"><em>ExN07Run</em></span> class object
+  </p></li><li><p>
+    print out a run summary with <span class="emphasis"><em>ExN07Run</em></span> class object
+  </p></li></ul></div><p>
+</p><h5><a name="id537182"></a>
+ExN07Run
+</h5><p>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07Run.hh" target="_top">
+(header file)
+</a>
+<a href="http://geant4.web.cern.ch/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07Run.cc" target="_top">
+(source file)
+</a>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    derived from <span class="emphasis"><em>G4Run</em></span>
+  </p></li><li><p>
+    uses <span class="emphasis"><em>G4THitsMap</em></span> template class to accumulate physics
+    quantities
+  </p></li><li><p>
+    extracts event data from <span class="emphasis"><em>G4Event</em></span> and add up to run data
+  </p></li></ul></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch08s10.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch09s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">8.10. 
+Making a Movie
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 9.2. 
+Extended Examples
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09s02.html	(revision 901)
@@ -0,0 +1,496 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>9.2.  Extended Examples</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch09.html" title="Chapter 9.  Examples"><link rel="prev" href="ch09.html" title="Chapter 9.  Examples"><link rel="next" href="ch09s03.html" title="9.3.  Advanced Examples"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.2. 
+Extended Examples
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 9. 
+Examples
+</th><td width="20%" align="right"> <a accesskey="n" href="ch09s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ExmpExt"></a>9.2. 
+Extended Examples
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpExt.Smmry"></a>9.2.1. 
+Extended Example Summary
+</h3></div></div></div><p>
+Geant4 extended examples serve three purposes:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    testing and validation of processes and tracking,
+  </p></li><li><p>
+    demonstration of Geant4 tools, and
+  </p></li><li><p>
+    extending the functionality of Geant4.
+  </p></li></ul></div><p>
+</p><p>
+The code for these examples is maintained as part of the categories
+to which they belong. Links to descriptions of the examples are
+listed below.
+</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Anly"></a>9.2.1.1. 
+Analysis
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/A01/README" target="_top">
+    A01
+    </a>
+    - hit-scoring and histogramming using the AIDA interface
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/AnaEx01/README" target="_top">
+    AnaEx01
+    </a>
+     - histogram and tuple manipulations using an AIDA
+       compliant system
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/analysis/N03Con/README" target="_top">
+    N03Con
+    </a>
+     - modified novice example N03 showing how to use a Convergence Tester
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Elct"></a>9.2.1.2. 
+Electromagnetic
+</h4></div></div></div><p>
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm0/README" target="_top">
+    TestEm0
+    </a>
+    - how to print cross-sections and stopping power used
+      in input by the standard EM package</p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm1/README" target="_top">
+    TestEm1
+    </a>
+    - how to count processes, activate/inactivate them and survey the 
+      range of charged particles. How to define a maximum step size
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm2/README" target="_top">
+    TestEm2
+    </a>
+     - shower development in an homogeneous material :
+       longitudinal and lateral profiles
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm3/README" target="_top">
+    TestEm3
+    </a>
+     - shower development in a sampling calorimeter :
+       collect energy deposited, survey energy flow and print stopping power
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm4/README" target="_top">
+    TestEm4
+    </a>
+     - 9 MeV point like photon source: plot spectrum of
+       energy deposited in a single media
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm5/README" target="_top">
+    TestEm5
+    </a>
+     - how to study transmission, absorption and reflection
+       of particles through a single, thin or thick, layer.
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm6/README" target="_top">
+    TestEm6
+    </a>
+    - physics list for rare, high energy, electromagnetic
+      processes: gamma conversion and e+ annihilation into pair of muons
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm7/README" target="_top">
+    TestEm7
+    </a>
+     - how to produce a Bragg curve in water phantom. How to
+       compute dose in tallies
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm8/README" target="_top">
+    TestEm8
+    </a>
+    - test of photo-absorption-ionisation model in thin
+      absorbers, and transition radiation
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm9/README" target="_top">
+    TestEm9
+    </a>
+    - shower development in a crystal calorimeter;
+      cut-per-region
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm10/README" target="_top">
+    TestEm10
+    </a>
+    - XTR transition radiation model, investigation of
+      ionisation in thin absorbers
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm11/README" target="_top">
+    TestEm11
+    </a>
+    - how to plot a depth dose profile in a rectangular box
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm12/README" target="_top">
+    TestEm12
+    </a>
+    - how to plot a depth dose profile in spherical
+     geometry : point like source
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm13/README" target="_top">
+    TestEm13
+    </a>
+    - how to compute cross sections of EM processes from
+      rate of transmission coefficient
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm14/README" target="_top">
+    TestEm14
+    </a>
+    - how to compute cross sections of EM processes from
+      direct evaluation of the mean-free path. How to plot final state
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm15/README" target="_top">
+    TestEm15
+    </a>
+    - compute and plot final state of Multiple Scattering
+      as an isolated process
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm16/README" target="_top">
+    TestEm16
+    </a>
+    - simulation of synchrotron radiation
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm17/README" target="_top">
+    TestEm17
+    </a>
+    - check the cross sections of high energy muon processes
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm18/README" target="_top">
+    TestEm18
+    </a>
+    - energy lost by a charged particle in a single layer, due to ionization and bremsstrahlung
+  </p></li></ul></div><p>
+</p><p>
+</p><div class="table"><a name="id542618"></a><div class="table-contents"><table summary="
+  TestEm by theme
+" border="1"><colgroup><col align="left"><col align="left"></colgroup><tbody><tr><td colspan="2" align="center">
+      Check basic quantities
+    </td></tr><tr><td align="left">
+      Total cross sections, mean free paths ...
+    </td><td align="left">
+      Em0, Em13, Em14
+    </td></tr><tr><td align="left">
+      Stopping power, particle range ...
+    </td><td align="left">
+      Em0, Em1, Em5, Em11, Em12
+    </td></tr><tr><td align="left">
+      Final state : energy spectra, angular distributions
+    </td><td align="left">
+      Em14
+    </td></tr><tr><td align="left">
+      Energy loss fluctuations
+    </td><td align="left">
+      Em18
+    </td></tr><tr><td colspan="2" align="center">
+      Multiple Coulomb scattering
+    </td></tr><tr><td align="left">
+      as an isolated mechanism
+    </td><td align="left">
+      Em15
+    </td></tr><tr><td align="left">
+      as a result of particle transport
+    </td><td align="left">
+      Em5
+    </td></tr><tr><td colspan="2" align="left">
+      More global verifications
+    </td></tr><tr><td align="left">
+      Single layer: transmission, absorption, reflexion
+    </td><td align="left">
+      Em5
+    </td></tr><tr><td align="left">
+      Bragg curve, tallies
+    </td><td align="left">
+      Em7
+    </td></tr><tr><td align="left">
+      Depth dose distribution
+    </td><td align="left">
+      Em11, Em12
+    </td></tr><tr><td align="left">
+      Shower shapes, Moliere radius
+    </td><td align="left">
+      Em2
+    </td></tr><tr><td align="left">
+      Sampling calorimeters, energy flow
+    </td><td align="left">
+      Em3
+    </td></tr><tr><td align="left">
+      Crystal calorimeters
+    </td><td align="left">
+      Em9
+    </td></tr><tr><td colspan="2" align="center">
+      Other specialized programs
+    </td></tr><tr><td align="left">
+      High energy muon physics
+    </td><td align="left">
+      Em17
+    </td></tr><tr><td align="left">
+      Other rare, high energy processes
+    </td><td align="left">
+      Em6
+    </td></tr><tr><td align="left">
+      Synchrotron radiation
+    </td><td align="left">
+      Em16
+    </td></tr><tr><td align="left">
+      Transition radiation
+    </td><td align="left">
+      Em8
+    </td></tr><tr><td align="left">
+      Photo-absorption-ionization model
+    </td><td align="left">
+      Em10
+    </td></tr></tbody></table></div><p class="title"><b>Table 9.4. 
+  TestEm by theme
+</b></p></div><p><br class="table-break">
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.EvtBias"></a>9.2.1.3. 
+Event Biasing
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/biasing/README" target="_top">
+    General ReadMe
+    </a>
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.EvtGnr"></a>9.2.1.4. 
+Event Generator
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx01/README" target="_top">
+    HepMCEx01
+    </a>
+    - simplified collider detector using HepMC interface and stacking
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx02/README" target="_top">
+    HepMCEx02
+    </a>
+    - connecting primary particles in Geant4 with various
+      event generators using the HepMC interface
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/MCTruth/README" target="_top">
+    MCTruth    
+    </a>
+     - demonstrating a mechanism for Monte Carlo truth handling using 
+       HepMC as the event record
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/exgps/README" target="_top">
+    exgps
+    </a>
+    - illustrating the usage of the
+      <code class="literal">G4GeneralParticleSource</code> utility
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Fld"></a>9.2.1.5. 
+Fields
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/BlineTracer/README" target="_top">
+    BlineTracer    
+    </a>
+    - tracing and visualizing magnetic field lines
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field01/README" target="_top">
+    field01    
+    </a>
+    - tracking using magnetic field and field-dependent processes
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field02/README" target="_top">
+    field02    
+    </a>
+    - tracking using electric field and field-dependent processes
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field03/README" target="_top">
+    field03
+    </a>
+    - tracking in a magnetic field where field associated
+      with selected logical volumes varies
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/field/field04/README" target="_top">
+    field04
+    </a>
+    - definition of overlapping fields either magnetic, electric or both
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.G3G4"></a>9.2.1.6. 
+Geant3 to Geant4
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/g3tog4/README" target="_top">
+    General ReadMe
+    </a>
+    - converting simple geometries in Geant3.21 to their Geant4 equivalents
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.GDML"></a>9.2.1.7. 
+Geometry Definition Markup Language
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/gdml/README" target="_top">
+    General ReadMe
+    </a>
+    - illustrating import and export of a detector geometry with GDML
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Gmt"></a>9.2.1.8. 
+Geometry
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/geometry/README" target="_top">
+    ReadMe
+    </a>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/geometry/olap/README" target="_top">
+    OLAP    
+    </a>
+    - debugging tool for overlapping geometries
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Err"></a>9.2.1.9. 
+Error Propagation
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/errorpropagation/README" target="_top">
+    Geant4E
+    </a>
+    - error propagation utility
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Hadron"></a>9.2.1.10. 
+Hadronic
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr01/README" target="_top">
+    Hadr01
+    </a>
+    - example based on the application IION developed for simulation of
+      proton or ion beam interaction with a water target. Different aspects
+      of beam target interaction are included.
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.MdclApp"></a>9.2.1.11. 
+Medical Applications
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/DICOM/README" target="_top">
+    DICOM
+    </a>
+    - geometry set-up using the Geant4 interface to the DICOM
+      image format
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/GammaTherapy/README" target="_top">
+    GammaTherapy
+    </a>
+    - gamma radiation field formation in water phantom
+      by electron beam hitting different targets
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity/README" target="_top">
+    fanoCavity
+    </a>
+    - dose deposition in an ionization chamber by a monoenergetic photon beam
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity2/README" target="_top">
+    fanoCavity2
+    </a>
+    - dose deposition in an ionization chamber by an extended one-dimensional monoenergetic electron source
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.OptPht"></a>9.2.1.12. 
+Optical Photons
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/optical/README" target="_top">
+    General ReadMe
+    </a>
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/optical/LXe/README" target="_top">
+    LXe
+    </a>
+    - optical photons in a liquid xenon scintillator
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.PrllCmpt"></a>9.2.1.13. 
+Parallel Computing
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/README" target="_top">
+    General ReadMe
+    </a>
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/ExDiane/README" target="_top">
+    ExDiane
+    </a>
+     - example of a medical application run in a distributed
+       environment using the DIANE framework
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/parallel/MPI/README" target="_top">
+    MPI
+    </a>
+     - interface and examples of applications parallelized with
+       different MPI compliant libraries, such as LAM/MPI, MPICH2, OpenMPI, etc.
+  </p></li><li><p>
+    <a href="./Examples.src/parallel.txt" target="_top">
+    ParGeant4
+    </a>
+     - set of examples derived from 'novice' using parallelism at 
+       event level with the TopC application
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Prst"></a>9.2.1.14. 
+Persistency
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/README" target="_top">
+    General ReadMe
+    </a>
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/P01/README" target="_top">
+    P01
+    </a>
+    - storing calorimeter hits using reflection mechanism with Root
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/persistency/P02/README" target="_top">
+    P02
+    </a>
+    - storing detector description using reflection mechanism with Root
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Polar"></a>9.2.1.15. 
+Polarisation
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/polarisation/Pol01/README" target="_top">
+    Pol01
+    </a>
+    - interaction of polarized beam (e.g. circularly polarized
+      photons) with polarized target 
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.RdDcy"></a>9.2.1.16. 
+Radioactive Decay
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/radioactivedecay/exrdm/README" target="_top">
+    General ReadMe
+    </a>
+    - decays of radioactive isotopes as well as induced radioactivity
+      resulted from nuclear interactions
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.RnEvt"></a>9.2.1.17. 
+Run &amp; Event
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE01/README" target="_top">
+    RE01
+    </a>
+    - information between primary particles and hits and usage of
+      user-information classes
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE02/README" target="_top">
+    RE02
+    </a>
+    - simplified fixed target application for demonstration of
+      primitive scorers    
+  </p></li><li><p>
+    <a href="http://cern.ch/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE03/README" target="_top">
+    RE03
+    </a>
+    - use of UI-command based scoring; showing how to create parallel world(s) for defining
+      scoring mesh(es)
+  </p></li></ul></div><p>
+</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sect.ExmpExt.Smmry.Vis"></a>9.2.1.18. 
+Visualization
+</h4></div></div></div><p>
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    Examples of customisation for visualization
+  </p></li></ul></div><p>
+</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch09.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch09.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch09s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 9. 
+Examples
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> 9.3. 
+Advanced Examples
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch09s03.html	(revision 901)
@@ -0,0 +1,182 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>9.3.  Advanced Examples</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch09.html" title="Chapter 9.  Examples"><link rel="prev" href="ch09s02.html" title="9.2.  Extended Examples"><link rel="next" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">9.3. 
+Advanced Examples
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter 9. 
+Examples
+</th><td width="20%" align="right"> <a accesskey="n" href="ch10.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.ExmpAdv"></a>9.3. 
+Advanced Examples
+</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="sect.ExmpAdv.AdvExmp"></a>9.3.1. 
+Advanced Examples
+</h3></div></div></div><p>
+Geant4 advanced examples illustrate realistic applications of
+Geant4 in typical experimental environments. Most of them also show
+the usage of 
+<a href="http://www.ge.infn.it/geant4/examples/analysis.html" target="_top">
+analysis tools 
+</a>
+ (such as histograms, ntuples and plotting), various
+visualization features and advanced user interface facilities,
+together with the simulation core.
+</p><p>
+<span class="bold"><strong>Note</strong></span>: Maintenance and updates of 
+the code is under the responsibility of the authors. These applications 
+are therefore not subject to regular system testing and no guarantee 
+can be provided.
+</p><p>
+The advanced examples include:
+
+</p><div class="itemizedlist"><ul type="disc" compact><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/" target="_top">
+    <span class="bold"><strong>air_shower</strong></span>
+    </a>
+    , a simulation of the ULTRA detector with Fresnel lenses 
+    for UV and charged particles detection in cosmic rays.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/brachytherapy/" target="_top">
+    <span class="bold"><strong>brachytherapy</strong></span>
+    </a>
+    , illustrating a typical medical physics application simulating
+    energy deposit in a Phantom filled with soft tissue.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/hadrontherapy/" target="_top">
+    <span class="bold"><strong>hadrontherapy</strong></span>
+    </a>
+    , illustrating a application simulating an hadron therapy beam line
+    for medical physics.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/human_phantom" target="_top">
+    <span class="bold"><strong>human_phantom</strong></span>
+    </a>
+    , implementing an Anthropomorphic Phantom body built importing the 
+    description from a 
+    <a href="http://cern.ch/gdml" target="_top">GDML</a> representation.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/medical_linac/" target="_top">
+    <span class="bold"><strong>medical_linac</strong></span>
+    </a>
+    , illustrating a typical medical physics application simulating
+    energy deposit in a Phantom filled with water for a typical linac
+    used for intensity modulated radiation therapy. The experimental
+    set-up is very similar to one used in clinical practice.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/microbeam" target="_top">
+    <span class="bold"><strong>microbeam</strong></span>
+    </a>
+    , simulates the cellular irradiation beam line installed on the
+    AIFIRA electrostatic accelerator facility located at CENBG,
+    Bordeaux-Gradignan, France.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/purging_magnet/" target="_top">
+    <span class="bold"><strong>purging_magnet</strong></span>
+    </a>
+    , illustrating an application that simulates electrons traveling
+    through a 3D magnetic field; used in a medical environment for
+    simulating a strong purging magnet in a treatment head.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/~geant4/hep/radmon/" target="_top">
+    <span class="bold"><strong>radiation_monitor</strong></span>
+    </a>
+    , illustrating an application for the study of the effects of a chip
+    carrier on silicon radiation monitoring devices used in the LHC
+    environment.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/radioprotection/" target="_top">
+    <span class="bold"><strong>radioprotection</strong></span>
+    </a>
+    , illustrating an application to evaluate the dose in astronauts, in
+    vehicle concepts and Moon surface habitat configurations, in a
+    defined interplanetary space radiation environment.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/gammaray_telescope/" target="_top">
+    <span class="bold"><strong>gammaray_telescope</strong></span>
+    </a>
+    , illustrating an application to typical gamma ray telescopes with a
+    flexible configuration.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/xray_telescope/" target="_top">
+    <span class="bold"><strong>xray_telescope</strong></span>
+    </a>
+    , illustrating an application for the study of the radiation
+    background in a typical X-ray telescope.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/fluorescence/" target="_top">
+    <span class="bold"><strong>xray_fluorescence</strong></span>
+    </a>
+    , illustrating the emission of X-ray fluorescence and PIXE.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/" target="_top">
+    <span class="bold"><strong>underground_physics</strong></span>
+    </a>
+    , illustrating an underground detector for dark matter searches.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/cosmicray_charging/" target="_top">
+    <span class="bold"><strong>cosmicray_charging</strong></span>
+    </a>
+    , illustrating an application aimed at simulating the electrostatic
+    charging of isolated test masses in the LISA mission by galactic
+    cosmic ray protons and helium nuclei.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/composite_calorimeter/" target="_top">
+    <span class="bold"><strong>composite_calorimeter</strong></span>
+    </a>
+    , test-beam simulation of the CMS Hadron calorimeter at LHC.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/lAr_calorimeter/" target="_top">
+    <span class="bold"><strong>lAr_calorimeter</strong></span>
+    </a>
+    , simulating the Forward Liquid Argon Calorimeter (FCAL) of the ATLAS
+    Detector at LHC.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/raredecay_calorimetry" target="_top">
+    <span class="bold"><strong>raredecay_calorimetry</strong></span>
+    </a>
+    , illustrating how to estimate importance of photonuclear reactions
+    for photon inefficiency of calorimeters and compare effectiveness
+    of different absorbers in order to reduce it.
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/RICH/" target="_top">
+    <span class="bold"><strong>Rich</strong></span>
+    </a>
+    , simulating the TestBeam Setup of the Rich detector at the LHCb
+    experiment, testing the performance of the aerogel radiator
+  </p></li><li><p>
+    <a href="http://www.ge.infn.it/geant4/examples/Tiara/" target="_top">
+    <span class="bold"><strong>Tiara</strong></span>
+    </a>
+    , a simulation of the neutron shielding experiment TIARA providing a
+    realistic example for applying geometrical importance sampling
+  </p></li></ul></div><p>
+</p><p>
+Further documentation about the analysis tools used in these
+examples is available at:
+<a href="http://aida.freehep.org/" target="_top">
+AIDA
+</a>
+(Abstract Interfaces for Data Analysis) and 
+
+<a href="http://lcg-pi.web.cern.ch/lcg-pi/" target="_top">
+AIDA/PI
+</a>
+,
+
+<a href="http://jas.freehep.org/jas3/" target="_top">
+JAS 
+</a>
+
+ and 
+
+<a href="http://openscientist.lal.in2p3.fr/" target="_top">
+OpenScientist
+</a>
+.
+</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch09s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch09.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch10.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">9.2. 
+Extended Examples
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Chapter FAQ. 
+Frequentry Asked Questions
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10.html	(revision 901)
@@ -0,0 +1,99 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter FAQ.  Frequentry Asked Questions</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="prev" href="ch09s03.html" title="9.3.  Advanced Examples"><link rel="next" href="ch10s02.html" title="FAQ.2.  Run Time Problems"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch10s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="chap.FAQ"></a>Chapter FAQ. 
+Frequentry Asked Questions
+</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.Installation"></a>FAQ.1. 
+Installation
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.Installation.UpkTar"></a><a name="id553047"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  When I download the source from the web, and unpack the tar file, 
+  some files unpack into the top level directory.
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  The problem you describe usually is the result of using "UNIX" tar to 
+  unpack the gtar ("GNU-tar") file, or vice versa, or using zip on either 
+  the gtar or tar file. Please make certain that you download the correct 
+  file for your system, and that you use the correct unpacking tool. 
+  Note that for Linux you must download the gtar.gz file.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Installation.NoCLHEP"></a><a name="id553070"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  I cannot find CLHEP files or library and I have it installed in my system.
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  If the standard CLHEP installation procedure has been adopted, the variable 
+  <code class="literal">CLHEP_BASE_DIR</code> should point to the area where 
+  <code class="literal">include/</code> and <code class="literal">lib/</code> directories for 
+  CLHEP headers &amp; library are installed in your system. In case the library 
+  file name is different than the one expected (<code class="literal">libCLHEP.a</code>), 
+  you should either create a symbolic link with the expected name, or define 
+  the variable <code class="literal">CLHEP_LIB</code> in your environment which 
+  explicitly sets the name of the CLHEP library. If a non-standard CLHEP 
+  installation has been adopted, define variables 
+  <code class="literal">CLHEP_INCLUDE_DIR</code>, <code class="literal">CLHEP_LIB_DIR</code> 
+  (and <code class="literal">CLHEP_LIB</code>) to refer explicitly to the place where 
+  headers, library (and library-name) respectively are placed in your system.
+  On Windows systems, the full library file name (with extension) should be 
+  specified as <code class="literal">CLHEP_LIB</code>, while for UNIX-like systems, 
+  just the name is required (i.e. <code class="literal">CLHEP</code> for 
+  <code class="literal">libCLHEP.a</code>).
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Installation.noCERNLib"></a><a name="id553161"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  While installing the Geant4 libraries I get the following message printed:
+
+  </p><div class="informalexample"><pre class="programlisting">
+         gmake[1]: cernlib: Command not found
+  </pre></div><p>
+
+  Has Geant4 been installed properly ? What to do to solve this error ?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  The message:
+  </p><div class="informalexample"><pre class="programlisting">
+         gmake[1]: cernlib: Command not found
+  </pre></div><p>
+
+  shows that you don't have the 'cernlib' command installed in your system; 
+  'cernlib' is a command from the CERN program library (cernlib) returning a 
+  list of libraries needed to link a cernlib application. This command is only 
+  used in the 'g3tog4' module, however, if you do not make use of the 'g3tog4' 
+  tool, it's harmless. The cernlib script (and the needed cernlib libraries) 
+  are available from: http://cern.ch/cernlib.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Installation.FileDepend"></a><a name="id553200"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  Trying building the Geant4 libraries I see several of these errors appearing 
+  and my installation fails:
+  </p><div class="informalexample"><pre class="programlisting">
+         .....G4Exception.d:1: *** missing separator. Stop.
+         ...../G4DalitzDecayChannel.d:1: *** missing separator. Stop.
+           :
+           :
+  </pre></div><p>
+  Has Geant4 been installed properly ? What to do to solve this error ? 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  It looks like some file dependencies (.d) are corrupted, possibly due 
+  to previous build attempts which failed for some reason.
+  You need to remove each of them. A quick recipe for doing this is to:
+  </p><div class="itemizedlist"><ul type="disc" compact><li><p>
+      Configure the environment with the installation to be repaired
+    </p></li><li><p>
+      Unset the G4WORKDIR environment variable (in case it is eventually set)
+    </p></li><li><p>
+      Type:
+      </p><div class="informalexample"><pre class="programlisting">
+        gmake clean dependencies=''
+      </pre></div><p>
+
+      from the affected module (i.e. for this case, from 
+      $G4INSTALL/source/global/management and $G4INSTALL/source/particles/management)
+       and rebuild. Alternatively, you may use:
+      </p><div class="informalexample"><pre class="programlisting">
+        gmake clean dependencies=''
+      </pre></div><p>
+
+      from $G4INSTALL/source and rebuild.
+    </p></li></ul></div><p>
+</p></td></tr></tbody></table></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch09s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch10s02.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">9.3. 
+Advanced Examples
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> FAQ.2. 
+Run Time Problems
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s02.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s02.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s02.html	(revision 901)
@@ -0,0 +1,57 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FAQ.2.  Run Time Problems</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="prev" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="next" href="ch10s03.html" title="FAQ.3.  Geometry"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">FAQ.2. 
+Run Time Problems
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch10s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.RunTimeProb"></a>FAQ.2. 
+Run Time Problems
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.RunTimeProb.SegFltInExmp"></a><a name="id553561"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  On Linux, I get a segmentation fault as soon as I run one of the official 
+  examples.
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Check that the CLHEP library has been installed and compiled coherently 
+  with the same compiler you use for installing Geant4 and for the same 
+  version of Linux distribution. For example, a binary object produced with 
+  Red-Hat 7.X is not fully compatible with binaries running on RH 9.X or 
+  higher, due to different libc used in the two configurations.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.RunTimeProb.ErrShareLib"></a><a name="id553584"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  I installed Geant4 libraries and built my application, when I try to run 
+  it I get:
+  </p><div class="informalexample"><pre class="programlisting">
+         error in loading shared libraries:
+         libCLHEP.so: cannot open shared object file:
+         No such file or directory.
+  </pre></div><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Your installation of CLHEP includes shared libraries. You need to specify 
+  the path where libCLHEP.so is installed through your environment variable 
+  <code class="literal">LD_LIBRARY_PATH</code>. For example, in tcsh UNIX shell:
+  </p><div class="informalexample"><pre class="programlisting">
+       setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$CLHEP_BASE_DIR/lib
+  </pre></div><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.RunTimeProb.errFPE"></a><a name="id553626"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  On my system I get a Floating Point Exception (FPE) since some physics 
+  processes sometimes return <code class="literal">DBL_MAX</code> as interaction 
+  length  and this number is afterwards multiplied by a number greater 
+  than 1.
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Geant4 coding conventions and installation setup explicitly follow the 
+  ANSI/IEEE-754 Standard for the initialization of floating-point 
+  arithmetic hardware and portability. The Standard foresees floating-point 
+  arithmetic to be nonstop and underflows to be gradual. On DEC platforms, 
+  for example, the ANSI/IEEE-754 Standard compliance needs to be explicitly 
+  set (since deactivated by default); in this case we use infact the option 
+  "-ieee" on the DEC/cxx native C++ compiler to achieve this. You should 
+  check if your compiler provides compilation options for activating Standard 
+   initialization of FP arithmetic (it may be platform specific).
+</p></td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch10s03.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Chapter FAQ. 
+Frequentry Asked Questions
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> FAQ.3. 
+Geometry
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s03.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s03.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s03.html	(revision 901)
@@ -0,0 +1,94 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FAQ.3.  Geometry</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="prev" href="ch10s02.html" title="FAQ.2.  Run Time Problems"><link rel="next" href="ch10s04.html" title="FAQ.4.  Tracks and steps"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">FAQ.3. 
+Geometry
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch10s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.Geometry"></a>FAQ.3. 
+Geometry
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.Geometry.GenPnt"></a><a name="id553829"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  I have a generic point and I would like to know in which physical 
+  volume I'm located in my detector geometry. 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  The best way of doing this is by invoking the G4Navigator. First 
+  get a pointer of the navigator through the G4TransportationManager, 
+  and then locate the point. i.e.
+  </p><div class="informalexample"><pre class="programlisting">
+     #include "G4TransportationManager.hh" 
+     #include "G4Navigator.hh" 
+     G4ThreeVector myPoint = ....;
+     G4Navigator* theNavigator = G4TransportationManager::GetTransportationManager()
+                                 -&gt;GetNavigatorForTracking();
+     G4VPhysicalVolume* myVolume = theNavigator-&gt;LocateGlobalPointAndSetup(myPoint); 
+  </pre></div><p>
+
+  </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+    by using the navigator for tracking as shown above, the actual 
+    particle gets also -relocated- in the specified position. Therefore, 
+    if this information is needed during tracking time, in order to 
+    avoid affecting tracking, you should either use an alternative 
+    G4Navigator object (which you then assign to your world-volume), 
+    or you access the information through the track or touchable as 
+    specified in the FAQ for tracking and steps.
+  </p></div><p> 
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Geometry.DghtVol"></a><a name="id553875"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  How can I access the daughter volumes of a specific physical volume? 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Through the associated logical volume.
+  </p><div class="informalexample"><pre class="programlisting">
+      G4VPhysicalVolume* myPVolume = ....; 
+      G4LogicalVolume* myLVolume = myPVolume-&gt;GetLogicalVolume(); 
+      for (G4int i=0; iGetNoDaughters(); i++)  
+        myPVolume = myLVolume-&gt;GetDaughter(i); 
+  </pre></div><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Geometry.CpyNum"></a><a name="id553906"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  How can I identify the exact copy-number of a specific physical volume 
+  in my mass geometry? I tried with GetCopyNo()  from my physical volume 
+  pointer, but it doesn't seem to work! 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  The correct way to identify -uniquely- a physical volume in your mass 
+  geometry is by using the touchables (see also section 4.1.5 of the 
+  User's Guide for Application Developers), as follows:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep-&gt;GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint-&gt;GetTouchableHandle();
+      G4int copyNo = theTouchable-&gt;GetCopyNumber();
+      G4int motherCopyNo = theTouchable-&gt;GetCopyNumber(1);
+  </pre></div><p>
+
+  where <code class="literal">Copy</code> here stays for any duplicated instance of 
+  a physical volume, either if it is a <code class="literal">G4PVPlacement</code> 
+  (multiple placements of the same logical volume) or a 
+  <code class="literal">G4PVReplica/G4PVParameterised</code>.
+  The method <code class="literal">GetCopyNo()</code> is meant to return only the 
+  serial number of placements not duplicated in the geometry tree.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.Geometry.ConvGtoL"></a><a name="id553963"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  How can I determine the exact position in global coordinates in my mass 
+  geometry during tracking and how can I convert it to coordinates local 
+  to the current volume ? 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  You need again to do it through the touchables (see also section 4.1.5 
+  of the User's Guide for Application Developers), as follows:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep-&gt;GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint-&gt;GetTouchableHandle();
+      G4ThreeVector worldPosition = preStepPoint-&gt;GetPosition();
+      G4ThreeVector localPosition = theTouchable-&gt;GetHistory()-&gt;
+                                    GetTopTransform().TransformPoint(worldPosition);
+  </pre></div><p>
+
+  where <code class="literal">worldPosition</code> here stays for the position related 
+  to the world volume, while <code class="literal">localPosition</code> refers to the 
+  coordinates local to the volume where the particle is currently placed.
+</p></td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10s02.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch10s04.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">FAQ.2. 
+Run Time Problems
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> FAQ.4. 
+Tracks and steps
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s04.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s04.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s04.html	(revision 901)
@@ -0,0 +1,187 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FAQ.4.  Tracks and steps</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="prev" href="ch10s03.html" title="FAQ.3.  Geometry"><link rel="next" href="ch10s05.html" title="FAQ.5.  Physics and cuts"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">FAQ.4. 
+Tracks and steps
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch10s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.TrackSteps"></a>FAQ.4. 
+Tracks and steps
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.TrackSteps.AccssTrkInfo"></a><a name="id553775"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  How can I access the track information through the step object and 
+  what information am I allowed to access ?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  </p><p>
+  A <code class="literal">G4Step</code> object consists of two points:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4StepPoint* point1 = step-&gt;GetPreStepPoint();
+      G4StepPoint* point2 = step-&gt;GetPostStepPoint();
+  </pre></div><p>
+  </p><p>
+
+  </p><p>
+  To get their positions in the global coordinate system:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4ThreeVector pos1 = point1-&gt;GetPosition();
+      G4ThreeVector pos2 = point2-&gt;GetPosition();
+  </pre></div><p>
+  </p><p>
+
+  </p><p>
+  Hereafter we call current volume the volume where the step has just 
+  gone through. Geometrical informations are available from 
+  <code class="literal">preStepPoint</code>.
+  <code class="literal">G4VTouchable</code> and its derivates keep these geometrical 
+  informations. We retrieve a touchable by creating a handle for it:
+
+  </p><div class="informalexample"><pre class="programlisting">
+      G4TouchableHandle touch1 = point1-&gt;GetTouchableHandle();
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To get the current volume:
+  </p><div class="informalexample"><pre class="programlisting">
+       G4VPhysicalVolume* volume = touch1-&gt;GetVolume();
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To get its name:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4String name = volume-&gt;GetName();
+  </pre></div><p>  
+  </p><p>
+
+
+  </p><p>
+  To get the physical volume copy number:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4int copyNumber = touch1-&gt;GetCopyNumber();
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To get logical volume:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4LogicalVolume* lVolume = volume-&gt;GetLogicalVolume();
+  </pre></div><p>  
+  </p><p>
+
+
+  </p><p>
+  To get the associated material: the following statements are equivalent:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4Material* material = point1  -&gt;GetMaterial();
+      G4Material* material = lVolume -&gt;GetMaterial();
+  </pre></div><p>  
+  </p><p>
+
+
+  </p><p>
+  To get the geometrical region:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4Region* region = lVolume-&gt;GetRegion();
+  </pre></div><p>  
+  </p><p>
+
+
+  </p><p>
+  To get its mother volume:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4VPhysicalVolume* mother = touch1-&gt;GetVolume(depth=1);
+      grandMother: depth=2 ...etc...
+  </pre></div><p>  
+  </p><p>
+
+
+  </p><p>
+  To get the copy number of the mother volume:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4int copyNumber = touch1-&gt;GetCopyNumber(depth=1);
+      grandMother: depth=2 ...etc...
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To get the process which has limited the current step:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4VProcess* aProcess = point2-&gt;GetProcessDefinedStep();
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To check that the particle has just entered in the current volume 
+  (i.e. it is at the first step in the volume; the 
+  <code class="literal">preStepPoint</code> is at the boundary):
+
+  </p><div class="informalexample"><pre class="programlisting">
+      if (point1-&gt;GetStepStatus() == fGeomBoundary) 
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To check that the particle is leaving the current volume 
+  (i.e. it is at the last step in the volume; the 
+  <code class="literal">postStepPoint</code> is at the boundary):
+
+  </p><div class="informalexample"><pre class="programlisting">
+      if (point2-&gt;GetStepStatus() == fGeomBoundary)
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  In the above situation, to get touchable of the next volume:
+
+  </p><div class="informalexample"><pre class="programlisting">
+      G4TouchableHandle touch2 = point2-&gt;GetTouchableHandle();
+  </pre></div><p>  
+
+  From <code class="literal">touch2</code>, all informations on the next 
+  volume can be retrieved as above.
+  </p><p>
+
+  </p><p>
+  Physics quantities are available from the step 
+  (<code class="literal">G4Step</code>) or from the track (<code class="literal">G4Track</code>).
+  </p><p>
+
+  </p><p>
+  To get the energy deposition, step length, displacement and time 
+  of flight spent by the current step:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4double eDeposit      = step-&gt;GetTotalEnergyDeposit();
+      G4double sLength       = step-&gt;GetStepLength();
+      G4ThreeVector displace = step-&gt;GetDeltaPosition();
+      G4double tof           = step-&gt;GetDeltaTime();
+  </pre></div><p>  
+  </p><p>
+
+  </p><p>
+  To get momentum, kinetic energy and global time (time since the 
+  beginning of the event) of the track after the completion of the 
+  current step:
+  </p><div class="informalexample"><pre class="programlisting">
+      G4Track* track         = step-&gt;GetTrack();
+      G4ThreeVector momentum = track-&gt;GetMomentum();
+      G4double kinEnergy     = track-&gt;GetKineticEnergy();
+      G4double globalTime    = track-&gt;GetGlobalTime();
+      ...etc...
+  </pre></div><p>  
+
+    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Remark</h3><p>
+      To transform a position from the global coordinate system to the 
+      local system of the current volume, use the 
+      <code class="literal">preStepPoint</code> transformation, as described in the 
+      <a href="ch10s03.html#qanda.Geometry.ConvGtoL">geometry section</a> above.
+    </p></div><p>
+  </p><p>
+</p></td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10s03.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch10s05.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">FAQ.3. 
+Geometry
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> FAQ.5. 
+Physics and cuts
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s05.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s05.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s05.html	(revision 901)
@@ -0,0 +1,41 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FAQ.5.  Physics and cuts</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="prev" href="ch10s04.html" title="FAQ.4.  Tracks and steps"><link rel="next" href="ch10s06.html" title="FAQ.6.  Visualization"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">FAQ.5. 
+Physics and cuts
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch10s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.PhysicsCuts"></a>FAQ.5. 
+Physics and cuts
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.PhysicsCuts.HowProdCuts"></a><a name="id554957"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  How do production cuts (in range) work in Geant4 ? Are they also used 
+  in tracking ? If a particle has an energy lower than the converted cut 
+  in energy for the given material and the distance to the next boundary 
+  is smaller than the cut in range, is the particle killed ? 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Geant4 does <span class="bold"><strong>NOT</strong></span> have a "tracking cut". 
+  The toolkit's default behaviour is to track particles down to zero range 
+  (i.e. zero energy). Of course, it is possible for the user to create and 
+  register a process that kills particles below a certain energy or range; 
+  this is however <span class="bold"><strong>NOT</strong></span> provided by default 
+  in Geant4. So there's <span class="bold"><strong>NO</strong></span> "tracking cut".
+  For example, suppose a particle that is nearing zero energy will at some 
+  point be proposed by its Ionisation process to undergo one final step, 
+  from its current energy down to zero energy. This is still only a 
+  proposal. If during this step the particle crosses a boundary, then the 
+  transportation will limit the step at a length smaller than the 
+  Ionisation -- so the particle will still see and cross the relevant 
+  boundary, and another step will occur on the other side of that boundary.
+  In summary the "production threshold" range and its equivalent in energy 
+  are not utilised as a "tracking cut". A particle is not abandoned by 
+  Geant4 below a certain range/energy unless the user registers a process 
+  to do this by him/her-self.
+</p></td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10s04.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch10s06.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">FAQ.4. 
+Tracks and steps
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> FAQ.6. 
+Visualization
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s06.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s06.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s06.html	(revision 901)
@@ -0,0 +1,47 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FAQ.6.  Visualization</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="prev" href="ch10s05.html" title="FAQ.5.  Physics and cuts"><link rel="next" href="ch10s07.html" title="FAQ.7.  User Support Policy"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">FAQ.6. 
+Visualization
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th><td width="20%" align="right"> <a accesskey="n" href="ch10s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.Vis"></a>FAQ.6. 
+Visualization
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.Vis.NoVisAppr"></a><a name="id554913"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  I have set G4VIS... environmental variables but visualization does not 
+  appear to be enabled. 
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  This might be because you set the environment variables *after* already 
+  compiling. The environment variables control C-pre-processor macros of 
+  the same name and therefore influence what code gets compiled. It is 
+  suggested to proceed with the following manual procedure to correct the 
+  current installation:
+
+  </p><div class="itemizedlist"><code class="literal">G4VIS_BUILD_[name]_DRIVER</code><code class="literal">G4VIS_USE_[name]</code><div class="informalexample"><pre class="programlisting">
+      cd $G4INSTALL/source/visualization
+      gmake clean
+      gmake
+      cd $G4INSTALL/source/interfaces
+      gmake clean
+      gmake
+      cd $G4INSTALL/source
+      gmake libmap
+      setenv G4WORKDIR [your working directory]   (or export)
+      cd [your application directory]
+      gmake clean
+      gmake
+      </pre></div><ul type="disc" compact><li><p>
+      Configure the environment according to the installation making sure 
+      to -unset- the <code class="literal">G4WORKDIR</code> environment variable, 
+      if set.
+    </p></li></ul></div><p>
+
+</p></td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10s05.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="ch10s07.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">FAQ.5. 
+Physics and cuts
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> FAQ.7. 
+User Support Policy
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s07.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s07.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch10s07.html	(revision 901)
@@ -0,0 +1,76 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FAQ.7.  User Support Policy</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="up" href="ch10.html" title="Chapter FAQ.  Frequentry Asked Questions"><link rel="prev" href="ch10s06.html" title="FAQ.6.  Visualization"><link rel="next" href="apa.html" title="Appendix .  Appendix"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">FAQ.7. 
+User Support Policy
+</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch10s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><th width="60%" align="center">Chapter FAQ. 
+Frequentry Asked Questions
+</th><td width="20%" align="right"> <a accesskey="n" href="apa.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qanda.UserSupPolicy"></a>FAQ.7. 
+User Support Policy
+</h2></div></div></div><div class="qandaset"><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="qanda.UserSupPolicy.FirstAid"></a><a name="id554887"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  If I need to discuss technical matters specific to my simulation 
+  application or ask for first-aid help, who can I contact?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Every institute and experiment participating in Geant4 has a G4 
+  Technical Steering Board (TSB) representative who may be contacted 
+  for help with problems relating to simulations. Please contact 
+  the TSB representative closest to your project or to your 
+  laboratory. To find out who your TSB representative is go to 
+  <a href="http://geant4.web.cern.ch/geant4/" target="_top">
+  G4 Technical Board</a>. You may also post your question in the 
+  <a href="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index" target="_top">  
+  Geant4 HyperNews Forum</a>.
+
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.UserSupPolicy.FindBug"></a><a name="id555362"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  If I find a bug or other problem with the code, who should be informed?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+   A WWW interface, available at 
+   <a href="http://cern.ch/geant4/problemreport/" target="_top">
+   Problem tracking system</a>, will forward the bug report to the 
+   person responsible for the affected Geant4 domain. The Geant4 web makes 
+   available a database of open incident reports, tagging the ones already 
+   fixed and showing their status. An acknowledgement of the bug report 
+   will be sent.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.UserSupPolicy.PropFix"></a><a name="id555391"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  If I propose a fix, who is responsible for approving it?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  The responsible person is the working group coordinator of the domain in 
+  which the fix is to be applied. This person is usually also a TSB member. 
+  If the fix affects more than one domain, the matter will be addressed by 
+  the TSB.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.UserSupPolicy.PropImprv"></a><a name="id555412"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  To whom should I send a proposal for an improvement in Geant4 
+  functionality?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Any new requirement should be submitted via the automatic web system. 
+  It will be discussed at the Geant4 TSB. You may also ask your TSB 
+  representative to forward your requirement to the TSB. A new requirement 
+  will trigger a cycle of analysis, design, implementation, testing and 
+  documentation, which may involve different working groups. Any new 
+  software or enhancement which will become a part of Geant4 must be 
+  agreed upon by the TSB, which is charged with ensuring the consistency 
+  of the entire toolkit.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.UserSupPolicy.RegMeet"></a><a name="id555436"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  Is there a regular user meeting which I should attend?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  There is only one Geant4 workshop per year. However, many experiments and 
+  institutes in the Geant4 collaboration organize their own regular and/or 
+  special Geant4 user workshops.
+</p></td></tr><tr class="question"><td align="left" valign="top"><a name="qanda.UserSupPolicy.PrtcProb"></a><a name="id555457"></a><b>Q:</b></td><td align="left" valign="top"><p>
+  Where can I find solutions to particular problems as well as general user 
+  support?
+</p></td></tr><tr class="answer"><td align="left" valign="top"><b>A:</b></td><td align="left" valign="top"><p>
+  Solutions and tips for solving practical problems can be found on the 
+  current FAQ page. General and specific user support information is 
+  available at the 
+  <a href="http://geant4.web.cern.ch/geant4/support/index.shtml" target="_top">
+  User Support</a> page.
+</p></td></tr></tbody></table></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch10s06.html"><img src="AllResources/IconsGIF/prev.gif" alt="Prev"></a> </td><td width="20%" align="center"><a accesskey="u" href="ch10.html"><img src="AllResources/IconsGIF/up.gif" alt="Up"></a></td><td width="40%" align="right"> <a accesskey="n" href="apa.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">FAQ.6. 
+Visualization
+ </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="AllResources/IconsGIF/home.gif" alt="Home"></a></td><td width="40%" align="right" valign="top"> Appendix . 
+Appendix
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html	(revision 901)
@@ -0,0 +1,670 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Geant4 User's Guide for Application Developers</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Application Developers"><link rel="next" href="ch01.html" title="Chapter 1.  Introduction"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
+  Geant4 User's Guide for Application Developers
+  </th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div text-align="center"><h1 class="title"><a name="geant4_users_guide_for_application_developers"></a>
+  Geant4 User's Guide for Application Developers
+  </h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname">Geant4 Collaboration</span></h3></div></div></div><div text-align="center"><p class="releaseinfo">Version: geant4 9.1</p></div><div><p class="pubdate">14 December, 2007</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. 
+Introduction
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#sect.scope">1.1. 
+Scope of this manual
+</a></span></dt><dt><span class="sect1"><a href="ch01s02.html">1.2. 
+How to use this manual
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. 
+Getting Started with Geant4 - Running a Simple Example
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#sect.HowToDefMain">2.1. 
+How to Define the main() Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02.html#sect.HowToDefMain.SimpleMainMethod">2.1.1. 
+A Sample <code class="literal">main()</code> Method
+</a></span></dt><dt><span class="sect2"><a href="ch02.html#sect.HowToDefMain.G4RunManager">2.1.2. 
+<span class="emphasis"><em>G4RunManager</em></span>
+</a></span></dt><dt><span class="sect2"><a href="ch02.html#sect.HowToDefMain.UserInitAction">2.1.3. 
+User Initialization and Action Classes
+</a></span></dt><dt><span class="sect2"><a href="ch02.html#sect.HowToDefMain.G4UImanagerUICommand">2.1.4. 
+<span class="emphasis"><em>G4UImanager</em></span> and UI CommandSubmission
+</a></span></dt><dt><span class="sect2"><a href="ch02.html#sect.HowToDefMain.G4coutG4cerr">2.1.5. 
+<span class="emphasis"><em>G4cout</em></span> and <span class="emphasis"><em>G4cerr</em></span>
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s02.html">2.2. 
+How to Define a Detector Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.BasicConcepts">2.2.1. 
+Basic Concepts
+</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.CreateSimpleVol">2.2.2. 
+Create a Simple Volume
+</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.ChooseSolid">2.2.3. Choose a Solid
+</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.CreateLogicalVol">2.2.4. 
+Create a Logical Volume
+</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.PlaceVolume">2.2.5. 
+Place a Volume
+</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.CreatePhysicalVol">2.2.6. Create a Physical Volume</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.HowToDefDetectorGeom.CoordinateRotations">2.2.7. 
+Coordinate Systems and Rotations
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. 
+How to Specify Materials in the Detector
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#sect.HowToSpecMate.GeneCons">2.3.1. 
+General Considerations
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.HowToSpecMate.DefSimpleMate">2.3.2. 
+Define a Simple Material
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.HowToSpecMate.DefineMolecule">2.3.3. 
+Define a Molecule
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.HowToSpecMate.DefMixtureByFractionalMass">2.3.4. 
+Define a Mixture by Fractional Mass
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.HowToSpecMate.DefMateFromDatabase">2.3.5. 
+Define a Material from the Geant4 Material Database
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.HowToSpecMate.PrintMateInfo">2.3.6. 
+Print Material Information
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. 
+How to Specify Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#sect.HowToSpecParti.PartiDef">2.4.1. 
+Particle Definition
+</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#sect.HowToSpecParti.RangeCuts">2.4.2. 
+Range Cuts
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. 
+How to Specify Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#sect.HowToSpecPhysProc.PhysProc">2.5.1. 
+Physics Processes
+</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#sect.HowToSpecPhysProc.ManagingProc">2.5.2. 
+Managing Processes
+</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#sect.HowToSpecPhysProc.SpecPhysProc">2.5.3. 
+Specifying Physics Processes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. 
+How to Generate a Primary Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#sect.HowToGenEvent.GenPrimary">2.6.1. 
+Generating Primary Events
+</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#sect.HowToGenEvent.G4VPrimGen">2.6.2. 
+G4VPrimaryGenerator
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. 
+How to Make an Executable Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#sect.HowToMakeExec.UNIX">2.7.1. 
+Building ExampleN01 in a UNIX Environment
+</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#sect.HowToMakeExec.Windows">2.7.2. 
+Building ExampleN01 in a Windows Environment
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. 
+How to Set Up an Interactive Session
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#sect.HowToSetUpInter.Intro">2.8.1. 
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#sect.HowToSetUpInter.DescInter">2.8.2. 
+A Short Description of Available Interface Classes
+</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#sect.HowToSetUpInter.BuildLib">2.8.3. 
+Building the Interface Libraries
+</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#sect.HowToSetUpInter.HowToUseInter">2.8.4. 
+How to Use the Interface
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. 
+How to Execute a Program
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#sect.HowToExec.Intro">2.9.1. 
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#sect.HowToExec.HardCodedBatch">2.9.2. 
+'Hard-coded' Batch Mode
+</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#sect.HowToExec.BatchMacro">2.9.3. 
+Batch Mode with Macro File
+</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#sect.HowToExec.InteractiveMode">2.9.4. 
+Interactive Mode Driven by Command Lines
+</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#sect.HowToExec.GeneralCase">2.9.5. 
+General Case
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. 
+How to Visualize the Detector and Events
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#sect.HowToVis.Intro">2.10.1. 
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#sect.HowToVis.VisDrivers">2.10.2. 
+Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#sect.HowToVis.IncorpVisDrivers">2.10.3. 
+How to Incorporate Visualization Drivers into an Executable
+</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#sect.HowToVis.WritingMain">2.10.4. 
+Writing the <code class="literal">main()</code> Method to Include Visualization
+</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#sect.HowToVis.SampleVis">2.10.5. 
+Sample Visualization Sessions
+</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#sect.HowToVis.MoreInfo">2.10.6. 
+For More Information on Geant4 Visualization
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3. 
+Toolkit Fundamentals
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#sect.ClassCate">3.1. 
+Class Categories and Domains
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#sect.ClassCate.WhatIsClassCate">3.1.1. 
+What is a class category?
+</a></span></dt><dt><span class="sect2"><a href="ch03.html#sect.ClassCate.ClassCateInGeant4">3.1.2. 
+Class categories in Geant4
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. 
+Global Usage Classes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#sect.GlobClass.SignClass">3.2.1. 
+Signature of Geant4 classes
+</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#sect.GlobClass.HEPRandom">3.2.2. 
+The <span class="emphasis"><em>HEPRandom</em></span> module in CLHEP
+</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#sect.HEPNumerics">3.2.3. 
+The <span class="emphasis"><em>HEPNumerics</em></span> module
+</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#sect.GeneManage">3.2.4. 
+General management classes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. 
+System of units
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#sect.SysUni.BasicUni">3.3.1. 
+Basic units
+</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#sect.SysUni.InputData">3.3.2. 
+Input your data
+</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#sect.SysUni.OutputData">3.3.3. 
+Output your data
+</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#sect.SysUni.IntroNewUnits">3.3.4. 
+Introduce new units
+</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#sect.SysUni.PrintUnits">3.3.5. 
+Print the list of units
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s04.html">3.4. 
+Run
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#sect.Run.Basic">3.4.1. 
+Basic concept of <span class="emphasis"><em>Run</em></span>
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.Run.StateMac">3.4.2. 
+Geant4 as a state machine
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.Run.UserHook">3.4.3. 
+User's hook for state change
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.Run.Custom">3.4.4. 
+Customizing the Run Manager
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. 
+Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s05.html#sect.Event.Represent">3.5.1. 
+Representation of an event
+</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#sect.Event.Struct">3.5.2. 
+Structure of an event
+</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#sect.Event.ManEvtMan">3.5.3. 
+Mandates of <span class="emphasis"><em>G4EventManager</em></span>
+</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#sect.Event.Stack">3.5.4. 
+Stacking mechanism
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s06.html">3.6. 
+Event Generator Interface
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s06.html#sect.EventGen.StructPriEvt">3.6.1. 
+Structure of a primary event
+</a></span></dt><dt><span class="sect2"><a href="ch03s06.html#sect.EventGen.InterPriGen">3.6.2. 
+Interface to a primary generator
+</a></span></dt><dt><span class="sect2"><a href="ch03s06.html#sect.EventGen.EvtOverlap">3.6.3. 
+Event overlap using multiple generators
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s07.html">3.7. 
+Event Biasing Techniques
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s07.html#sect.EvtBias.ScorImpRoul">3.7.1. 
+Scoring, Geometrical Importance Sampling and Weight Roulette
+</a></span></dt><dt><span class="sect2"><a href="ch03s07.html#sect.EvtBias.PhysBias">3.7.2. 
+Physics Based Biasing
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. 
+Detector Definition and Response
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#sect.Geom">4.1. 
+Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#sect.Geom.Intro">4.1.1. 
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Solids">4.1.2. 
+Solids
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.LogVol">4.1.3. 
+Logical Volumes
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.PhysVol">4.1.4. 
+Physical Volumes
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Touch">4.1.5. 
+Touchables: Uniquely Identifying a Volume
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Assemb">4.1.6. 
+Creating an Assembly of Volumes
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Reflec">4.1.7. 
+Reflecting Hierarchies of Volumes
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Navig">4.1.8. 
+The Geometry Navigator
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Edit">4.1.9. 
+A Simple Geometry Editor
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.ConvGeom">4.1.10. 
+Converting Geometries from Geant3.21
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Overlap">4.1.11. 
+Detecting Overlapping Volumes
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Dyna">4.1.12. 
+Dynamic Geometry Setups
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.GDML">4.1.13. 
+Importing XML Models Using GDML
+</a></span></dt><dt><span class="sect2"><a href="ch04.html#sect.Geom.Persistency">4.1.14. 
+Saving geometry tree objects in binary format
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. 
+Material
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#sect.Mate.GenCons">4.2.1. 
+General considerations
+</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#sect.Mate.Intro">4.2.2. 
+Introduction to the Classes
+</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#sect.Mate.Recep">4.2.3. 
+Recipes for Building Elements and Materials
+</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#sect.Mate.Tables">4.2.4. 
+The Tables
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. 
+Electromagnetic Field
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#sect.EMField.Overview">4.3.1. 
+An Overview of Propagation in a Field
+</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#sect.EMField.Pract">4.3.2. 
+Practical Aspects
+</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#sect.EMField.Spin">4.3.3. 
+Spin Tracking
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. 
+Hits
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.Hit">4.4.1. 
+Hit
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.SensDet">4.4.2. 
+Sensitive detector
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.ReadGeom">4.4.3. 
+Readout geometry
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.G4SDMan">4.4.4. 
+G4SDManager
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.G4Multi">4.4.5. 
+<span class="emphasis"><em>G4MultiFunctionalDetector</em></span> and
+<span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.G4VPrim">4.4.6. 
+Concrete classes of <span class="emphasis"><em>G4VPrimitiveScorer</em></span>
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.Hits.G4VSDFil">4.4.7. 
+<span class="emphasis"><em>G4VSDFilter</em></span> and its derived classes
+</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#sect.EvtBias.ScorImpRoul.Scor">4.4.8. 
+Scoring for Event Biasing
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. 
+Digitization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#sect.Digi.Digi">4.5.1. 
+Digi
+</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#sect.Digi.DigMod">4.5.2. 
+Digitizer module
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s06.html">4.6. 
+Object Persistency
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s06.html#sect.ObjPers.PersG4">4.6.1. 
+Persistency in Geant4
+</a></span></dt><dt><span class="sect2"><a href="ch04s06.html#sect.ObjPers.Reflex">4.6.2. 
+Using Reflex for persistency of Geant4 objects
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s07.html">4.7. 
+Parallel Geometries
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s07.html#sect.ParaGeom.ParaWrld">4.7.1. 
+A parallel world
+</a></span></dt><dt><span class="sect2"><a href="ch04s07.html#sect.ParaGeom.DefParaWrld">4.7.2. 
+Defining a parallel world
+</a></span></dt><dt><span class="sect2"><a href="ch04s07.html#sect.ParaGeom.SenstivParaWrld">4.7.3. 
+Detector sensitivity in a parallel world
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s08.html">4.8. 
+Command-based scoring
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s08.html#sect.CommandScore.Intro">4.8.1. 
+Command-based scoring
+</a></span></dt><dt><span class="sect2"><a href="ch04s08.html#sect.CommandScore.Mesh">4.8.2. 
+Defining a scoring mesh
+</a></span></dt><dt><span class="sect2"><a href="ch04s08.html#sect.CommandScore.Draw">4.8.3. 
+Drawing scores
+</a></span></dt><dt><span class="sect2"><a href="ch04s08.html#sect.CommandScore.Dump">4.8.4. 
+Writing scores to a file
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch05.html">5. 
+Tracking and Physics
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch05.html#sect.Track">5.1. 
+Tracking
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05.html#sect.Track.Basic">5.1.1. 
+Basic Concepts
+</a></span></dt><dt><span class="sect2"><a href="ch05.html#sect.Track.AccInfo">5.1.2. 
+Access to Track and Step Information
+</a></span></dt><dt><span class="sect2"><a href="ch05.html#sect.Track.SecPar">5.1.3. 
+Handling of Secondary Particles
+</a></span></dt><dt><span class="sect2"><a href="ch05.html#sect.Track.UserAct">5.1.4. 
+User Actions
+</a></span></dt><dt><span class="sect2"><a href="ch05.html#sect.Track.Verb">5.1.5. 
+Verbose Outputs
+</a></span></dt><dt><span class="sect2"><a href="ch05.html#sect.Track.Traj">5.1.6. 
+Trajectory and Trajectory Point
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s02.html">5.2. 
+Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.EleMag">5.2.1. 
+Electromagnetic Interactions
+</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.Had">5.2.2. 
+Hadronic Interactions
+</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.Decay">5.2.3. 
+Particle Decay Process
+</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.PhotoHad">5.2.4. 
+Photolepton-hadron Processes
+</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.Photo">5.2.5. 
+Optical Photon Processes
+</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.Param">5.2.6. 
+Parameterization
+</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#sect.PhysProc.Trans">5.2.7. 
+Transportation Process
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s03.html">5.3. 
+Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s03.html#sect.Parti.Basic">5.3.1. 
+Basic concepts
+</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#sect.Parti.Def">5.3.2. 
+Definition of a particle
+</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#sect.Parti.Dynam">5.3.3. 
+Dynamic particle
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s04.html">5.4. 
+Production Threshold versus Tracking Cut
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.Gen">5.4.1. 
+General considerations
+</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.Set">5.4.2. 
+Set production threshold (<code class="literal">SetCut</code> methods)
+</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.Apply">5.4.3. 
+Apply cut
+</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.WhyProd">5.4.4. 
+Why produce secondaries below threshold?
+</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.RangOrEner">5.4.5. 
+Cuts in stopping range or in energy?
+</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.Sum">5.4.6. 
+Summary
+</a></span></dt><dt><span class="sect2"><a href="ch05s04.html#sect.ProThres.Spe">5.4.7. 
+Special tracking cuts
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s05.html">5.5. 
+Cuts per Region
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s05.html#sect.CutReg.Gene">5.5.1. 
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#sect.CutReg.DefReg">5.5.2. 
+Default Region
+</a></span></dt><dt><span class="sect2"><a href="ch05s05.html#sect.CutReg.Assig">5.5.3. 
+Assigning Production Cuts to a Region
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s06.html">5.6. 
+Physics Table
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s06.html#sect.PhysTab.Gene">5.6.1. 
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="ch05s06.html#sect.PhysTab.MateCoup">5.6.2. 
+Material-Cuts Couple
+</a></span></dt><dt><span class="sect2"><a href="ch05s06.html#sect.PhysTab.Fio">5.6.3. 
+File I/O for the Physics Table
+</a></span></dt><dt><span class="sect2"><a href="ch05s06.html#sect.PhysTab.Build">5.6.4. 
+Building the Physics Table
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s07.html">5.7. 
+User Limits
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s07.html#sect.Ulim.Gene">5.7.1. 
+General Concepts
+</a></span></dt><dt><span class="sect2"><a href="ch05s07.html#sect.Ulim.Proc">5.7.2. 
+Processes co-working with G4UserLimits
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s08.html">5.8. 
+Track Error Propagation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s08.html#sect.G4Error.Physics">5.8.1. 
+Physics
+</a></span></dt><dt><span class="sect2"><a href="ch05s08.html#sect.G4Error.TrajState">5.8.2. 
+Trajectory state
+</a></span></dt><dt><span class="sect2"><a href="ch05s08.html#sect.G4Error.Err">5.8.3. 
+Trajectory state error
+</a></span></dt><dt><span class="sect2"><a href="ch05s08.html#sect.G4Error.Target">5.8.4. 
+Targets 
+</a></span></dt><dt><span class="sect2"><a href="ch05s08.html#sect.G4Error.Propagation">5.8.5. 
+Managing the track propagation
+</a></span></dt><dt><span class="sect2"><a href="ch05s08.html#sect.G4Error.StepLimits">5.8.6. 
+Limiting the step
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch06.html">6. 
+User Actions
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch06.html#sect.ManUAct">6.1. 
+Mandatory User Actions and Initializations
+</a></span></dt><dt><span class="sect1"><a href="ch06s02.html">6.2. 
+Optional User Actions
+</a></span></dt><dt><span class="sect1"><a href="ch06s03.html">6.3. 
+User Information Classes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch06s03.html#sect.UInfoCls.UEvtInfo">6.3.1. 
+G4VUserEventInformation
+</a></span></dt><dt><span class="sect2"><a href="ch06s03.html#sect.UInfoCls.UTkInfo">6.3.2. 
+G4VUserTrackInformation
+</a></span></dt><dt><span class="sect2"><a href="ch06s03.html#sect.UInfoCls.UPrimVxTk">6.3.3. 
+G4VUserPrimaryVertexInformation and G4VUserPrimaryTrackInformation
+</a></span></dt><dt><span class="sect2"><a href="ch06s03.html#sect.UInfoCls.URegInfo">6.3.4. 
+G4VUserRegionInformation
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch07.html">7. 
+Communication and Control
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch07.html#sect.BuiltinCom">7.1. 
+Built-in Commands
+</a></span></dt><dt><span class="sect1"><a href="ch07s02.html">7.2. 
+User Interface - Defining New Commands
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch07s02.html#sect.UIDefNew.UIMess">7.2.1. 
+G4UImessenger
+</a></span></dt><dt><span class="sect2"><a href="ch07s02.html#sect.UIDefNew.DervCls">7.2.2. 
+G4UIcommand and its derived classes
+</a></span></dt><dt><span class="sect2"><a href="ch07s02.html#sect.UIDefNew.ExpMess">7.2.3. 
+An example messenger
+</a></span></dt><dt><span class="sect2"><a href="ch07s02.html#sect.UIDefNew.HowCont">7.2.4. 
+How to control the output of G4cout/G4cerr
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch08.html">8. 
+Visualization
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch08.html#sect.VisIntro">8.1. 
+Introduction to Visualization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08.html#sect.VisIntro.What">8.1.1. 
+What Can be Visualized
+</a></span></dt><dt><span class="sect2"><a href="ch08.html#sect.VisIntro.Choice">8.1.2. 
+You have a Choice of Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="ch08.html#sect.VisIntro.ChoDrv">8.1.3. 
+Choose the Driver that Meets Your Needs
+</a></span></dt><dt><span class="sect2"><a href="ch08.html#sect.VisIntro.CntVis">8.1.4. 
+Controlling Visualization
+</a></span></dt><dt><span class="sect2"><a href="ch08.html#sect.VisIntro.Details">8.1.5. 
+Visualization Details
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s02.html">8.2. 
+Adding Visualization to Your Executable
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s02.html#sect.VisAddExe.InstDrv">8.2.1. 
+Installing Visualization Drivers
+</a></span></dt><dt><span class="sect2"><a href="ch08s02.html#sect.VisAddExe.RealVisDrv">8.2.2. 
+How to Realize Visualization Drivers in an Executable
+</a></span></dt><dt><span class="sect2"><a href="ch08s02.html#sect.VisAddExe.SampSetup">8.2.3. 
+A Sample Set-up File
+</a></span></dt><dt><span class="sect2"><a href="ch08s02.html#sect.VisAddExe.VisMan">8.2.4. 
+Visualization Manager
+</a></span></dt><dt><span class="sect2"><a href="ch08s02.html#sect.VisAddExe.WrtMain">8.2.5. 
+How to Write the <code class="literal">main()</code> Function
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s03.html">8.3. 
+The Visualization Drivers
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.Avail">8.3.1. 
+Availability of drivers on the supported systems
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.OpenGL">8.3.2. 
+OpenGL
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.OpenInv">8.3.3. 
+OpenInventor
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.HepRep">8.3.4. 
+HepRepFile
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.HepRepXML">8.3.5. 
+HepRepXML
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.DAWN">8.3.6. 
+DAWN
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.RemDAWN">8.3.7. 
+Remote Visualization with the DAWN-Network Driver
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.VRML">8.3.8. 
+VRML
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.RayTrc">8.3.9. 
+RayTracer
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.DetTree">8.3.10. 
+Visualization of detector geometry tree
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.GAGTree">8.3.11. 
+GAG Tree
+</a></span></dt><dt><span class="sect2"><a href="ch08s03.html#sect.VisDrv.XMLTree">8.3.12. 
+XML Tree
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s04.html">8.4. 
+Controlling Visualization from Commands
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.ScnHndVw">8.4.1. 
+Scene, scene handler, and viewer
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.CrtScnVw">8.4.2. 
+Create a scene handler and a viewer: <code class="literal">/vis/open</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.CrtEmp">8.4.3. 
+Create an empty scene: <code class="literal">/vis/scene/create</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.PhyVol">8.4.4. 
+Visualization of a physical volume: <code class="literal">/vis/drawVolume</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.LogVol">8.4.5. 
+Visualization of a logical volume: <code class="literal">/vis/specify</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.Traj">8.4.6. 
+Visualization of trajectories: <code class="literal">/vis/scene/add/trajectories</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.Hits">8.4.7. 
+Visualization of hits: <code class="literal">/vis/scene/add/hits</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.HrAtHits">8.4.8. 
+HepRep Attributes for Hits
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.BscCmrWrk">8.4.9. 
+Basic camera workings: <code class="literal">/vis/viewer/</code> commands
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.DclEndFlsh">8.4.10. 
+Declare the end of visualization for flushing: <code class="literal">/vis/viewer/flush</code> command
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.EndEvtRun">8.4.11. 
+End of Event Action and End of Run Action:
+<code class="literal">/vis/viewer/endOfEventAction</code> and
+<code class="literal">/vis/viewer/endOfEventAction</code> commands
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.HpRpTraj">8.4.12. 
+HepRep Attributes for Trajectories
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.SvVwPs">8.4.13. 
+How to save a visualized views to PostScript files
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.Cull">8.4.14. 
+Culling
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.CutVw">8.4.15. 
+Cut view
+</a></span></dt><dt><span class="sect2"><a href="ch08s04.html#sect.VisCntCmmd.TutMac">8.4.16. 
+Tutorial macros
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s05.html">8.5. 
+Controlling Visualization from Compiled Code
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.VsMng">8.5.1. 
+G4VVisManager
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.DtcCmp">8.5.2. 
+Visualization of detector components
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.Trjct">8.5.3. 
+Visualization of trajectories
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.EnhTrjct">8.5.4. 
+Enhanced trajectory drawing
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.AttTrjct">8.5.5. 
+HepRep Attributes for Trajectories
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.Hits">8.5.6. 
+Visualization of hits
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.AttHits">8.5.7. 
+HepRep Attributes for Hits
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.txt">8.5.8. 
+Visualization of text
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.PlyTrkStp">8.5.9. 
+Visualization of polylines and tracking steps
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.UsrAct">8.5.10. 
+Visualization User Action
+</a></span></dt><dt><span class="sect2"><a href="ch08s05.html#sect.VisCntCmpl.StdAln">8.5.11. 
+Standalone Visualization
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s06.html">8.6. 
+Visualization Attributes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s06.html#sect.VisAtt.Vsblty">8.6.1. 
+Visibility
+</a></span></dt><dt><span class="sect2"><a href="ch08s06.html#sect.VisAtt.Colr">8.6.2. 
+Colour
+</a></span></dt><dt><span class="sect2"><a href="ch08s06.html#sect.VisAtt.FrcAtt">8.6.3. 
+Forcing attributes
+</a></span></dt><dt><span class="sect2"><a href="ch08s06.html#sect.VisAtt.CnstAtt">8.6.4. 
+Constructors of G4VisAttributes
+</a></span></dt><dt><span class="sect2"><a href="ch08s06.html#sect.VisAtt.AssgLgVol">8.6.5. 
+How to assign G4VisAttributes to a logical volume
+</a></span></dt><dt><span class="sect2"><a href="ch08s06.html#sect.VisAtt.AddUdefAtt">8.6.6. 
+Additional User-Defined Attributes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s07.html">8.7. 
+Enhanced Trajectory Drawing
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s07.html#sect.VisEnhTrj.DflCnfg">8.7.1. 
+Default Configuration
+</a></span></dt><dt><span class="sect2"><a href="ch08s07.html#sect.VisEnhTrj.DrdMdl">8.7.2. 
+Trajectory Drawing Models
+</a></span></dt><dt><span class="sect2"><a href="ch08s07.html#sect.VisEnhTrj.CntlComm">8.7.3. 
+Controlling from Commands
+</a></span></dt><dt><span class="sect2"><a href="ch08s07.html#sect.VisEnhTrj.CntlCmpl">8.7.4. 
+Controlling from Compiled Code
+</a></span></dt><dt><span class="sect2"><a href="ch08s07.html#sect.VisEnhTrj.DrwByTime">8.7.5. 
+Drawing by time
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s08.html">8.8. 
+Trajectory Filtering
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s08.html#sect.VisFltr.CntlComm">8.8.1. 
+Controlling from Commands
+</a></span></dt><dt><span class="sect2"><a href="ch08s08.html#sect.VisFltr.ExpComm">8.8.2. 
+Example commands
+</a></span></dt><dt><span class="sect2"><a href="ch08s08.html#sect.VisFltr.HitFilt">8.8.3. 
+Hit Filtering
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s09.html">8.9. 
+Polylines, Markers and Text
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s09.html#sect.VisPlylMrkTxt.Plyl">8.9.1. 
+Polylines
+</a></span></dt><dt><span class="sect2"><a href="ch08s09.html#sect.VisPlylMrkTxt.Mrk">8.9.2. 
+Markers
+</a></span></dt><dt><span class="sect2"><a href="ch08s09.html#sect.VisPlylMrkTxt.Txt">8.9.3. 
+Text
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch08s10.html">8.10. 
+Making a Movie
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch08s10.html#sect.MkMovie.OGLX">8.10.1. 
+OGLX
+</a></span></dt><dt><span class="sect2"><a href="ch08s10.html#sect.MkMovie.DAWNFILE">8.10.2. 
+DAWNFILE
+</a></span></dt><dt><span class="sect2"><a href="ch08s10.html#sect.MkMovie.RyTrcX">8.10.3. 
+RayTracerX
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch09.html">9. 
+Examples
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch09.html#sect.ExmpNvc">9.1. 
+Novice Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Smmry">9.1.1. 
+Novice Example Summary
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp01">9.1.2. 
+Example N01
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp02">9.1.3. 
+Example N02
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp03">9.1.4. 
+Example N03
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp04">9.1.5. 
+Example N04
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp05">9.1.6. 
+Example N05
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp06">9.1.7. 
+Example N06
+</a></span></dt><dt><span class="sect2"><a href="ch09.html#sect.ExmpNvc.Exmp07">9.1.8. 
+Example N07
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch09s02.html">9.2. 
+Extended Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch09s02.html#sect.ExmpExt.Smmry">9.2.1. 
+Extended Example Summary
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch09s03.html">9.3. 
+Advanced Examples
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch09s03.html#sect.ExmpAdv.AdvExmp">9.3.1. 
+Advanced Examples
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch10.html">FAQ. 
+Frequentry Asked Questions
+</a></span></dt><dd><dl><dt><span class="section"><a href="ch10.html#qanda.Installation">FAQ.1. 
+Installation
+</a></span></dt><dt><span class="section"><a href="ch10s02.html">FAQ.2. 
+Run Time Problems
+</a></span></dt><dt><span class="section"><a href="ch10s03.html">FAQ.3. 
+Geometry
+</a></span></dt><dt><span class="section"><a href="ch10s04.html">FAQ.4. 
+Tracks and steps
+</a></span></dt><dt><span class="section"><a href="ch10s05.html">FAQ.5. 
+Physics and cuts
+</a></span></dt><dt><span class="section"><a href="ch10s06.html">FAQ.6. 
+Visualization
+</a></span></dt><dt><span class="section"><a href="ch10s07.html">FAQ.7. 
+User Support Policy
+</a></span></dt></dl></dd><dt><span class="appendix"><a href="apa.html">
+Appendix
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="apa.html#sect.TpPrgCmp">1. 
+Tips for Program Compilation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="apa.html#sect.TpPrgCmp.Sun">1.1. 
+Sun
+</a></span></dt><dt><span class="sect2"><a href="apa.html#sect.TpPrgCmp.UnxLnxGpp">1.2. 
+Unix/Linux - g++
+</a></span></dt><dt><span class="sect2"><a href="apa.html#sect.TpPrgCmp.WndMsVslCpp">1.3. 
+Windows - MS Visual C++
+</a></span></dt><dt><span class="sect2"><a href="apa.html#sect.TpPrgCmp.McXCpp">1.4. 
+MacOS-X - g++
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="apas02.html">2. 
+Histogramming
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="apas02.html#sect.Hst.JAS">2.1. 
+JAS
+</a></span></dt><dt><span class="sect2"><a href="apas02.html#sect.Hst.iAIDA">2.2. 
+iAida
+</a></span></dt><dt><span class="sect2"><a href="apas02.html#sect.Hst.OpnScnt">2.3. 
+Open Scientist Lab
+</a></span></dt><dt><span class="sect2"><a href="apas02.html#sect.Hst.rAIDA">2.4. 
+rAIDA
+</a></span></dt><dt><span class="sect2"><a href="apas02.html#sect.Hst.Exmp">2.5. 
+Examples
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="apas03.html">3. 
+CLHEP Foundation Library
+</a></span></dt><dt><span class="sect1"><a href="apas04.html">4. 
+C++ Standard Template Library
+</a></span></dt><dt><span class="sect1"><a href="apas05.html">5. 
+Makefiles and Environment Variables
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="apas05.html#sect.MkflEnvVar.GNUG4">5.1. 
+The GNUmake system in Geant4
+</a></span></dt><dt><span class="sect2"><a href="apas05.html#sect.MkflEnvVar.EnvVar">5.2. 
+Environment variables
+</a></span></dt><dt><span class="sect2"><a href="apas05.html#sect.MkflEnvVar.LnkExtLib">5.3. 
+Linking External Libraries with Geant4
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="apas06.html">6. 
+Step-by-Step Installation Guides
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="apas06.html#sect.BldMSV">6.1. 
+Building on MS Visual C++
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="apas07.html">7. 
+Development and debug tools
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="apas07.html#sect.DvpDbg.Unix">7.1. 
+UNIX
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="apas08.html">8. 
+Geant4 Material Database
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="apas08.html#sect.G4MatrDb.PurMat">8.1. 
+Pure Materials
+</a></span></dt><dt><span class="sect2"><a href="apas08.html#sect.G4MatrDb.NISTCmp">8.2. 
+NIST Compounds
+</a></span></dt><dt><span class="sect2"><a href="apas08.html#sect.G4MatrDb.HepMat">8.3. 
+HEP Materials
+</a></span></dt></dl></dd></dl></dd><dt><span class="bibliography"><a href="bi01.html">
+Bibliography
+</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. 
+Introduction
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/xml/XSLCustomizationLayer/G4HTMLStylesheet.css	(revision 901)
@@ -0,0 +1,97 @@
+div.navheader th {
+  font-size: 80%;
+  color: #238E23
+}
+
+
+h1.title {
+  text-align: center;
+  font-size: 180%;
+  color: #238E23
+}
+
+h2.title {
+  text-align: center;
+  font-size: 150%;
+  color: #238E23
+}
+
+h2.subtitle {
+  text-align: center;
+  font-size: 120%;
+  color: #238E23
+}
+
+h3.author {
+  text-align: center;
+  font-size: 100%;
+  color: #238E23
+}
+
+p.releaseinfo {
+  text-align: center;
+  font-size: 80%;
+  color: #238E23
+}
+
+p.pubdate {
+  text-align: center;
+  font-size: 80%;
+  color: #238E23
+}
+
+
+div.example {
+  background-color: #DDDDDD ;
+  border: 1px solid #FFFFFF ;
+}
+
+div.informalexample {
+  background-color: #DDDDDD ;
+  border: 1px solid #FFFFFF ;
+}
+
+div.itemizedlist li { 
+  margin-top: 0.5em; 
+}
+
+div.orderedlist li { 
+  margin-top: 0.5em; 
+}
+
+span.color_black {
+  color:black;
+}
+
+span.color_blue {
+  color: blue;
+}
+
+span.color_cyan {
+  color: cyan;
+}
+
+span.color_green {
+  color: green;
+}
+
+span.color_gray {
+  color: gray;
+}
+
+span.color_magenta {
+  color: magenta;
+}
+
+span.color_red {
+  color: red;
+}
+
+span.color_white {
+  color: white;
+}
+
+span.color_yellow {
+  color: yellow;
+}
+
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/html/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/html/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/html/index.html	(revision 901)
@@ -0,0 +1,154 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Geant4 User's Guide for Toolkit Developers</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 User's Guide for Toolkit Developers"><link rel="next" href="ch01.html" title="Chapter 1.  Introduction"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
+  Geant4 User's Guide for Toolkit Developers
+  </th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div text-align="center"><h1 class="title"><a name="geant4_users_guide_for_toolkit_developers"></a>
+  Geant4 User's Guide for Toolkit Developers
+  </h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname">Geant4 Collaboration</span></h3></div></div></div><div text-align="center"><p class="releaseinfo">Version: geant4 9.1</p></div><div><p class="pubdate">14 December, 2007</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. 
+Introduction
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#sect.scope">1.1. 
+Scope of this manual
+</a></span></dt><dt><span class="sect1"><a href="ch01s02.html">1.2. 
+How to use this manual
+</a></span></dt><dt><span class="sect1"><a href="ch01s03.html">1.3. 
+User Requirements Document
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. 
+Design and Function of Geant4 Categories
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#sect.DsgnFuncIntro">2.1. 
+Introduction
+</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. 
+Run
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#sect.DsgnFuncRun.DsgPhlsp">2.2.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#sect.DsgnFuncRun.ClssDsg">2.2.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. 
+Event
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#sect.sect.DsgnFuncEvnt.DsgPhlsp">2.3.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.sect.DsgnFuncEvnt.ClassDsg">2.3.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. 
+Tracking
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#sect.DsgnFuncTracking.DsgPhlsp">2.4.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#sect.DsgnFuncTracking.DsgClass">2.4.2. 
+Class Design
+</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#sect.DsgnFuncTracking.TrkAlgo">2.4.3. 
+Tracking Algorithm
+</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#sect.DsgnFuncTracking.IntPhysProc">2.4.4. 
+Interaction with Physics Processes
+</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#sect.DsgnFuncTracking.OrderPhysProc">2.4.5. 
+Ordering of Methods of Physics Processes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. 
+Physics Processes
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#sect.DsgnFuncPhysProc.DsgPhlsp">2.5.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#sect.DsgnFuncPhysProc.ClassDsg">2.5.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. 
+Hits and Digitization
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#sect.DsgnFuncHitDig.DsgPhlsp">2.6.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#sect.DsgnFuncHitDig.ClassDsg">2.6.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. 
+Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#sect.DsgnFuncGeom.DsgPhlsp">2.7.1. 
+Design Philosopy
+</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#sect.DsgnFuncGeom.ClassDsg">2.7.2. 
+Class Design
+</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#sect.DsgnFuncGeom.AddDgrm">2.7.3. 
+Additional Geometry Diagrams
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. 
+Electromagnetic Fields
+</a></span></dt><dt><span class="sect1"><a href="ch02s09.html">2.9. 
+Particles
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#sect.DsgnFuncParti.DsgPhlsp">2.9.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#sect.DsgnFuncParti.ClassDsg">2.9.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. 
+Materials
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#sect.DsgnFuncMateri.DsgPhlsp">2.10.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#sect.DsgnFuncMateri.ClassDsg">2.10.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. 
+Global Usage
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#sect.DsgnFuncGlobUsg.DsgPhlsp">2.11.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#sect.DsgnFuncGlobUsg.ClassDsg">2.11.2. 
+Class Design
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. 
+Visualisation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s12.html#sect.DsgnFuncVis.DsgPhlsp">2.12.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#sect.DsgnFuncVis.GrphIntrf">2.12.2. 
+The Graphics Interfaces
+</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#sect.DsgnFuncVis.VisSystm">2.12.3. 
+The Geant4 Visualisation System
+</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#sect.DsgnFuncVis.MdlCat">2.12.4. 
+Modeling sub-category
+</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#sect.DsgnFuncVis.ViewParam">2.12.5. 
+View parameters
+</a></span></dt><dt><span class="sect2"><a href="ch02s12.html#sect.DsgnFuncVis.VisAttr">2.12.6. 
+Visualisation Attributes
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s13.html">2.13. 
+Intercoms
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#sect.DsgnFuncIntrCm.DsgPhlsp">2.13.1. 
+Design Philosophy
+</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#sect.DsgnFuncIntrCm.ClassDsg">2.13.2. 
+Class Design
+</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3. 
+Extending Toolkit Functionality
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#sect.ExtdFuncGeom">3.1. 
+Geometry
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#sect.ExtdFuncGeom.WhtCan">3.1.1. 
+What can be extended ?
+</a></span></dt><dt><span class="sect2"><a href="ch03.html#sect.ExtdFuncGeom.AddSld">3.1.2. 
+Adding a new type of Solid
+</a></span></dt><dt><span class="sect2"><a href="ch03.html#sect.ExtdFuncGeom.ModNav">3.1.3. 
+Modifying the Navigator
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. 
+Electromagnetic Fields
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#sect.ExtdFuncEMFld.CrtNwFld">3.2.1. 
+Creating a New Type of Field
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. 
+Physics Processes
+</a></span></dt><dt><span class="sect1"><a href="ch03s04.html">3.4. 
+Hadronic Physics
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.Intro">3.4.1. 
+Introduction
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.PrncCnsd">3.4.2. 
+Principal Considerations
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.L1_Proc">3.4.3. 
+Level 1 Framework - processes
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.L2F_CrssSctMdl">3.4.4. 
+Level 2 Framework - Cross Sections and Models
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.L3F_ThrtMdl">3.4.5. 
+Level 3 Framework - Theoretical Models
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.L4F_StgPartIntNuc">3.4.6. 
+Level 4 Frameworks - String Parton Models and Intra-Nuclear Cascade
+</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#sect.ExtdFuncHadPhys.L5F_StrgDeExc">3.4.7. 
+Level 5 Framework - String De-excitation}
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">3.5. 
+Visualisation
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s05.html#sect.ExtdFuncVis.CrtGrpDrv">3.5.1. 
+Creating a new graphics driver
+</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#sect.ExtdFuncVis.EnhcTrjDrw">3.5.2. 
+Enhanced Trajectory Drawing
+</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#sect.ExtdFuncVis.TrjFltr">3.5.3. 
+Trajectory Filtering
+</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#sect.ExtdFuncVis.OthrRsrc">3.5.4. 
+Other Resources
+</a></span></dt></dl></dd></dl></dd><dt><span class="bibliography"><a href="bi01.html">
+Bibliography
+</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. 
+Introduction
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/index.html	(revision 901)
@@ -0,0 +1,46 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Geant4 Installation Guide</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Geant4 Installation Guide"><link rel="next" href="ch01.html" title="Chapter 1.  Installation Introduction"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
+  Geant4 Installation Guide
+  </th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div text-align="center"><h1 class="title"><a name="geant4_installation_guide"></a>
+  Geant4 Installation Guide
+  </h1></div><div text-align="center"><h2 class="subtitle">
+  For setting up Geant4 in your computing environment
+  </h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname">Geant4 Collaboration</span></h3></div></div></div><div text-align="center"><p class="releaseinfo">Version: geant4 9.1</p></div><div><p class="pubdate">14 December, 2007</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. 
+Installation Introduction
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#sect.Support">1.1. 
+Supported Computers and Operating Systems
+</a></span></dt><dt><span class="sect1"><a href="ch01s02.html">1.2. 
+Required Software
+</a></span></dt><dt><span class="sect1"><a href="ch01s03.html">1.3. 
+Visualization Software
+</a></span></dt><dt><span class="sect1"><a href="ch01s04.html">1.4. 
+Software for Analysis and Histogramming
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. 
+Installation Procedures
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#sect.UsingConfig">2.1. 
+Using the <code class="literal">Configure</code> Script for installation
+</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. 
+Configuring the Environment to Use Geant4
+</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">2.3. 
+Installing Geant4 Manually
+</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s03.html#sect.InstManually.ReqEnvVar">2.3.1. 
+Required Environment Variables
+</a></span></dt><dt><span class="sect2"><a href="ch02s03.html#sect.InstManually.OptEnvVar">2.3.2. 
+Optional Environment Variables
+</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s04.html">2.4. 
+Integrating Geant4 into a Generic Framework
+</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. 
+Tips for Installing on Windows
+</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#sect.Cygwin">3.1. 
+Windows with the Cygwin Toolset and Microsoft Visual C++
+</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">3.2. 
+Building Kernel Libraries DLLs
+</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. 
+Installation Introduction
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/IntroductionToGeant4/html/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/IntroductionToGeant4/html/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/IntroductionToGeant4/html/index.html	(revision 901)
@@ -0,0 +1,25 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Introduction to Geant4</title><link rel="stylesheet" href="../xml/XSLCustomizationLayer/G4HTMLStylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="Introduction to Geant4"><link rel="next" href="ch01.html" title="Chapter 1.  Geant4 Scope of Application"><script language="JavaScript">
+function remote_win(fName)
+{
+   var url = "AllResources/Detector/geometry.src/" + fName;
+   RemoteWin=window.open(url,"","resizable=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,copyhistory=0,width=520,height=520")
+   RemoteWin.creator=self
+}
+</script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
+  Introduction to Geant4
+  </th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div text-align="center"><h1 class="title"><a name="geant4_introduction_to_geant4"></a>
+  Introduction to Geant4
+  </h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname"></span> <span class="surname">Geant4 Collaboration</span></h3></div></div></div><div text-align="center"><p class="releaseinfo">Version: geant4 9.1</p></div><div><p class="pubdate">14 December, 2007</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. 
+Geant4 Scope of Application
+</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. 
+History of Geant4
+</a></span></dt><dt><span class="chapter"><a href="ch03.html">3. 
+Overview of Geant4 Functionality
+</a></span></dt><dt><span class="chapter"><a href="ch04.html">4. 
+Geant4 User Support
+</a></span></dt><dt><span class="chapter"><a href="ch05.html">5. Software Knowledge Required to Use the Geant4 Toolkit
+</a></span></dt><dt><span class="chapter"><a href="ch06.html">6. 
+Computing Environment Required by the Geant4 Toolkit
+</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html"><img src="AllResources/IconsGIF/next.gif" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. 
+Geant4 Scope of Application
+</td></tr></table></div></body></html>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.css
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.css	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.css	(revision 901)
@@ -0,0 +1,30 @@
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.MATH    { font-family: "Century Schoolbook", serif; }
+.MATH I  { font-family: "Century Schoolbook", serif; font-style: italic }
+.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
+
+/* implement both fixed-size and relative sizes */
+SMALL.XTINY		{ font-size : xx-small }
+SMALL.TINY		{ font-size : x-small  }
+SMALL.SCRIPTSIZE	{ font-size : smaller  }
+SMALL.FOOTNOTESIZE	{ font-size : small    }
+SMALL.SMALL		{  }
+BIG.LARGE		{  }
+BIG.XLARGE		{ font-size : large    }
+BIG.XXLARGE		{ font-size : x-large  }
+BIG.HUGE		{ font-size : larger   }
+BIG.XHUGE		{ font-size : xx-large }
+
+/* heading styles */
+H1		{  }
+H2		{  }
+H3		{  }
+H4		{  }
+H5		{  }
+
+/* mathematics styles */
+DIV.displaymath		{ }	/* math displays */
+TD.eqno			{ }	/* equation-number cells */
+
+
+/* document-specific styles come next */
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html	(revision 901)
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Physics Reference Manual</TITLE>
+<META NAME="description" CONTENT="Physics Reference Manual">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node1.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html132"
+  HREF="node1.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.gif"> 
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.gif"> 
+<A NAME="tex2html130"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html133"
+  HREF="node1.html">Contents</A>
+ &nbsp; <B>  <A NAME="tex2html131"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1 ALIGN=CENTER>Physics Reference Manual</H1>
+<BR><P ALIGN=CENTER><I>Date:</I> Version: geant4 9.1 (14 December, 2007)</P>
+<P ALIGN=LEFT></P>
+
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"></A>
+
+<UL>
+<LI><A NAME="tex2html134"
+  HREF="node1.html">Contents</A>
+<LI><A NAME="tex2html135"
+  HREF="node2.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html136"
+  HREF="node3.html">Introduction</A>
+<LI><A NAME="tex2html137"
+  HREF="node7.html">Monte Carlo Methods</A>
+<LI><A NAME="tex2html138"
+  HREF="node10.html">Transportation</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html139"
+  HREF="node11.html">Particle Decay</A>
+<UL>
+<LI><A NAME="tex2html140"
+  HREF="node12.html">Decay</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html141"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<UL>
+<LI><A NAME="tex2html142"
+  HREF="node18.html">Particle Transport</A>
+<LI><A NAME="tex2html143"
+  HREF="node24.html">Gamma Incident</A>
+<LI><A NAME="tex2html144"
+  HREF="node30.html">Common to All Charged Particles</A>
+<LI><A NAME="tex2html145"
+  HREF="node43.html">Electron and Positron Incident</A>
+<LI><A NAME="tex2html146"
+  HREF="node50.html">Charged Hadron Incident</A>
+<LI><A NAME="tex2html147"
+  HREF="node52.html">Muon Incident</A>
+<LI><A NAME="tex2html148"
+  HREF="node57.html">Polarized Electron/Positron/Gamma Incident</A>
+<LI><A NAME="tex2html149"
+  HREF="node65.html">Low Energy Extensions</A>
+<LI><A NAME="tex2html150"
+  HREF="node78.html">Optical Photons</A>
+<LI><A NAME="tex2html151"
+  HREF="node80.html">Shower Parameterizations</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html152"
+  HREF="node82.html">Hadronic Interactions</A>
+<UL>
+<LI><A NAME="tex2html153"
+  HREF="node83.html">Lepton Hadron Interactions</A>
+<LI><A NAME="tex2html154"
+  HREF="node87.html">Cross-sections in Photonuclear/Electronuclear Reactions</A>
+<LI><A NAME="tex2html155"
+  HREF="node92.html">Total Reaction Cross Section in Nucleus-nucleus Reactions</A>
+<LI><A NAME="tex2html156"
+  HREF="node100.html">Coherent elastic scattering</A>
+<LI><A NAME="tex2html157"
+  HREF="node102.html">Hadron-nucleus Elastic Scattering at Medium/High Energy</A>
+<LI><A NAME="tex2html158"
+  HREF="node106.html">Interactions of Stopping Particles</A>
+<LI><A NAME="tex2html159"
+  HREF="node108.html">Parametrization Driven Models</A>
+<LI><A NAME="tex2html160"
+  HREF="node113.html">Leading Particle Bias</A>
+<LI><A NAME="tex2html161"
+  HREF="node118.html">Parton string model.</A>
+<LI><A NAME="tex2html162"
+  HREF="node125.html">Chiral Invariant Phase Space Decay.</A>
+<LI><A NAME="tex2html163"
+  HREF="node137.html">Bertini Intranuclear Cascade Model in G<SMALL>EANT4</SMALL> </A>
+<LI><A NAME="tex2html164"
+  HREF="node143.html">The G<SMALL>EANT4</SMALL> Binary Cascade</A>
+<LI><A NAME="tex2html165"
+  HREF="node147.html">Abrasion-ablation Model</A>
+<LI><A NAME="tex2html166"
+  HREF="node157.html">Electromagnetic Dissociation Model</A>
+<LI><A NAME="tex2html167"
+  HREF="node161.html">Precompound model.</A>
+<LI><A NAME="tex2html168"
+  HREF="node166.html">Evaporation Model</A>
+<LI><A NAME="tex2html169"
+  HREF="node175.html">Fission model.</A>
+<LI><A NAME="tex2html170"
+  HREF="node179.html">Fermi break-up model.</A>
+<LI><A NAME="tex2html171"
+  HREF="node182.html">Multifragmentation model.</A>
+<LI><A NAME="tex2html172"
+  HREF="node185.html">INCL 4.2 Cascade and ABLA V3 Evaporation with Fission</A>
+<LI><A NAME="tex2html173"
+  HREF="node194.html">Low Energy Neutron Interactions</A>
+<LI><A NAME="tex2html174"
+  HREF="node201.html">Radioactive Decay</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/index.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/index.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/index.html	(revision 901)
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Physics Reference Manual</TITLE>
+<META NAME="description" CONTENT="Physics Reference Manual">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node1.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html132"
+  HREF="node1.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.gif"> 
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.gif"> 
+<A NAME="tex2html130"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html133"
+  HREF="node1.html">Contents</A>
+ &nbsp; <B>  <A NAME="tex2html131"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1 ALIGN=CENTER>Physics Reference Manual</H1>
+<BR><P ALIGN=CENTER><I>Date:</I> Version: geant4 9.1 (14 December, 2007)</P>
+<P ALIGN=LEFT></P>
+
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"></A>
+
+<UL>
+<LI><A NAME="tex2html134"
+  HREF="node1.html">Contents</A>
+<LI><A NAME="tex2html135"
+  HREF="node2.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html136"
+  HREF="node3.html">Introduction</A>
+<LI><A NAME="tex2html137"
+  HREF="node7.html">Monte Carlo Methods</A>
+<LI><A NAME="tex2html138"
+  HREF="node10.html">Transportation</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html139"
+  HREF="node11.html">Particle Decay</A>
+<UL>
+<LI><A NAME="tex2html140"
+  HREF="node12.html">Decay</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html141"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<UL>
+<LI><A NAME="tex2html142"
+  HREF="node18.html">Particle Transport</A>
+<LI><A NAME="tex2html143"
+  HREF="node24.html">Gamma Incident</A>
+<LI><A NAME="tex2html144"
+  HREF="node30.html">Common to All Charged Particles</A>
+<LI><A NAME="tex2html145"
+  HREF="node43.html">Electron and Positron Incident</A>
+<LI><A NAME="tex2html146"
+  HREF="node50.html">Charged Hadron Incident</A>
+<LI><A NAME="tex2html147"
+  HREF="node52.html">Muon Incident</A>
+<LI><A NAME="tex2html148"
+  HREF="node57.html">Polarized Electron/Positron/Gamma Incident</A>
+<LI><A NAME="tex2html149"
+  HREF="node65.html">Low Energy Extensions</A>
+<LI><A NAME="tex2html150"
+  HREF="node78.html">Optical Photons</A>
+<LI><A NAME="tex2html151"
+  HREF="node80.html">Shower Parameterizations</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html152"
+  HREF="node82.html">Hadronic Interactions</A>
+<UL>
+<LI><A NAME="tex2html153"
+  HREF="node83.html">Lepton Hadron Interactions</A>
+<LI><A NAME="tex2html154"
+  HREF="node87.html">Cross-sections in Photonuclear/Electronuclear Reactions</A>
+<LI><A NAME="tex2html155"
+  HREF="node92.html">Total Reaction Cross Section in Nucleus-nucleus Reactions</A>
+<LI><A NAME="tex2html156"
+  HREF="node100.html">Coherent elastic scattering</A>
+<LI><A NAME="tex2html157"
+  HREF="node102.html">Hadron-nucleus Elastic Scattering at Medium/High Energy</A>
+<LI><A NAME="tex2html158"
+  HREF="node106.html">Interactions of Stopping Particles</A>
+<LI><A NAME="tex2html159"
+  HREF="node108.html">Parametrization Driven Models</A>
+<LI><A NAME="tex2html160"
+  HREF="node113.html">Leading Particle Bias</A>
+<LI><A NAME="tex2html161"
+  HREF="node118.html">Parton string model.</A>
+<LI><A NAME="tex2html162"
+  HREF="node125.html">Chiral Invariant Phase Space Decay.</A>
+<LI><A NAME="tex2html163"
+  HREF="node137.html">Bertini Intranuclear Cascade Model in G<SMALL>EANT4</SMALL> </A>
+<LI><A NAME="tex2html164"
+  HREF="node143.html">The G<SMALL>EANT4</SMALL> Binary Cascade</A>
+<LI><A NAME="tex2html165"
+  HREF="node147.html">Abrasion-ablation Model</A>
+<LI><A NAME="tex2html166"
+  HREF="node157.html">Electromagnetic Dissociation Model</A>
+<LI><A NAME="tex2html167"
+  HREF="node161.html">Precompound model.</A>
+<LI><A NAME="tex2html168"
+  HREF="node166.html">Evaporation Model</A>
+<LI><A NAME="tex2html169"
+  HREF="node175.html">Fission model.</A>
+<LI><A NAME="tex2html170"
+  HREF="node179.html">Fermi break-up model.</A>
+<LI><A NAME="tex2html171"
+  HREF="node182.html">Multifragmentation model.</A>
+<LI><A NAME="tex2html172"
+  HREF="node185.html">INCL 4.2 Cascade and ABLA V3 Evaporation with Fission</A>
+<LI><A NAME="tex2html173"
+  HREF="node194.html">Low Energy Neutron Interactions</A>
+<LI><A NAME="tex2html174"
+  HREF="node201.html">Radioactive Decay</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node1.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node1.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node1.html	(revision 901)
@@ -0,0 +1,1387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Contents</TITLE>
+<META NAME="description" CONTENT="Contents">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node2.html">
+<LINK REL="previous" HREF="PhysicsReferenceManual.html">
+<LINK REL="up" HREF="PhysicsReferenceManual.html">
+<LINK REL="next" HREF="node2.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html183"
+  HREF="node2.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html181"
+  HREF="PhysicsReferenceManual.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html175"
+  HREF="PhysicsReferenceManual.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A>   
+<BR>
+<B> Next:</B> <A NAME="tex2html184"
+  HREF="node2.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html182"
+  HREF="PhysicsReferenceManual.html">Physics Reference Manual</A>
+<B> Previous:</B> <A NAME="tex2html176"
+  HREF="PhysicsReferenceManual.html">Physics Reference Manual</A>
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+<BR>
+
+<H2><A NAME="SECTION01000000000000000000">
+Contents</A>
+</H2>
+<!--Table of Contents-->
+
+<UL>
+<LI><A NAME="tex2html185"
+  HREF="node2.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html186"
+  HREF="node3.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html187"
+  HREF="node4.html">Scope of This Manual</A>
+<LI><A NAME="tex2html188"
+  HREF="node5.html">Definition of Terms</A>
+<LI><A NAME="tex2html189"
+  HREF="node6.html">Status of this document</A>
+</UL>
+<LI><A NAME="tex2html190"
+  HREF="node7.html">Monte Carlo Methods</A>
+<UL>
+<LI><A NAME="tex2html191"
+  HREF="node8.html">Status of this document</A>
+<LI><A NAME="tex2html192"
+  HREF="node9.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html193"
+  HREF="node10.html">Transportation</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html194"
+  HREF="node11.html">Particle Decay</A>
+<UL>
+<LI><A NAME="tex2html195"
+  HREF="node12.html">Decay</A>
+<UL>
+<LI><A NAME="tex2html196"
+  HREF="node13.html">Mean Free Path for Decay in Flight</A>
+<LI><A NAME="tex2html197"
+  HREF="node14.html">Branching Ratios and Decay Channels</A>
+<UL>
+<LI><A NAME="tex2html198"
+  HREF="node14.html#SECTION03121000000000000000">G4PhaseSpaceDecayChannel</A>
+<LI><A NAME="tex2html199"
+  HREF="node14.html#SECTION03122000000000000000">G4DalitzDecayChannel</A>
+<LI><A NAME="tex2html200"
+  HREF="node14.html#SECTION03123000000000000000">Muon Decay</A>
+<LI><A NAME="tex2html201"
+  HREF="node14.html#SECTION03124000000000000000">Leptonic Tau Decay</A>
+<LI><A NAME="tex2html202"
+  HREF="node14.html#SECTION03125000000000000000">Kaon Decay</A>
+</UL>
+<LI><A NAME="tex2html203"
+  HREF="node15.html">Status of this document</A>
+<LI><A NAME="tex2html204"
+  HREF="node16.html">Bibliography</A>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html205"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<UL>
+<LI><A NAME="tex2html206"
+  HREF="node18.html">Particle Transport</A>
+<UL>
+<LI><A NAME="tex2html207"
+  HREF="node19.html">The Interaction Length or Mean Free Path</A>
+<LI><A NAME="tex2html208"
+  HREF="node20.html">Determination of the Interaction Point</A>
+<LI><A NAME="tex2html209"
+  HREF="node21.html">Updating the Particle Lifetime</A>
+<LI><A NAME="tex2html210"
+  HREF="node22.html">Status of this document</A>
+<LI><A NAME="tex2html211"
+  HREF="node23.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html212"
+  HREF="node24.html">Gamma Incident</A>
+<UL>
+<LI><A NAME="tex2html213"
+  HREF="node25.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html214"
+  HREF="node25.html#SECTION04211000000000000000">General Interfaces</A>
+<LI><A NAME="tex2html215"
+  HREF="node25.html#SECTION04212000000000000000">Status of this document</A>
+<LI><A NAME="tex2html216"
+  HREF="node25.html#SECTION04213000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html217"
+  HREF="node26.html">PhotoElectric effect</A>
+<UL>
+<LI><A NAME="tex2html218"
+  HREF="node26.html#SECTION04221000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html219"
+  HREF="node26.html#SECTION04222000000000000000">Final State</A>
+<LI><A NAME="tex2html220"
+  HREF="node26.html#SECTION04223000000000000000">Status of this document</A>
+<LI><A NAME="tex2html221"
+  HREF="node26.html#SECTION04224000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html222"
+  HREF="node27.html">Compton scattering</A>
+<UL>
+<LI><A NAME="tex2html223"
+  HREF="node27.html#SECTION04231000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html224"
+  HREF="node27.html#SECTION04232000000000000000">Sampling the Final State</A>
+<LI><A NAME="tex2html225"
+  HREF="node27.html#SECTION04233000000000000000">Validity</A>
+<LI><A NAME="tex2html226"
+  HREF="node27.html#SECTION04234000000000000000">Status of this document</A>
+<LI><A NAME="tex2html227"
+  HREF="node27.html#SECTION04235000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html228"
+  HREF="node28.html">Gamma Conversion into an Electron - Positron Pair</A>
+<UL>
+<LI><A NAME="tex2html229"
+  HREF="node28.html#SECTION04241000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html230"
+  HREF="node28.html#SECTION04242000000000000000">Final State</A>
+<LI><A NAME="tex2html231"
+  HREF="node28.html#SECTION04243000000000000000">Status of this document</A>
+<LI><A NAME="tex2html232"
+  HREF="node28.html#SECTION04244000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html233"
+  HREF="node29.html">Gamma Conversion into a Muon - Anti-muon Pair</A>
+<UL>
+<LI><A NAME="tex2html234"
+  HREF="node29.html#SECTION04251000000000000000">Cross Section and Energy Sharing</A>
+<LI><A NAME="tex2html235"
+  HREF="node29.html#SECTION04252000000000000000">Parameterization of the Total Cross Section</A>
+<LI><A NAME="tex2html236"
+  HREF="node29.html#SECTION04253000000000000000">Multi-differential Cross Section and Angular Variables</A>
+<LI><A NAME="tex2html237"
+  HREF="node29.html#SECTION04254000000000000000">Procedure for the Generation of Muon - Anti-muon Pairs</A>
+<LI><A NAME="tex2html238"
+  HREF="node29.html#SECTION04255000000000000000">Status of this document</A>
+<LI><A NAME="tex2html239"
+  HREF="node29.html#SECTION04256000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html240"
+  HREF="node30.html">Common to All Charged Particles</A>
+<UL>
+<LI><A NAME="tex2html241"
+  HREF="node31.html">Computing the Mean Energy Loss</A>
+<UL>
+<LI><A NAME="tex2html242"
+  HREF="node31.html#SECTION04311000000000000000">Method</A>
+<LI><A NAME="tex2html243"
+  HREF="node31.html#SECTION04312000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html244"
+  HREF="node31.html#SECTION04313000000000000000">Energy Loss by Heavy Charged Particles</A>
+<LI><A NAME="tex2html245"
+  HREF="node31.html#SECTION04314000000000000000">Status of this document</A>
+<LI><A NAME="tex2html246"
+  HREF="node31.html#SECTION04315000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html247"
+  HREF="node32.html">Energy loss fluctuations</A>
+<UL>
+<LI><A NAME="tex2html248"
+  HREF="node32.html#SECTION04321000000000000000">Fluctuations in thick absorbers</A>
+<LI><A NAME="tex2html249"
+  HREF="node32.html#SECTION04322000000000000000">Fluctuations in thin absorbers</A>
+<LI><A NAME="tex2html250"
+  HREF="node32.html#SECTION04323000000000000000">Status of this document</A>
+<LI><A NAME="tex2html251"
+  HREF="node32.html#SECTION04324000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html252"
+  HREF="node33.html">Correcting the cross section for energy variation </A>
+<UL>
+<LI><A NAME="tex2html253"
+  HREF="node33.html#SECTION04331000000000000000">Status of this document</A>
+<LI><A NAME="tex2html254"
+  HREF="node33.html#SECTION04332000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html255"
+  HREF="node34.html">Conversion from range cut to kinetic energy cut</A>
+<UL>
+<LI><A NAME="tex2html256"
+  HREF="node34.html#SECTION04341000000000000000">Status of this document</A>
+<LI><A NAME="tex2html257"
+  HREF="node34.html#SECTION04342000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html258"
+  HREF="node35.html">Multiple Scattering</A>
+<UL>
+<LI><A NAME="tex2html259"
+  HREF="node35.html#SECTION04351000000000000000">Introduction</A>
+<LI><A NAME="tex2html260"
+  HREF="node35.html#SECTION04352000000000000000">Definition of Terms</A>
+<LI><A NAME="tex2html261"
+  HREF="node35.html#SECTION04353000000000000000">Path Length Correction</A>
+<LI><A NAME="tex2html262"
+  HREF="node35.html#SECTION04354000000000000000">Angular Distribution</A>
+<LI><A NAME="tex2html263"
+  HREF="node35.html#SECTION04355000000000000000">Determination of the Model Parameters</A>
+<LI><A NAME="tex2html264"
+  HREF="node35.html#SECTION04356000000000000000">The MSC Process in Geant4</A>
+<LI><A NAME="tex2html265"
+  HREF="node35.html#SECTION04357000000000000000">Step Limitation Algorithm</A>
+<LI><A NAME="tex2html266"
+  HREF="node35.html#SECTION04358000000000000000">Boundary Crossing Algorithm</A>
+<LI><A NAME="tex2html267"
+  HREF="node35.html#SECTION04359000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html268"
+  HREF="node35.html#SECTION043510000000000000000">Status of this document</A>
+<LI><A NAME="tex2html269"
+  HREF="node35.html#SECTION043511000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html270"
+  HREF="node36.html">Single Scattering</A>
+<UL>
+<LI><A NAME="tex2html271"
+  HREF="node36.html#SECTION04361000000000000000">Coulomb Scattering</A>
+<LI><A NAME="tex2html272"
+  HREF="node36.html#SECTION04362000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html273"
+  HREF="node36.html#SECTION04363000000000000000">Status of this document</A>
+<LI><A NAME="tex2html274"
+  HREF="node36.html#SECTION04364000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html275"
+  HREF="node37.html">Ion Scattering</A>
+<UL>
+<LI><A NAME="tex2html276"
+  HREF="node37.html#SECTION04371000000000000000">Method</A>
+<LI><A NAME="tex2html277"
+  HREF="node37.html#SECTION04372000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html278"
+  HREF="node37.html#SECTION04373000000000000000">Status of this document</A>
+<LI><A NAME="tex2html279"
+  HREF="node37.html#SECTION04374000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html280"
+  HREF="node38.html">Transition radiation</A>
+<UL>
+<LI><A NAME="tex2html281"
+  HREF="node38.html#SECTION04381000000000000000">The Relationship of Transition Radiation to X-ray Cherenkov Radiation</A>
+<LI><A NAME="tex2html282"
+  HREF="node38.html#SECTION04382000000000000000">Calculating the X-ray Transition Radiation Yield</A>
+<LI><A NAME="tex2html283"
+  HREF="node38.html#SECTION04383000000000000000">Simulating X-ray Transition Radiation Production</A>
+<LI><A NAME="tex2html284"
+  HREF="node38.html#SECTION04384000000000000000">Status of this document</A>
+<LI><A NAME="tex2html285"
+  HREF="node38.html#SECTION04385000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html286"
+  HREF="node39.html">Scintillation</A>
+<UL>
+<LI><A NAME="tex2html287"
+  HREF="node39.html#SECTION04391000000000000000">Status of this document</A>
+</UL>
+<LI><A NAME="tex2html288"
+  HREF="node40.html">Cerenkov Effect</A>
+<UL>
+<LI><A NAME="tex2html289"
+  HREF="node40.html#SECTION043101000000000000000">Status of this document</A>
+<LI><A NAME="tex2html290"
+  HREF="node40.html#SECTION043102000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html291"
+  HREF="node41.html">Photoabsorption Ionization Model</A>
+<UL>
+<LI><A NAME="tex2html292"
+  HREF="node41.html#SECTION043111000000000000000">Cross Section for Ionizing Collisions</A>
+<LI><A NAME="tex2html293"
+  HREF="node41.html#SECTION043112000000000000000">Energy Loss Simulation</A>
+<LI><A NAME="tex2html294"
+  HREF="node41.html#SECTION043113000000000000000">Status of this document</A>
+<LI><A NAME="tex2html295"
+  HREF="node41.html#SECTION043114000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html296"
+  HREF="node42.html">Photoabsorption Cross Section at Low Energies</A>
+<UL>
+<LI><A NAME="tex2html297"
+  HREF="node42.html#SECTION043121000000000000000">Method</A>
+<LI><A NAME="tex2html298"
+  HREF="node42.html#SECTION043122000000000000000">Status of this document</A>
+<LI><A NAME="tex2html299"
+  HREF="node42.html#SECTION043123000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html300"
+  HREF="node43.html">Electron and Positron Incident</A>
+<UL>
+<LI><A NAME="tex2html301"
+  HREF="node44.html">Ionization</A>
+<UL>
+<LI><A NAME="tex2html302"
+  HREF="node44.html#SECTION04411000000000000000">Method</A>
+<LI><A NAME="tex2html303"
+  HREF="node44.html#SECTION04412000000000000000">Continuous Energy Loss</A>
+<LI><A NAME="tex2html304"
+  HREF="node44.html#SECTION04413000000000000000">Total Cross Section per Atom and Mean Free Path </A>
+<LI><A NAME="tex2html305"
+  HREF="node44.html#SECTION04414000000000000000">Simulation of Delta-ray Production</A>
+<LI><A NAME="tex2html306"
+  HREF="node44.html#SECTION04415000000000000000">Status of this document</A>
+<LI><A NAME="tex2html307"
+  HREF="node44.html#SECTION04416000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html308"
+  HREF="node45.html">Bremsstrahlung</A>
+<UL>
+<LI><A NAME="tex2html309"
+  HREF="node45.html#SECTION04421000000000000000">Cross Section and Energy Loss</A>
+<LI><A NAME="tex2html310"
+  HREF="node45.html#SECTION04422000000000000000">Simulation of Discrete Bremsstrahlung</A>
+<LI><A NAME="tex2html311"
+  HREF="node45.html#SECTION04423000000000000000">Status of this document</A>
+<LI><A NAME="tex2html312"
+  HREF="node45.html#SECTION04424000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html313"
+  HREF="node46.html">Positron - Electron Annihilation</A>
+<UL>
+<LI><A NAME="tex2html314"
+  HREF="node46.html#SECTION04431000000000000000">Introduction</A>
+<LI><A NAME="tex2html315"
+  HREF="node46.html#SECTION04432000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html316"
+  HREF="node46.html#SECTION04433000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html317"
+  HREF="node46.html#SECTION04434000000000000000">Status of this document</A>
+<LI><A NAME="tex2html318"
+  HREF="node46.html#SECTION04435000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html319"
+  HREF="node47.html">Positron - Electron Annihilation into Muon - Anti-muon</A>
+<UL>
+<LI><A NAME="tex2html320"
+  HREF="node47.html#SECTION04441000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html321"
+  HREF="node47.html#SECTION04442000000000000000">Sampling of Energies and Angles</A>
+<LI><A NAME="tex2html322"
+  HREF="node47.html#SECTION04444000000000000000">Status of this document</A>
+<LI><A NAME="tex2html323"
+  HREF="node47.html#SECTION04445000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html324"
+  HREF="node48.html">Positron - Electron Annihilation into Hadrons</A>
+<UL>
+<LI><A NAME="tex2html325"
+  HREF="node48.html#SECTION04451000000000000000">Introduction</A>
+<LI><A NAME="tex2html326"
+  HREF="node48.html#SECTION04452000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html327"
+  HREF="node48.html#SECTION04453000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html328"
+  HREF="node48.html#SECTION04454000000000000000">Status of this document</A>
+<LI><A NAME="tex2html329"
+  HREF="node48.html#SECTION04455000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html330"
+  HREF="node49.html">Synchrotron Radiation</A>
+<UL>
+<LI><A NAME="tex2html331"
+  HREF="node49.html#SECTION04461000000000000000">Photon spectrum</A>
+<LI><A NAME="tex2html332"
+  HREF="node49.html#SECTION04462000000000000000">Validity</A>
+<LI><A NAME="tex2html333"
+  HREF="node49.html#SECTION04463000000000000000">Direct inversion and generation of the photon energy spectrum</A>
+<LI><A NAME="tex2html334"
+  HREF="node49.html#SECTION04464000000000000000">Properties of the photon energy and power spectra</A>
+<LI><A NAME="tex2html335"
+  HREF="node49.html#SECTION04465000000000000000">Status of this document</A>
+<LI><A NAME="tex2html336"
+  HREF="node49.html#SECTION04466000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html337"
+  HREF="node50.html">Charged Hadron Incident</A>
+<UL>
+<LI><A NAME="tex2html338"
+  HREF="node51.html">Hadron and Ion Ionization</A>
+<UL>
+<LI><A NAME="tex2html339"
+  HREF="node51.html#SECTION04511000000000000000">Method</A>
+<LI><A NAME="tex2html340"
+  HREF="node51.html#SECTION04512000000000000000">Continuous Energy Loss</A>
+<LI><A NAME="tex2html341"
+  HREF="node51.html#SECTION04513000000000000000">Total Cross Section per Atom and Mean Free Path</A>
+<LI><A NAME="tex2html342"
+  HREF="node51.html#SECTION04514000000000000000">Simulating Delta-ray Production</A>
+<LI><A NAME="tex2html343"
+  HREF="node51.html#SECTION04515000000000000000">Status of this document</A>
+<LI><A NAME="tex2html344"
+  HREF="node51.html#SECTION04516000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html345"
+  HREF="node52.html">Muon Incident</A>
+<UL>
+<LI><A NAME="tex2html346"
+  HREF="node53.html">Muon Ionization</A>
+<UL>
+<LI><A NAME="tex2html347"
+  HREF="node53.html#SECTION04611000000000000000">Status of this document</A>
+<LI><A NAME="tex2html348"
+  HREF="node53.html#SECTION04612000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html349"
+  HREF="node54.html">Bremsstrahlung</A>
+<UL>
+<LI><A NAME="tex2html350"
+  HREF="node54.html#SECTION04621000000000000000">Differential Cross Section</A>
+<LI><A NAME="tex2html351"
+  HREF="node54.html#SECTION04622000000000000000">Continuous Energy Loss</A>
+<LI><A NAME="tex2html352"
+  HREF="node54.html#SECTION04623000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html353"
+  HREF="node54.html#SECTION04624000000000000000">Sampling</A>
+<LI><A NAME="tex2html354"
+  HREF="node54.html#SECTION04625000000000000000">Status of this document</A>
+<LI><A NAME="tex2html355"
+  HREF="node54.html#SECTION04626000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html356"
+  HREF="node55.html">Positron - Electron Pair Production by Muons</A>
+<UL>
+<LI><A NAME="tex2html357"
+  HREF="node55.html#SECTION04631000000000000000">Differential Cross Section</A>
+<LI><A NAME="tex2html358"
+  HREF="node55.html#SECTION04632000000000000000">Total Cross Section and Restricted Energy Loss</A>
+<LI><A NAME="tex2html359"
+  HREF="node55.html#SECTION04633000000000000000">Sampling of Positron - Electron Pair Production</A>
+<LI><A NAME="tex2html360"
+  HREF="node55.html#SECTION04634000000000000000">Status of this document</A>
+<LI><A NAME="tex2html361"
+  HREF="node55.html#SECTION04635000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html362"
+  HREF="node56.html">Muon Photonuclear Interaction</A>
+<UL>
+<LI><A NAME="tex2html363"
+  HREF="node56.html#SECTION04641000000000000000">Differential Cross Section</A>
+<LI><A NAME="tex2html364"
+  HREF="node56.html#SECTION04642000000000000000">Sampling</A>
+<LI><A NAME="tex2html365"
+  HREF="node56.html#SECTION04643000000000000000">Status of this document</A>
+<LI><A NAME="tex2html366"
+  HREF="node56.html#SECTION04644000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html367"
+  HREF="node57.html">Polarized Electron/Positron/Gamma Incident</A>
+<UL>
+<LI><A NAME="tex2html368"
+  HREF="node58.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html369"
+  HREF="node58.html#SECTION04711000000000000000">Stokes vector</A>
+<LI><A NAME="tex2html370"
+  HREF="node58.html#SECTION04712000000000000000">Transfer matrix</A>
+<LI><A NAME="tex2html371"
+  HREF="node58.html#SECTION04713000000000000000">Coordinate transformations</A>
+<LI><A NAME="tex2html372"
+  HREF="node58.html#SECTION04714000000000000000">Polarized beam and material</A>
+<LI><A NAME="tex2html373"
+  HREF="node58.html#SECTION04715000000000000000">Status of this document</A>
+</UL>
+<LI><A NAME="tex2html374"
+  HREF="node59.html">Ionization</A>
+<UL>
+<LI><A NAME="tex2html375"
+  HREF="node59.html#SECTION04721000000000000000">Method</A>
+<LI><A NAME="tex2html376"
+  HREF="node59.html#SECTION04722000000000000000">Total cross section and mean free path</A>
+<LI><A NAME="tex2html377"
+  HREF="node59.html#SECTION04723000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html378"
+  HREF="node59.html#SECTION04724000000000000000">Status of this document</A>
+<LI><A NAME="tex2html379"
+  HREF="node59.html#SECTION04725000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html380"
+  HREF="node60.html">Positron - Electron Annihilation</A>
+<UL>
+<LI><A NAME="tex2html381"
+  HREF="node60.html#SECTION04731000000000000000">Method</A>
+<LI><A NAME="tex2html382"
+  HREF="node60.html#SECTION04732000000000000000">Total cross section and mean free path</A>
+<LI><A NAME="tex2html383"
+  HREF="node60.html#SECTION04733000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html384"
+  HREF="node60.html#SECTION04734000000000000000">Annihilation at Rest</A>
+<LI><A NAME="tex2html385"
+  HREF="node60.html#SECTION04735000000000000000">Status of this document</A>
+<LI><A NAME="tex2html386"
+  HREF="node60.html#SECTION04736000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html387"
+  HREF="node61.html">Polarized Compton scattering</A>
+<UL>
+<LI><A NAME="tex2html388"
+  HREF="node61.html#SECTION04741000000000000000">Method</A>
+<LI><A NAME="tex2html389"
+  HREF="node61.html#SECTION04742000000000000000">Total cross section and mean free path</A>
+<LI><A NAME="tex2html390"
+  HREF="node61.html#SECTION04743000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html391"
+  HREF="node61.html#SECTION04744000000000000000">Status of this document</A>
+<LI><A NAME="tex2html392"
+  HREF="node61.html#SECTION04745000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html393"
+  HREF="node62.html">Polarized Bremsstrahlung for electron and positron</A>
+<UL>
+<LI><A NAME="tex2html394"
+  HREF="node62.html#SECTION04751000000000000000">Method</A>
+<LI><A NAME="tex2html395"
+  HREF="node62.html#SECTION04752000000000000000">Polarization in gamma conversion and bremsstrahlung</A>
+<LI><A NAME="tex2html396"
+  HREF="node62.html#SECTION04753000000000000000">Polarization transfer from the lepton to a photon</A>
+<LI><A NAME="tex2html397"
+  HREF="node62.html#SECTION04754000000000000000">Remaining polarization of the lepton after emitting a bremsstrahlung photon</A>
+<LI><A NAME="tex2html398"
+  HREF="node62.html#SECTION04755000000000000000">Status of this document</A>
+<LI><A NAME="tex2html399"
+  HREF="node62.html#SECTION04756000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html400"
+  HREF="node63.html">Polarized Gamma conversion into an electron-positron pair</A>
+<UL>
+<LI><A NAME="tex2html401"
+  HREF="node63.html#SECTION04761000000000000000">Method</A>
+<LI><A NAME="tex2html402"
+  HREF="node63.html#SECTION04762000000000000000">Polarization transfer from the photon to the two leptons</A>
+<LI><A NAME="tex2html403"
+  HREF="node63.html#SECTION04763000000000000000">Status of this document</A>
+<LI><A NAME="tex2html404"
+  HREF="node63.html#SECTION04764000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html405"
+  HREF="node64.html">Polarized Photoelectric Effect</A>
+<UL>
+<LI><A NAME="tex2html406"
+  HREF="node64.html#SECTION04771000000000000000">Method</A>
+<LI><A NAME="tex2html407"
+  HREF="node64.html#SECTION04772000000000000000">Polarization transfer</A>
+<LI><A NAME="tex2html408"
+  HREF="node64.html#SECTION04773000000000000000">Status of this document</A>
+<LI><A NAME="tex2html409"
+  HREF="node64.html#SECTION04774000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html410"
+  HREF="node65.html">Low Energy Extensions</A>
+<UL>
+<LI><A NAME="tex2html411"
+  HREF="node66.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html412"
+  HREF="node66.html#SECTION04811000000000000000">Physics</A>
+<LI><A NAME="tex2html413"
+  HREF="node66.html#SECTION04812000000000000000">Data Sources</A>
+<LI><A NAME="tex2html414"
+  HREF="node66.html#SECTION04813000000000000000">Distribution of the Data Sets</A>
+<LI><A NAME="tex2html415"
+  HREF="node66.html#SECTION04814000000000000000">Calculation of Total Cross Sections</A>
+<LI><A NAME="tex2html416"
+  HREF="node66.html#SECTION04815000000000000000">Sampling of Relevant Physics Quantities</A>
+<LI><A NAME="tex2html417"
+  HREF="node66.html#SECTION04816000000000000000">Status of the document</A>
+<LI><A NAME="tex2html418"
+  HREF="node66.html#SECTION04817000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html419"
+  HREF="node67.html">Compton Scattering</A>
+<UL>
+<LI><A NAME="tex2html420"
+  HREF="node67.html#SECTION04821000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html421"
+  HREF="node67.html#SECTION04822000000000000000">Sampling of the Final State</A>
+<LI><A NAME="tex2html422"
+  HREF="node67.html#SECTION04823000000000000000">Status of the document</A>
+<LI><A NAME="tex2html423"
+  HREF="node67.html#SECTION04824000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html424"
+  HREF="node68.html">Compton Scattering by Linearly Polarized Gamma Rays</A>
+<UL>
+<LI><A NAME="tex2html425"
+  HREF="node68.html#SECTION04831000000000000000">The Cross Section</A>
+<LI><A NAME="tex2html426"
+  HREF="node68.html#SECTION04832000000000000000">Angular Distribution</A>
+<LI><A NAME="tex2html427"
+  HREF="node68.html#SECTION04833000000000000000">Polarization Vector</A>
+<LI><A NAME="tex2html428"
+  HREF="node68.html#SECTION04834000000000000000">Unpolarized Photons</A>
+<LI><A NAME="tex2html429"
+  HREF="node68.html#SECTION04835000000000000000">Status of this document</A>
+<LI><A NAME="tex2html430"
+  HREF="node68.html#SECTION04836000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html431"
+  HREF="node69.html">Rayleigh Scattering</A>
+<UL>
+<LI><A NAME="tex2html432"
+  HREF="node69.html#SECTION04841000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html433"
+  HREF="node69.html#SECTION04842000000000000000">Sampling of the Final State</A>
+<LI><A NAME="tex2html434"
+  HREF="node69.html#SECTION04843000000000000000">Status of this document</A>
+<LI><A NAME="tex2html435"
+  HREF="node69.html#SECTION04844000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html436"
+  HREF="node70.html">Gamma Conversion</A>
+<UL>
+<LI><A NAME="tex2html437"
+  HREF="node70.html#SECTION04851000000000000000">Total cross-section</A>
+<LI><A NAME="tex2html438"
+  HREF="node70.html#SECTION04852000000000000000">Sampling of the final state</A>
+<LI><A NAME="tex2html439"
+  HREF="node70.html#SECTION04853000000000000000">Status of the document</A>
+<LI><A NAME="tex2html440"
+  HREF="node70.html#SECTION04854000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html441"
+  HREF="node71.html">Photoelectric effect</A>
+<UL>
+<LI><A NAME="tex2html442"
+  HREF="node71.html#SECTION04861000000000000000">Total cross-section</A>
+<LI><A NAME="tex2html443"
+  HREF="node71.html#SECTION04862000000000000000">Sampling of the final state</A>
+<LI><A NAME="tex2html444"
+  HREF="node71.html#SECTION04863000000000000000">Angular distribution of the emmited photoelectron</A>
+<LI><A NAME="tex2html445"
+  HREF="node71.html#SECTION04864000000000000000">Status of the document</A>
+<LI><A NAME="tex2html446"
+  HREF="node71.html#SECTION04865000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html447"
+  HREF="node72.html">Bremsstrahlung</A>
+<UL>
+<LI><A NAME="tex2html448"
+  HREF="node72.html#SECTION04871000000000000000">Bremsstrahlung angular distributions</A>
+<LI><A NAME="tex2html449"
+  HREF="node72.html#SECTION04872000000000000000">Status of the document</A>
+<LI><A NAME="tex2html450"
+  HREF="node72.html#SECTION04873000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html451"
+  HREF="node73.html">Electron ionisation</A>
+<UL>
+<LI><A NAME="tex2html452"
+  HREF="node73.html#SECTION04881000000000000000">Status of the document</A>
+<LI><A NAME="tex2html453"
+  HREF="node73.html#SECTION04882000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html454"
+  HREF="node74.html">Atomic relaxation</A>
+<UL>
+<LI><A NAME="tex2html455"
+  HREF="node74.html#SECTION04891000000000000000">Fluorescence</A>
+<LI><A NAME="tex2html456"
+  HREF="node74.html#SECTION04892000000000000000">Auger process</A>
+<LI><A NAME="tex2html457"
+  HREF="node74.html#SECTION04893000000000000000">Status of the document</A>
+<LI><A NAME="tex2html458"
+  HREF="node74.html#SECTION04894000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html459"
+  HREF="node75.html">Hadron and Ion Ionisation</A>
+<UL>
+<LI><A NAME="tex2html460"
+  HREF="node75.html#SECTION048101000000000000000">Delta-ray production</A>
+<LI><A NAME="tex2html461"
+  HREF="node75.html#SECTION048102000000000000000">Energy Loss of Fast Hadrons</A>
+<LI><A NAME="tex2html462"
+  HREF="node75.html#SECTION048103000000000000000">Barkas and Bloch effects</A>
+<LI><A NAME="tex2html463"
+  HREF="node75.html#SECTION048104000000000000000">Energy losses of slow positive hadrons</A>
+<LI><A NAME="tex2html464"
+  HREF="node75.html#SECTION048105000000000000000">Energy loss of alpha particles</A>
+<LI><A NAME="tex2html465"
+  HREF="node75.html#SECTION048106000000000000000">Effective charge of ions</A>
+<LI><A NAME="tex2html466"
+  HREF="node75.html#SECTION048107000000000000000">Energy losses of slow negative particles</A>
+<LI><A NAME="tex2html467"
+  HREF="node75.html#SECTION048108000000000000000">Energy losses of hadrons in compounds</A>
+<LI><A NAME="tex2html468"
+  HREF="node75.html#SECTION048109000000000000000">Nuclear stopping powers</A>
+<LI><A NAME="tex2html469"
+  HREF="node75.html#SECTION0481010000000000000000">Fluctuations of energy losses of hadrons</A>
+<LI><A NAME="tex2html470"
+  HREF="node75.html#SECTION0481011000000000000000">Sampling</A>
+<LI><A NAME="tex2html471"
+  HREF="node75.html#SECTION0481012000000000000000">PIXE</A>
+<LI><A NAME="tex2html472"
+  HREF="node75.html#SECTION0481013000000000000000">Status of this document</A>
+<LI><A NAME="tex2html473"
+  HREF="node75.html#SECTION0481014000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html474"
+  HREF="node76.html">Penelope physics</A>
+<UL>
+<LI><A NAME="tex2html475"
+  HREF="node76.html#SECTION048111000000000000000">Introduction</A>
+<LI><A NAME="tex2html476"
+  HREF="node76.html#SECTION048112000000000000000">Compton scattering</A>
+<LI><A NAME="tex2html477"
+  HREF="node76.html#SECTION048113000000000000000">Rayleigh scattering</A>
+<LI><A NAME="tex2html478"
+  HREF="node76.html#SECTION048114000000000000000">Gamma conversion</A>
+<LI><A NAME="tex2html479"
+  HREF="node76.html#SECTION048115000000000000000">Photoelectric effect</A>
+<LI><A NAME="tex2html480"
+  HREF="node76.html#SECTION048116000000000000000">Bremsstrahlung</A>
+<LI><A NAME="tex2html481"
+  HREF="node76.html#SECTION048117000000000000000">Ionisation</A>
+<LI><A NAME="tex2html482"
+  HREF="node76.html#SECTION048118000000000000000">Positron Annihilation</A>
+<LI><A NAME="tex2html483"
+  HREF="node76.html#SECTION048119000000000000000">Status of the document</A>
+<LI><A NAME="tex2html484"
+  HREF="node76.html#SECTION0481110000000000000000">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html485"
+  HREF="node77.html">Very Low Energy Extensions (the Geant4 DNA project)</A>
+<UL>
+<LI><A NAME="tex2html486"
+  HREF="node77.html#SECTION048121000000000000000">Introduction</A>
+<LI><A NAME="tex2html487"
+  HREF="node77.html#SECTION048122000000000000000">Processes for the interactions of electrons</A>
+<LI><A NAME="tex2html488"
+  HREF="node77.html#SECTION048123000000000000000">Processes for the interaction of protons</A>
+<LI><A NAME="tex2html489"
+  HREF="node77.html#SECTION048124000000000000000">Processes for the interaction of hydrogen</A>
+<LI><A NAME="tex2html490"
+  HREF="node77.html#SECTION048125000000000000000">Processes for the interaction of helium ions</A>
+<LI><A NAME="tex2html491"
+  HREF="node77.html#SECTION048126000000000000000">Status of the document</A>
+<LI><A NAME="tex2html492"
+  HREF="node77.html#SECTION048127000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html493"
+  HREF="node78.html">Optical Photons</A>
+<UL>
+<LI><A NAME="tex2html494"
+  HREF="node79.html">Interactions of optical photons</A>
+<UL>
+<LI><A NAME="tex2html495"
+  HREF="node79.html#SECTION04911000000000000000">Physics processes for optical photons</A>
+<LI><A NAME="tex2html496"
+  HREF="node79.html#SECTION04912000000000000000">Photon polarization</A>
+<LI><A NAME="tex2html497"
+  HREF="node79.html#SECTION04913000000000000000">Tracking of the photons</A>
+<LI><A NAME="tex2html498"
+  HREF="node79.html#SECTION04914000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html499"
+  HREF="node80.html">Shower Parameterizations</A>
+<UL>
+<LI><A NAME="tex2html500"
+  HREF="node81.html">Gflash Shower Parameterizations</A>
+<UL>
+<LI><A NAME="tex2html501"
+  HREF="node81.html#SECTION041011000000000000000">Parameterization Ansatz</A>
+<LI><A NAME="tex2html502"
+  HREF="node81.html#SECTION041012000000000000000">Longitudinal Shower Profiles </A>
+<LI><A NAME="tex2html503"
+  HREF="node81.html#SECTION041013000000000000000">Radial Shower Profiles</A>
+<LI><A NAME="tex2html504"
+  HREF="node81.html#SECTION041014000000000000000">Gflash Performance</A>
+<LI><A NAME="tex2html505"
+  HREF="node81.html#SECTION041015000000000000000">Status of this document</A>
+<LI><A NAME="tex2html506"
+  HREF="node81.html#SECTION041016000000000000000">Bibliography</A>
+</UL>
+</UL>
+</UL>
+<BR>
+<LI><A NAME="tex2html507"
+  HREF="node82.html">Hadronic Interactions</A>
+<UL>
+<LI><A NAME="tex2html508"
+  HREF="node83.html">Lepton Hadron Interactions</A>
+<UL>
+<LI><A NAME="tex2html509"
+  HREF="node84.html">G4MuonNucleusProcess</A>
+<UL>
+<LI><A NAME="tex2html510"
+  HREF="node84.html#SECTION05111000000000000000">Cross Section Calculation</A>
+</UL>
+<LI><A NAME="tex2html511"
+  HREF="node85.html">Status of this document</A>
+<LI><A NAME="tex2html512"
+  HREF="node86.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html513"
+  HREF="node87.html">Cross-sections in Photonuclear and Electronuclear Reactions</A>
+<UL>
+<LI><A NAME="tex2html514"
+  HREF="node88.html">Approximation of Photonuclear Cross Sections.</A>
+<LI><A NAME="tex2html515"
+  HREF="node89.html">Electronuclear Cross Sections and Reactions</A>
+<UL>
+<LI><A NAME="tex2html516"
+  HREF="node89.html#SECTION05221000000000000000">Common Notation for Different Approaches to Electronuclear Reactions</A>
+</UL>
+<LI><A NAME="tex2html517"
+  HREF="node90.html">Status of this document</A>
+<LI><A NAME="tex2html518"
+  HREF="node91.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html519"
+  HREF="node92.html">Total Reaction Cross Section in Nucleus-nucleus Reactions</A>
+<UL>
+<LI><A NAME="tex2html520"
+  HREF="node93.html">Sihver Formula</A>
+<LI><A NAME="tex2html521"
+  HREF="node94.html">Kox and Shen Formulae</A>
+<LI><A NAME="tex2html522"
+  HREF="node95.html">Tripathi formula</A>
+<LI><A NAME="tex2html523"
+  HREF="node96.html">Representative Cross Sections</A>
+<LI><A NAME="tex2html524"
+  HREF="node97.html">Tripathi Formula for "light" Systems</A>
+<LI><A NAME="tex2html525"
+  HREF="node98.html">Status of this document</A>
+<LI><A NAME="tex2html526"
+  HREF="node99.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html527"
+  HREF="node100.html">Coherent elastic scattering</A>
+<UL>
+<LI><A NAME="tex2html528"
+  HREF="node101.html">Nucleon-Nucleon elastic Scattering</A>
+</UL>
+<LI><A NAME="tex2html529"
+  HREF="node102.html">Hadron-nucleus Elastic Scattering at Medium and High Energy</A>
+<UL>
+<LI><A NAME="tex2html530"
+  HREF="node103.html">Method of Calculation</A>
+<LI><A NAME="tex2html531"
+  HREF="node104.html">Status of this document</A>
+<LI><A NAME="tex2html532"
+  HREF="node105.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html533"
+  HREF="node106.html">Interactions of Stopping Particles</A>
+<UL>
+<LI><A NAME="tex2html534"
+  HREF="node107.html">Complementary parameterised and theoretical treatment</A>
+<UL>
+<LI><A NAME="tex2html535"
+  HREF="node107.html#SECTION05611000000000000000">Pion absorption at rest</A>
+<LI><A NAME="tex2html536"
+  HREF="node107.html#SECTION05612000000000000000">Bibliography</A>
+</UL>
+</UL>
+<LI><A NAME="tex2html537"
+  HREF="node108.html">Parametrization Driven Models</A>
+<UL>
+<LI><A NAME="tex2html538"
+  HREF="node109.html">Introduction</A>
+<LI><A NAME="tex2html539"
+  HREF="node110.html">Low Energy Model</A>
+<LI><A NAME="tex2html540"
+  HREF="node111.html">High Energy Model</A>
+<UL>
+<LI><A NAME="tex2html541"
+  HREF="node111.html#SECTION05731000000000000000">Initial Interaction</A>
+<LI><A NAME="tex2html542"
+  HREF="node111.html#SECTION05732000000000000000">Intra-nuclear Cascade</A>
+<LI><A NAME="tex2html543"
+  HREF="node111.html#SECTION05733000000000000000">High Energy Cascading</A>
+<LI><A NAME="tex2html544"
+  HREF="node111.html#SECTION05734000000000000000">High Energy Cluster Production</A>
+<LI><A NAME="tex2html545"
+  HREF="node111.html#SECTION05735000000000000000">Medium Energy Cascading</A>
+<LI><A NAME="tex2html546"
+  HREF="node111.html#SECTION05736000000000000000">Medium Energy Cluster Production</A>
+<LI><A NAME="tex2html547"
+  HREF="node111.html#SECTION05737000000000000000">Elastic and Quasi-elastic Scattering</A>
+</UL>
+<LI><A NAME="tex2html548"
+  HREF="node112.html">Status of this document</A>
+</UL>
+<LI><A NAME="tex2html549"
+  HREF="node113.html">Leading Particle Bias</A>
+<UL>
+<LI><A NAME="tex2html550"
+  HREF="node114.html">Overview</A>
+<LI><A NAME="tex2html551"
+  HREF="node115.html">Method</A>
+<UL>
+<LI><A NAME="tex2html552"
+  HREF="node115.html#SECTION05821000000000000000">Inclusive hadron production</A>
+<LI><A NAME="tex2html553"
+  HREF="node115.html#SECTION05822000000000000000">Sampling of energy and emission angle of the secondary</A>
+<LI><A NAME="tex2html554"
+  HREF="node115.html#SECTION05823000000000000000">Sampling statistical weight</A>
+</UL>
+<LI><A NAME="tex2html555"
+  HREF="node116.html">Status of this document</A>
+<LI><A NAME="tex2html556"
+  HREF="node117.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html557"
+  HREF="node118.html">Parton string model.</A>
+<UL>
+<LI><A NAME="tex2html558"
+  HREF="node119.html">Reaction initial state simulation.</A>
+<UL>
+<LI><A NAME="tex2html559"
+  HREF="node119.html#SECTION05911000000000000000">Allowed projectiles and bombarding energy range for interaction with nucleon and nuclear targets</A>
+<LI><A NAME="tex2html560"
+  HREF="node119.html#SECTION05912000000000000000">MC initialization procedure for nucleus.</A>
+<LI><A NAME="tex2html561"
+  HREF="node119.html#SECTION05913000000000000000">Random choice of the impact parameter.</A>
+</UL>
+<LI><A NAME="tex2html562"
+  HREF="node120.html">Sample of collision participants
+in nuclear collisions.</A>
+<UL>
+<LI><A NAME="tex2html563"
+  HREF="node120.html#SECTION05921000000000000000">MC procedure to define collision participants.</A>
+<LI><A NAME="tex2html564"
+  HREF="node120.html#SECTION05922000000000000000">Separation of hadron diffraction excitation.</A>
+</UL>
+<LI><A NAME="tex2html565"
+  HREF="node121.html">Longitudinal string excitation</A>
+<UL>
+<LI><A NAME="tex2html566"
+  HREF="node121.html#SECTION05931000000000000000">Hadron-nucleon inelastic collision</A>
+<LI><A NAME="tex2html567"
+  HREF="node121.html#SECTION05932000000000000000">The diffractive string excitation</A>
+<LI><A NAME="tex2html568"
+  HREF="node121.html#SECTION05933000000000000000">The string excitation by parton exchange</A>
+<LI><A NAME="tex2html569"
+  HREF="node121.html#SECTION05934000000000000000">Transverse momentum sampling</A>
+<LI><A NAME="tex2html570"
+  HREF="node121.html#SECTION05935000000000000000">Sampling x-plus and x-minus</A>
+<LI><A NAME="tex2html571"
+  HREF="node121.html#SECTION05936000000000000000">The diffractive string excitation</A>
+<LI><A NAME="tex2html572"
+  HREF="node121.html#SECTION05937000000000000000">The string excitation by parton rearrangement</A>
+</UL>
+<LI><A NAME="tex2html573"
+  HREF="node122.html">Longitudinal string decay.</A>
+<UL>
+<LI><A NAME="tex2html574"
+  HREF="node122.html#SECTION05941000000000000000">Hadron production by string fragmentation.</A>
+<LI><A NAME="tex2html575"
+  HREF="node122.html#SECTION05942000000000000000">The hadron formation time and coordinate.</A>
+</UL>
+<LI><A NAME="tex2html576"
+  HREF="node123.html">Status of this document</A>
+<LI><A NAME="tex2html577"
+  HREF="node124.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html578"
+  HREF="node125.html">Chiral Invariant Phase Space Decay.</A>
+<UL>
+<LI><A NAME="tex2html579"
+  HREF="node126.html">Introduction</A>
+<LI><A NAME="tex2html580"
+  HREF="node127.html">Fundamental Concepts</A>
+<LI><A NAME="tex2html581"
+  HREF="node128.html">Code Development</A>
+<LI><A NAME="tex2html582"
+  HREF="node129.html">Nucleon-Antinucleon Annihilation at Rest</A>
+<UL>
+<LI><A NAME="tex2html583"
+  HREF="node129.html#SECTION051041000000000000000">Meson Production</A>
+<LI><A NAME="tex2html584"
+  HREF="node129.html#SECTION051042000000000000000">Baryon Production</A>
+</UL>
+<LI><A NAME="tex2html585"
+  HREF="node130.html">Nuclear Pion Capture at Rest and Photonuclear Reactions Below the Delta(3,3) Resonance</A>
+<LI><A NAME="tex2html586"
+  HREF="node131.html">Modeling of real and virtual photon interactions with nuclei below pion production threshold</A>
+<LI><A NAME="tex2html587"
+  HREF="node132.html">Chiral invariant phase-space decay in high energy hadron nuclear reactions</A>
+<LI><A NAME="tex2html588"
+  HREF="node133.html">Neutrino-nuclear interactions</A>
+<LI><A NAME="tex2html589"
+  HREF="node134.html">Conclusion.</A>
+<LI><A NAME="tex2html590"
+  HREF="node135.html">Status of this document</A>
+<LI><A NAME="tex2html591"
+  HREF="node136.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html592"
+  HREF="node137.html">Bertini Intranuclear Cascade Model in GEANT4 </A>
+<UL>
+<LI><A NAME="tex2html593"
+  HREF="node138.html">Introduction</A>
+<LI><A NAME="tex2html594"
+  HREF="node139.html">The Geant4 Cascade Model</A>
+<UL>
+<LI><A NAME="tex2html595"
+  HREF="node139.html#SECTION051121000000000000000">Model Limits</A>
+<LI><A NAME="tex2html596"
+  HREF="node139.html#SECTION051122000000000000000">Intranuclear Cascade Model</A>
+<LI><A NAME="tex2html597"
+  HREF="node139.html#SECTION051123000000000000000">Nuclear Model</A>
+<LI><A NAME="tex2html598"
+  HREF="node139.html#SECTION051124000000000000000">Pre-equilibrium Model</A>
+<LI><A NAME="tex2html599"
+  HREF="node139.html#SECTION051125000000000000000">Break-up models</A>
+<LI><A NAME="tex2html600"
+  HREF="node139.html#SECTION051126000000000000000">Evaporation Model</A>
+</UL>
+<LI><A NAME="tex2html601"
+  HREF="node140.html">Interfacing Bertini implementation</A>
+<LI><A NAME="tex2html602"
+  HREF="node141.html">Status of this document</A>
+<LI><A NAME="tex2html603"
+  HREF="node142.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html604"
+  HREF="node143.html">The GEANT4 Binary Cascade</A>
+<UL>
+<LI><A NAME="tex2html605"
+  HREF="node144.html">Modeling overview</A>
+<UL>
+<LI><A NAME="tex2html606"
+  HREF="node144.html#SECTION051211000000000000000">The transport algorithm</A>
+<LI><A NAME="tex2html607"
+  HREF="node144.html#SECTION051212000000000000000">The description of the target nucleus and fermi motion</A>
+<LI><A NAME="tex2html608"
+  HREF="node144.html#SECTION051213000000000000000">Optical and phenomenological potentials </A>
+<LI><A NAME="tex2html609"
+  HREF="node144.html#SECTION051214000000000000000">Pauli blocking simulation</A>
+<LI><A NAME="tex2html610"
+  HREF="node144.html#SECTION051215000000000000000">The scattering term </A>
+<LI><A NAME="tex2html611"
+  HREF="node144.html#SECTION051216000000000000000">Total inclusive cross-sections </A>
+<LI><A NAME="tex2html612"
+  HREF="node144.html#SECTION051217000000000000000">Channel cross-sections</A>
+<LI><A NAME="tex2html613"
+  HREF="node144.html#SECTION051218000000000000000">Mass dependent resonance width and partial width</A>
+<LI><A NAME="tex2html614"
+  HREF="node144.html#SECTION051219000000000000000">Resonance production cross-section in the t-channel</A>
+<LI><A NAME="tex2html615"
+  HREF="node144.html#SECTION0512110000000000000000">Nucleon Nucleon elastic collisions </A>
+<LI><A NAME="tex2html616"
+  HREF="node144.html#SECTION0512111000000000000000">Generation of transverse momentum </A>
+<LI><A NAME="tex2html617"
+  HREF="node144.html#SECTION0512112000000000000000">Decay</A>
+<LI><A NAME="tex2html618"
+  HREF="node144.html#SECTION0512113000000000000000">The escaping particle and coherent effects</A>
+<LI><A NAME="tex2html619"
+  HREF="node144.html#SECTION0512114000000000000000">Light ion reactions</A>
+<LI><A NAME="tex2html620"
+  HREF="node144.html#SECTION0512115000000000000000">Transition to pre-compound modeling</A>
+<LI><A NAME="tex2html621"
+  HREF="node144.html#SECTION0512116000000000000000">Calculation of excitation energies and residuals</A>
+</UL>
+<LI><A NAME="tex2html622"
+  HREF="node145.html">Comparison with experiments</A>
+<LI><A NAME="tex2html623"
+  HREF="node146.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html624"
+  HREF="node147.html">Abrasion-ablation Model</A>
+<UL>
+<LI><A NAME="tex2html625"
+  HREF="node148.html">Introduction</A>
+<LI><A NAME="tex2html626"
+  HREF="node149.html">Initial nuclear dynamics and impact parameter</A>
+<LI><A NAME="tex2html627"
+  HREF="node150.html">Abrasion process</A>
+<LI><A NAME="tex2html628"
+  HREF="node151.html">Abraded nucleon spectrum</A>
+<LI><A NAME="tex2html629"
+  HREF="node152.html">De-excitation of the projectile and target nuclear pre-fragments by standard Geant4 de-excitation physics</A>
+<LI><A NAME="tex2html630"
+  HREF="node153.html">De-excitation of the projectile and target nuclear pre-fragments by nuclear ablation</A>
+<LI><A NAME="tex2html631"
+  HREF="node154.html">Definition of the functions P and F used in the abrasion model</A>
+<LI><A NAME="tex2html632"
+  HREF="node155.html">Status of this document</A>
+<LI><A NAME="tex2html633"
+  HREF="node156.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html634"
+  HREF="node157.html">Electromagnetic Dissociation Model</A>
+<UL>
+<LI><A NAME="tex2html635"
+  HREF="node158.html">The Model</A>
+<LI><A NAME="tex2html636"
+  HREF="node159.html">Status of this document</A>
+<LI><A NAME="tex2html637"
+  HREF="node160.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html638"
+  HREF="node161.html">Precompound model.</A>
+<UL>
+<LI><A NAME="tex2html639"
+  HREF="node162.html">Reaction initial state.</A>
+<LI><A NAME="tex2html640"
+  HREF="node163.html">Simulation of pre-compound reaction</A>
+<UL>
+<LI><A NAME="tex2html641"
+  HREF="node163.html#SECTION051521000000000000000">Statistical equilibrium condition</A>
+<LI><A NAME="tex2html642"
+  HREF="node163.html#SECTION051522000000000000000">Level density of excited (n-exciton) states</A>
+<LI><A NAME="tex2html643"
+  HREF="node163.html#SECTION051523000000000000000">Transition probabilities</A>
+<LI><A NAME="tex2html644"
+  HREF="node163.html#SECTION051524000000000000000">Emission probabilities for nucleons</A>
+<LI><A NAME="tex2html645"
+  HREF="node163.html#SECTION051525000000000000000">Emission probabilities for complex fragments</A>
+<LI><A NAME="tex2html646"
+  HREF="node163.html#SECTION051526000000000000000">The total probability</A>
+<LI><A NAME="tex2html647"
+  HREF="node163.html#SECTION051527000000000000000">Calculation of kinetic energies for emitted particle</A>
+<LI><A NAME="tex2html648"
+  HREF="node163.html#SECTION051528000000000000000">Parameters of residual nucleus.</A>
+</UL>
+<LI><A NAME="tex2html649"
+  HREF="node164.html">Status of this document</A>
+<LI><A NAME="tex2html650"
+  HREF="node165.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html651"
+  HREF="node166.html">Evaporation Model</A>
+<UL>
+<LI><A NAME="tex2html652"
+  HREF="node167.html">Introduction.</A>
+<LI><A NAME="tex2html653"
+  HREF="node168.html">Model description.</A>
+<UL>
+<LI><A NAME="tex2html654"
+  HREF="node168.html#SECTION051621000000000000000">Cross sections for inverse reactions.</A>
+<LI><A NAME="tex2html655"
+  HREF="node168.html#SECTION051622000000000000000">Coulomb barriers.</A>
+<LI><A NAME="tex2html656"
+  HREF="node168.html#SECTION051623000000000000000">Level densities.</A>
+<LI><A NAME="tex2html657"
+  HREF="node168.html#SECTION051624000000000000000">Maximum energy available for evaporation.</A>
+<LI><A NAME="tex2html658"
+  HREF="node168.html#SECTION051625000000000000000">Total decay width.</A>
+</UL>
+<LI><A NAME="tex2html659"
+  HREF="node169.html">GEM Model</A>
+<LI><A NAME="tex2html660"
+  HREF="node170.html">Fission probability calculation.</A>
+<UL>
+<LI><A NAME="tex2html661"
+  HREF="node170.html#SECTION051641000000000000000">The fission total probability.</A>
+<LI><A NAME="tex2html662"
+  HREF="node170.html#SECTION051642000000000000000">The fission barrier.</A>
+</UL>
+<LI><A NAME="tex2html663"
+  HREF="node171.html">The Total Probability for Photon Evaporation</A>
+<UL>
+<LI><A NAME="tex2html664"
+  HREF="node171.html#SECTION051651000000000000000">Energy of evaporated photon</A>
+</UL>
+<LI><A NAME="tex2html665"
+  HREF="node172.html">Discrete photon evaporation</A>
+<LI><A NAME="tex2html666"
+  HREF="node173.html">Internal conversion electron emission</A>
+<UL>
+<LI><A NAME="tex2html667"
+  HREF="node173.html#SECTION051671000000000000000">Multipolarity</A>
+<LI><A NAME="tex2html668"
+  HREF="node173.html#SECTION051672000000000000000">Binding energy</A>
+<LI><A NAME="tex2html669"
+  HREF="node173.html#SECTION051673000000000000000">Isotopes</A>
+</UL>
+<LI><A NAME="tex2html670"
+  HREF="node174.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html671"
+  HREF="node175.html">Fission model.</A>
+<UL>
+<LI><A NAME="tex2html672"
+  HREF="node176.html">Reaction initial state.</A>
+<LI><A NAME="tex2html673"
+  HREF="node177.html">Fission process simulation.</A>
+<UL>
+<LI><A NAME="tex2html674"
+  HREF="node177.html#SECTION051721000000000000000">Atomic number distribution of fission products.</A>
+<LI><A NAME="tex2html675"
+  HREF="node177.html#SECTION051722000000000000000">Charge distribution of fission products.</A>
+<LI><A NAME="tex2html676"
+  HREF="node177.html#SECTION051723000000000000000">Kinetic energy distribution of fission products.</A>
+<LI><A NAME="tex2html677"
+  HREF="node177.html#SECTION051724000000000000000">Calculation of the excitation energy of fission products.</A>
+<LI><A NAME="tex2html678"
+  HREF="node177.html#SECTION051725000000000000000">Excited fragment momenta.</A>
+</UL>
+<LI><A NAME="tex2html679"
+  HREF="node178.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html680"
+  HREF="node179.html">Fermi break-up model.</A>
+<UL>
+<LI><A NAME="tex2html681"
+  HREF="node180.html">Fermi break-up simulation for light nuclei.</A>
+<UL>
+<LI><A NAME="tex2html682"
+  HREF="node180.html#SECTION051811000000000000000">Allowed channel.</A>
+<LI><A NAME="tex2html683"
+  HREF="node180.html#SECTION051812000000000000000">Break-up probability.</A>
+<LI><A NAME="tex2html684"
+  HREF="node180.html#SECTION051813000000000000000">Fermi break-up model parameter.</A>
+<LI><A NAME="tex2html685"
+  HREF="node180.html#SECTION051814000000000000000">Fragment characteristics.</A>
+<LI><A NAME="tex2html686"
+  HREF="node180.html#SECTION051815000000000000000">MC procedure.</A>
+</UL>
+<LI><A NAME="tex2html687"
+  HREF="node181.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html688"
+  HREF="node182.html">Multifragmentation model.</A>
+<UL>
+<LI><A NAME="tex2html689"
+  HREF="node183.html">Multifragmentation process simulation.</A>
+<UL>
+<LI><A NAME="tex2html690"
+  HREF="node183.html#SECTION051911000000000000000">Multifragmentation probability.</A>
+<LI><A NAME="tex2html691"
+  HREF="node183.html#SECTION051912000000000000000">Direct simulation of the low multiplicity multifragment disintegration</A>
+<LI><A NAME="tex2html692"
+  HREF="node183.html#SECTION051913000000000000000">Fragment multiplicity distribution.</A>
+<LI><A NAME="tex2html693"
+  HREF="node183.html#SECTION051914000000000000000">Atomic number distribution of fragments.</A>
+<LI><A NAME="tex2html694"
+  HREF="node183.html#SECTION051915000000000000000">Charge distribution of fragments.</A>
+<LI><A NAME="tex2html695"
+  HREF="node183.html#SECTION051916000000000000000">Kinetic energy distribution of fragments.</A>
+<LI><A NAME="tex2html696"
+  HREF="node183.html#SECTION051917000000000000000">Calculation of the fragment excitation energies.</A>
+</UL>
+<LI><A NAME="tex2html697"
+  HREF="node184.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html698"
+  HREF="node185.html">INCL 4.2 Cascade and ABLA V3 Evaporation with Fission</A>
+<UL>
+<LI><A NAME="tex2html699"
+  HREF="node186.html">Introduction</A>
+<LI><A NAME="tex2html700"
+  HREF="node187.html">INCL4.2 cascade</A>
+<UL>
+<LI><A NAME="tex2html701"
+  HREF="node187.html#SECTION052021000000000000000">Model limits</A>
+<LI><A NAME="tex2html702"
+  HREF="node187.html#SECTION052022000000000000000">Model principles</A>
+<LI><A NAME="tex2html703"
+  HREF="node187.html#SECTION052023000000000000000">Conservation laws</A>
+<LI><A NAME="tex2html704"
+  HREF="node187.html#SECTION052024000000000000000">Cascade stopping time</A>
+<LI><A NAME="tex2html705"
+  HREF="node187.html#SECTION052025000000000000000">Light ions</A>
+</UL>
+<LI><A NAME="tex2html706"
+  HREF="node188.html">ABLA V3 evaporation</A>
+<UL>
+<LI><A NAME="tex2html707"
+  HREF="node188.html#SECTION052031000000000000000">Level densities</A>
+<LI><A NAME="tex2html708"
+  HREF="node188.html#SECTION052032000000000000000">Fission</A>
+</UL>
+<LI><A NAME="tex2html709"
+  HREF="node189.html">External data file required</A>
+<LI><A NAME="tex2html710"
+  HREF="node190.html">Implementation details</A>
+<LI><A NAME="tex2html711"
+  HREF="node191.html">Physics Performance</A>
+<LI><A NAME="tex2html712"
+  HREF="node192.html">Status of this document</A>
+<LI><A NAME="tex2html713"
+  HREF="node193.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html714"
+  HREF="node194.html">Low Energy Neutron Interactions</A>
+<UL>
+<LI><A NAME="tex2html715"
+  HREF="node195.html">Introduction</A>
+<LI><A NAME="tex2html716"
+  HREF="node196.html">Physics and Verification</A>
+<UL>
+<LI><A NAME="tex2html717"
+  HREF="node196.html#SECTION052121000000000000000">Inclusive Cross-sections</A>
+<LI><A NAME="tex2html718"
+  HREF="node196.html#SECTION052122000000000000000">Elastic Scattering</A>
+<LI><A NAME="tex2html719"
+  HREF="node196.html#SECTION052123000000000000000">Radiative Capture</A>
+<LI><A NAME="tex2html720"
+  HREF="node196.html#SECTION052124000000000000000">Fission</A>
+<LI><A NAME="tex2html721"
+  HREF="node196.html#SECTION052125000000000000000">Inelastic Scattering</A>
+</UL>
+<LI><A NAME="tex2html722"
+  HREF="node197.html">High Precision Models and Low Energy Parameterized Models</A>
+<LI><A NAME="tex2html723"
+  HREF="node198.html">Summary</A>
+<LI><A NAME="tex2html724"
+  HREF="node199.html">Status of this document</A>
+<LI><A NAME="tex2html725"
+  HREF="node200.html">Bibliography</A>
+</UL>
+<LI><A NAME="tex2html726"
+  HREF="node201.html">Radioactive Decay</A>
+<UL>
+<LI><A NAME="tex2html727"
+  HREF="node202.html">The Radioactive Decay Module</A>
+<LI><A NAME="tex2html728"
+  HREF="node203.html">Sampling</A>
+<UL>
+<LI><A NAME="tex2html729"
+  HREF="node203.html#SECTION052221000000000000000">Biasing Methods</A>
+</UL>
+<LI><A NAME="tex2html730"
+  HREF="node204.html">Status of this document</A>
+<LI><A NAME="tex2html731"
+  HREF="node205.html">Bibliography</A>
+</UL></UL></UL>
+<!--End of Table of Contents-->
+
+
+
+<P>
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node10.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node10.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node10.html	(revision 901)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Transportation</TITLE>
+<META NAME="description" CONTENT="Transportation">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="previous" HREF="node7.html">
+<LINK REL="up" HREF="node2.html">
+<LINK REL="next" HREF="node11.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html845"
+  HREF="node11.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html841"
+  HREF="node2.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html837"
+  HREF="node9.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html843"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html846"
+  HREF="node11.html">Particle Decay</A>
+<B> Up:</B> <A NAME="tex2html842"
+  HREF="node2.html">Introduction</A>
+<B> Previous:</B> <A NAME="tex2html838"
+  HREF="node9.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html844"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION02300000000000000000">
+Transportation</A>
+</H1>
+
+<P>
+The transportation process is responsible for determining the
+geometrical limits of a step.  It calculates the length of step with which a
+track will cross into 
+another volume.  When the track actually arrives at a boundary, the
+transportation process locates the next volume that it enters.
+
+<P>
+If the particle is charged and there is an electromagnetic (or
+potentially other) field, it is responsible for propagating the particle in
+this field.  It does this according to an equation of motion.  This equation 
+can be provided by Geant4, for the case a magnetic or EM field, 
+or can be provided by the user for other fields.
+
+<P>
+The transportation updates the time of flight of a particle, utilising its
+initial velocity.
+
+<P>
+<I>Some additional details on motion in fields:</I>
+
+<P>
+In order to intersect the model Geant4 geometry of a detector or setup, the
+curved trajectory followed by a charged particle is split into 'chords segments'.  A
+chord is a straight line segment between two trajectory points.  Chords are
+created utilizing a criterion for the maximum estimated distance between a
+curve point and the chord. This distance is also known as the sagitta.
+
+<P>
+The equations of motions are solved utilising Runge Kutta methods.
+Runge Kutta methods of different can be utilised for fields depending on the
+numerical method utilised for approximating the field.  Specialised methods
+for near-constant magnetic fields are under development.
+
+<P>
+
+<P>
+<HR>
+<!--Navigation Panel-->
+<A NAME="tex2html845"
+  HREF="node11.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html841"
+  HREF="node2.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html837"
+  HREF="node9.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html843"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html846"
+  HREF="node11.html">Particle Decay</A>
+<B> Up:</B> <A NAME="tex2html842"
+  HREF="node2.html">Introduction</A>
+<B> Previous:</B> <A NAME="tex2html838"
+  HREF="node9.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html844"
+  HREF="node1.html">Contents</A></B> 
+<!--End of Navigation Panel-->
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node100.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node100.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node100.html	(revision 901)
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Coherent elastic scattering</TITLE>
+<META NAME="description" CONTENT="Coherent elastic scattering">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node102.html">
+<LINK REL="previous" HREF="node92.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node101.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2735"
+  HREF="node101.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2731"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2725"
+  HREF="node99.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2733"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2736"
+  HREF="node101.html">Nucleon-Nucleon elastic Scattering</A>
+<B> Up:</B> <A NAME="tex2html2732"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2726"
+  HREF="node99.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html2734"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05400000000000000000">
+Coherent elastic scattering</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2737"
+  HREF="node101.html">Nucleon-Nucleon elastic Scattering</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node102.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node102.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node102.html	(revision 901)
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Hadron-nucleus Elastic Scattering at Medium/High Energy</TITLE>
+<META NAME="description" CONTENT="Hadron-nucleus Elastic Scattering at Medium/High Energy">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node106.html">
+<LINK REL="previous" HREF="node100.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node103.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2758"
+  HREF="node103.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2754"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2748"
+  HREF="node101.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2756"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2759"
+  HREF="node103.html">Method of Calculation</A>
+<B> Up:</B> <A NAME="tex2html2755"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2749"
+  HREF="node101.html">Nucleon-Nucleon elastic Scattering</A>
+ &nbsp; <B>  <A NAME="tex2html2757"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05500000000000000000">
+Hadron-nucleus Elastic Scattering at Medium and High Energy</A>
+</H1>
+
+<P>
+<BR>
+<BR>
+<BR>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2760"
+  HREF="node103.html">Method of Calculation</A>
+<LI><A NAME="tex2html2761"
+  HREF="node104.html">Status of this document</A>
+<LI><A NAME="tex2html2762"
+  HREF="node105.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node106.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node106.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node106.html	(revision 901)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Interactions of Stopping Particles</TITLE>
+<META NAME="description" CONTENT="Interactions of Stopping Particles">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node108.html">
+<LINK REL="previous" HREF="node102.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node107.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2807"
+  HREF="node107.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2803"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2797"
+  HREF="node105.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2805"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2808"
+  HREF="node107.html">Complementary parameterised and theoretical</A>
+<B> Up:</B> <A NAME="tex2html2804"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2798"
+  HREF="node105.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html2806"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05600000000000000000">
+Interactions of Stopping Particles</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2809"
+  HREF="node107.html">Complementary parameterised and theoretical treatment</A>
+<UL>
+<LI><A NAME="tex2html2810"
+  HREF="node107.html#SECTION05611000000000000000">Pion absorption at rest</A>
+<LI><A NAME="tex2html2811"
+  HREF="node107.html#SECTION05612000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node108.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node108.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node108.html	(revision 901)
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Parametrization Driven Models</TITLE>
+<META NAME="description" CONTENT="Parametrization Driven Models">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node113.html">
+<LINK REL="previous" HREF="node106.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node109.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2834"
+  HREF="node109.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2830"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2824"
+  HREF="node107.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2832"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2835"
+  HREF="node109.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html2831"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2825"
+  HREF="node107.html">Complementary parameterised and theoretical</A>
+ &nbsp; <B>  <A NAME="tex2html2833"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05700000000000000000">
+Parametrization Driven Models</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2836"
+  HREF="node109.html">Introduction</A>
+<LI><A NAME="tex2html2837"
+  HREF="node110.html">Low Energy Model</A>
+<LI><A NAME="tex2html2838"
+  HREF="node111.html">High Energy Model</A>
+<UL>
+<LI><A NAME="tex2html2839"
+  HREF="node111.html#SECTION05731000000000000000">Initial Interaction</A>
+<LI><A NAME="tex2html2840"
+  HREF="node111.html#SECTION05732000000000000000">Intra-nuclear Cascade</A>
+<LI><A NAME="tex2html2841"
+  HREF="node111.html#SECTION05733000000000000000">High Energy Cascading</A>
+<LI><A NAME="tex2html2842"
+  HREF="node111.html#SECTION05734000000000000000">High Energy Cluster Production</A>
+<LI><A NAME="tex2html2843"
+  HREF="node111.html#SECTION05735000000000000000">Medium Energy Cascading</A>
+<LI><A NAME="tex2html2844"
+  HREF="node111.html#SECTION05736000000000000000">Medium Energy Cluster Production</A>
+<LI><A NAME="tex2html2845"
+  HREF="node111.html#SECTION05737000000000000000">Elastic and Quasi-elastic Scattering</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2846"
+  HREF="node112.html">Status of this document</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node11.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node11.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node11.html	(revision 901)
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Particle Decay</TITLE>
+<META NAME="description" CONTENT="Particle Decay">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node17.html">
+<LINK REL="previous" HREF="node2.html">
+<LINK REL="up" HREF="PhysicsReferenceManual.html">
+<LINK REL="next" HREF="node12.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html857"
+  HREF="node12.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html853"
+  HREF="PhysicsReferenceManual.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html847"
+  HREF="node10.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html855"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html858"
+  HREF="node12.html">Decay</A>
+<B> Up:</B> <A NAME="tex2html854"
+  HREF="PhysicsReferenceManual.html">Physics Reference Manual</A>
+<B> Previous:</B> <A NAME="tex2html848"
+  HREF="node10.html">Transportation</A>
+ &nbsp; <B>  <A NAME="tex2html856"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION03000000000000000000">
+Particle Decay</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html859"
+  HREF="node12.html">Decay</A>
+<UL>
+<LI><A NAME="tex2html860"
+  HREF="node13.html">Mean Free Path for Decay in Flight</A>
+<LI><A NAME="tex2html861"
+  HREF="node14.html">Branching Ratios and Decay Channels</A>
+<LI><A NAME="tex2html862"
+  HREF="node15.html">Status of this document</A>
+<LI><A NAME="tex2html863"
+  HREF="node16.html">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node113.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node113.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node113.html	(revision 901)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Leading Particle Bias</TITLE>
+<META NAME="description" CONTENT="Leading Particle Bias">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node118.html">
+<LINK REL="previous" HREF="node108.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node114.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2910"
+  HREF="node114.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2906"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2900"
+  HREF="node112.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2908"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2911"
+  HREF="node114.html">Overview</A>
+<B> Up:</B> <A NAME="tex2html2907"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2901"
+  HREF="node112.html">Status of this document</A>
+ &nbsp; <B>  <A NAME="tex2html2909"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05800000000000000000">
+Leading Particle Bias</A>
+</H1> 
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2912"
+  HREF="node114.html">Overview</A>
+<LI><A NAME="tex2html2913"
+  HREF="node115.html">Method</A>
+<UL>
+<LI><A NAME="tex2html2914"
+  HREF="node115.html#SECTION05821000000000000000">Inclusive hadron production</A>
+<LI><A NAME="tex2html2915"
+  HREF="node115.html#SECTION05822000000000000000">Sampling of energy and emission angle of the secondary</A>
+<LI><A NAME="tex2html2916"
+  HREF="node115.html#SECTION05823000000000000000">Sampling statistical weight</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2917"
+  HREF="node116.html">Status of this document</A>
+<LI><A NAME="tex2html2918"
+  HREF="node117.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node118.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node118.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node118.html	(revision 901)
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Parton string model.</TITLE>
+<META NAME="description" CONTENT="Parton string model.">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node125.html">
+<LINK REL="previous" HREF="node113.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node119.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2978"
+  HREF="node119.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2974"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2968"
+  HREF="node117.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2976"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2979"
+  HREF="node119.html">Reaction initial state simulation.</A>
+<B> Up:</B> <A NAME="tex2html2975"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2969"
+  HREF="node117.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html2977"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05900000000000000000">
+Parton string model.</A>
+</H1> 
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2980"
+  HREF="node119.html">Reaction initial state simulation.</A>
+<UL>
+<LI><A NAME="tex2html2981"
+  HREF="node119.html#SECTION05911000000000000000">Allowed projectiles and bombarding energy range</A>
+<LI><A NAME="tex2html2982"
+  HREF="node119.html#SECTION05912000000000000000">MC initialization procedure for nucleus.</A>
+<LI><A NAME="tex2html2983"
+  HREF="node119.html#SECTION05913000000000000000">Random choice of the impact parameter.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2984"
+  HREF="node120.html">Sample of collision participants
+in nuclear collisions.</A>
+<UL>
+<LI><A NAME="tex2html2985"
+  HREF="node120.html#SECTION05921000000000000000">MC procedure to define collision participants.</A>
+<LI><A NAME="tex2html2986"
+  HREF="node120.html#SECTION05922000000000000000">Separation of hadron diffraction excitation.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2987"
+  HREF="node121.html">Longitudinal string excitation</A>
+<UL>
+<LI><A NAME="tex2html2988"
+  HREF="node121.html#SECTION05931000000000000000">Hadron-nucleon inelastic collision</A>
+<LI><A NAME="tex2html2989"
+  HREF="node121.html#SECTION05932000000000000000">The diffractive string excitation</A>
+<LI><A NAME="tex2html2990"
+  HREF="node121.html#SECTION05933000000000000000">The string excitation by parton exchange</A>
+<LI><A NAME="tex2html2991"
+  HREF="node121.html#SECTION05934000000000000000">Transverse momentum sampling</A>
+<LI><A NAME="tex2html2992"
+  HREF="node121.html#SECTION05935000000000000000">Sampling x-plus and x-minus</A>
+<LI><A NAME="tex2html2993"
+  HREF="node121.html#SECTION05936000000000000000">The diffractive string excitation</A>
+<LI><A NAME="tex2html2994"
+  HREF="node121.html#SECTION05937000000000000000">The string excitation by parton rearrangement</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2995"
+  HREF="node122.html">Longitudinal string decay.</A>
+<UL>
+<LI><A NAME="tex2html2996"
+  HREF="node122.html#SECTION05941000000000000000">Hadron production by string fragmentation.</A>
+<LI><A NAME="tex2html2997"
+  HREF="node122.html#SECTION05942000000000000000">The hadron formation time and coordinate.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2998"
+  HREF="node123.html">Status of this document</A>
+<LI><A NAME="tex2html2999"
+  HREF="node124.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node12.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node12.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node12.html	(revision 901)
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Decay</TITLE>
+<META NAME="description" CONTENT="Decay">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="previous" HREF="node11.html">
+<LINK REL="up" HREF="node11.html">
+<LINK REL="next" HREF="node13.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html872"
+  HREF="node13.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html868"
+  HREF="node11.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html864"
+  HREF="node11.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html870"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html873"
+  HREF="node13.html">Mean Free Path for</A>
+<B> Up:</B> <A NAME="tex2html869"
+  HREF="node11.html">Particle Decay</A>
+<B> Previous:</B> <A NAME="tex2html865"
+  HREF="node11.html">Particle Decay</A>
+ &nbsp; <B>  <A NAME="tex2html871"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION03100000000000000000">
+Decay</A>
+</H1>
+
+The decay of particles in flight and at rest is simulated by the 
+<I>G4Decay</I> class.
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html874"
+  HREF="node13.html">Mean Free Path for Decay in Flight</A>
+<LI><A NAME="tex2html875"
+  HREF="node14.html">Branching Ratios and Decay Channels</A>
+<UL>
+<LI><A NAME="tex2html876"
+  HREF="node14.html#SECTION03121000000000000000">G4PhaseSpaceDecayChannel</A>
+<LI><A NAME="tex2html877"
+  HREF="node14.html#SECTION03122000000000000000">G4DalitzDecayChannel</A>
+<LI><A NAME="tex2html878"
+  HREF="node14.html#SECTION03123000000000000000">Muon Decay</A>
+<LI><A NAME="tex2html879"
+  HREF="node14.html#SECTION03124000000000000000">Leptonic Tau Decay</A>
+<LI><A NAME="tex2html880"
+  HREF="node14.html#SECTION03125000000000000000">Kaon Decay</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html881"
+  HREF="node15.html">Status of this document</A>
+<LI><A NAME="tex2html882"
+  HREF="node16.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node125.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node125.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node125.html	(revision 901)
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Chiral Invariant Phase Space Decay.</TITLE>
+<META NAME="description" CONTENT="Chiral Invariant Phase Space Decay.">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node137.html">
+<LINK REL="previous" HREF="node118.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node126.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3094"
+  HREF="node126.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3090"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3084"
+  HREF="node124.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3092"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3095"
+  HREF="node126.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html3091"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3085"
+  HREF="node124.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3093"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051000000000000000000">
+Chiral Invariant Phase Space Decay.</A>
+</H1>
+
+<P>
+                    
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3096"
+  HREF="node126.html">Introduction</A>
+<LI><A NAME="tex2html3097"
+  HREF="node127.html">Fundamental Concepts</A>
+<LI><A NAME="tex2html3098"
+  HREF="node128.html">Code Development</A>
+<LI><A NAME="tex2html3099"
+  HREF="node129.html">Nucleon-Antinucleon Annihilation at Rest</A>
+<UL>
+<LI><A NAME="tex2html3100"
+  HREF="node129.html#SECTION051041000000000000000">Meson Production</A>
+<LI><A NAME="tex2html3101"
+  HREF="node129.html#SECTION051042000000000000000">Baryon Production</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3102"
+  HREF="node130.html">Nuclear Pion Capture Below Delta(3,3)</A>
+<LI><A NAME="tex2html3103"
+  HREF="node131.html">Modeling of real and virtual photon interactions</A>
+<LI><A NAME="tex2html3104"
+  HREF="node132.html">Chiral invariant phase-space decay</A>
+<LI><A NAME="tex2html3105"
+  HREF="node133.html">Neutrino-nuclear interactions</A>
+<LI><A NAME="tex2html3106"
+  HREF="node134.html">Conclusion.</A>
+<LI><A NAME="tex2html3107"
+  HREF="node135.html">Status of this document</A>
+<LI><A NAME="tex2html3108"
+  HREF="node136.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node137.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node137.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node137.html	(revision 901)
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Bertini Intranuclear Cascade Model in GEANT4 </TITLE>
+<META NAME="description" CONTENT="Bertini Intranuclear Cascade Model in GEANT4 ">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node143.html">
+<LINK REL="previous" HREF="node125.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node138.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3251"
+  HREF="node138.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3247"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3241"
+  HREF="node136.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3249"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3252"
+  HREF="node138.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html3248"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3242"
+  HREF="node136.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3250"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051100000000000000000">
+Bertini Intranuclear Cascade Model in G<SMALL>EANT4</SMALL> </A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3253"
+  HREF="node138.html">Introduction</A>
+<LI><A NAME="tex2html3254"
+  HREF="node139.html">The Geant4 Cascade Model</A>
+<UL>
+<LI><A NAME="tex2html3255"
+  HREF="node139.html#SECTION051121000000000000000">Model Limits</A>
+<LI><A NAME="tex2html3256"
+  HREF="node139.html#SECTION051122000000000000000">Intranuclear Cascade Model</A>
+<LI><A NAME="tex2html3257"
+  HREF="node139.html#SECTION051123000000000000000">Nuclear Model</A>
+<LI><A NAME="tex2html3258"
+  HREF="node139.html#SECTION051124000000000000000">Pre-equilibrium Model</A>
+<LI><A NAME="tex2html3259"
+  HREF="node139.html#SECTION051125000000000000000">Break-up models</A>
+<LI><A NAME="tex2html3260"
+  HREF="node139.html#SECTION051126000000000000000">Evaporation Model</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3261"
+  HREF="node140.html">Interfacing Bertini implementation</A>
+<LI><A NAME="tex2html3262"
+  HREF="node141.html">Status of this document</A>
+<LI><A NAME="tex2html3263"
+  HREF="node142.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node143.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node143.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node143.html	(revision 901)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>The GEANT4 Binary Cascade</TITLE>
+<META NAME="description" CONTENT="The GEANT4 Binary Cascade">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node147.html">
+<LINK REL="previous" HREF="node137.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node144.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3341"
+  HREF="node144.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3337"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3331"
+  HREF="node142.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3339"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3342"
+  HREF="node144.html">Modeling overview</A>
+<B> Up:</B> <A NAME="tex2html3338"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3332"
+  HREF="node142.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3340"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051200000000000000000">
+The G<SMALL>EANT4</SMALL> Binary Cascade</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3343"
+  HREF="node144.html">Modeling overview</A>
+<UL>
+<LI><A NAME="tex2html3344"
+  HREF="node144.html#SECTION051211000000000000000">The transport algorithm</A>
+<LI><A NAME="tex2html3345"
+  HREF="node144.html#SECTION051212000000000000000">The description of the target nucleus and fermi motion</A>
+<LI><A NAME="tex2html3346"
+  HREF="node144.html#SECTION051213000000000000000">Optical and phenomenological potentials </A>
+<LI><A NAME="tex2html3347"
+  HREF="node144.html#SECTION051214000000000000000">Pauli blocking simulation</A>
+<LI><A NAME="tex2html3348"
+  HREF="node144.html#SECTION051215000000000000000">The scattering term </A>
+<LI><A NAME="tex2html3349"
+  HREF="node144.html#SECTION051216000000000000000">Total inclusive cross-sections </A>
+<LI><A NAME="tex2html3350"
+  HREF="node144.html#SECTION051217000000000000000">Channel cross-sections</A>
+<LI><A NAME="tex2html3351"
+  HREF="node144.html#SECTION051218000000000000000">Mass dependent resonance width and partial width</A>
+<LI><A NAME="tex2html3352"
+  HREF="node144.html#SECTION051219000000000000000">Resonance production cross-section in the t-channel</A>
+<LI><A NAME="tex2html3353"
+  HREF="node144.html#SECTION0512110000000000000000">Nucleon Nucleon elastic collisions </A>
+<LI><A NAME="tex2html3354"
+  HREF="node144.html#SECTION0512111000000000000000">Generation of transverse momentum </A>
+<LI><A NAME="tex2html3355"
+  HREF="node144.html#SECTION0512112000000000000000">Decay</A>
+<LI><A NAME="tex2html3356"
+  HREF="node144.html#SECTION0512113000000000000000">The escaping particle and coherent effects</A>
+<LI><A NAME="tex2html3357"
+  HREF="node144.html#SECTION0512114000000000000000">Light ion reactions</A>
+<LI><A NAME="tex2html3358"
+  HREF="node144.html#SECTION0512115000000000000000">Transition to pre-compound modeling</A>
+<LI><A NAME="tex2html3359"
+  HREF="node144.html#SECTION0512116000000000000000">Calculation of excitation energies and residuals</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3360"
+  HREF="node145.html">Comparison with experiments</A>
+<LI><A NAME="tex2html3361"
+  HREF="node146.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node147.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node147.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node147.html	(revision 901)
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Abrasion-ablation Model</TITLE>
+<META NAME="description" CONTENT="Abrasion-ablation Model">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node157.html">
+<LINK REL="previous" HREF="node143.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node148.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3423"
+  HREF="node148.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3419"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3413"
+  HREF="node146.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3421"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3424"
+  HREF="node148.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html3420"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3414"
+  HREF="node146.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3422"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051300000000000000000">
+Abrasion-ablation Model</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3425"
+  HREF="node148.html">Introduction</A>
+<LI><A NAME="tex2html3426"
+  HREF="node149.html">Initial nuclear dynamics and impact parameter</A>
+<LI><A NAME="tex2html3427"
+  HREF="node150.html">Abrasion process</A>
+<LI><A NAME="tex2html3428"
+  HREF="node151.html">Abraded nucleon spectrum</A>
+<LI><A NAME="tex2html3429"
+  HREF="node152.html">De-excitation of nuclear pre-fragments by standard G4</A>
+<LI><A NAME="tex2html3430"
+  HREF="node153.html">De-excitation of nuclear pre-fragments by nuclear ablation</A>
+<LI><A NAME="tex2html3431"
+  HREF="node154.html">Definition of the functions P and F used in the abrasion model</A>
+<LI><A NAME="tex2html3432"
+  HREF="node155.html">Status of this document</A>
+<LI><A NAME="tex2html3433"
+  HREF="node156.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node157.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node157.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node157.html	(revision 901)
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Electromagnetic Dissociation Model</TITLE>
+<META NAME="description" CONTENT="Electromagnetic Dissociation Model">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node161.html">
+<LINK REL="previous" HREF="node147.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node158.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3550"
+  HREF="node158.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3546"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3540"
+  HREF="node156.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3548"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3551"
+  HREF="node158.html">The Model</A>
+<B> Up:</B> <A NAME="tex2html3547"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3541"
+  HREF="node156.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3549"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051400000000000000000">
+Electromagnetic Dissociation Model</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3552"
+  HREF="node158.html">The Model</A>
+<LI><A NAME="tex2html3553"
+  HREF="node159.html">Status of this document</A>
+<LI><A NAME="tex2html3554"
+  HREF="node160.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node161.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node161.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node161.html	(revision 901)
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Precompound model.</TITLE>
+<META NAME="description" CONTENT="Precompound model.">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node166.html">
+<LINK REL="previous" HREF="node157.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node162.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3599"
+  HREF="node162.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3595"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3589"
+  HREF="node160.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3597"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3600"
+  HREF="node162.html">Reaction initial state.</A>
+<B> Up:</B> <A NAME="tex2html3596"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3590"
+  HREF="node160.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3598"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051500000000000000000">
+Precompound model.</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3601"
+  HREF="node162.html">Reaction initial state.</A>
+<LI><A NAME="tex2html3602"
+  HREF="node163.html">Simulation of pre-compound reaction</A>
+<UL>
+<LI><A NAME="tex2html3603"
+  HREF="node163.html#SECTION051521000000000000000">Statistical equilibrium condition</A>
+<LI><A NAME="tex2html3604"
+  HREF="node163.html#SECTION051522000000000000000">Level density of excited (n-exciton) states</A>
+<LI><A NAME="tex2html3605"
+  HREF="node163.html#SECTION051523000000000000000">Transition probabilities</A>
+<LI><A NAME="tex2html3606"
+  HREF="node163.html#SECTION051524000000000000000">Emission probabilities for nucleons</A>
+<LI><A NAME="tex2html3607"
+  HREF="node163.html#SECTION051525000000000000000">Emission probabilities for complex fragments</A>
+<LI><A NAME="tex2html3608"
+  HREF="node163.html#SECTION051526000000000000000">The total probability</A>
+<LI><A NAME="tex2html3609"
+  HREF="node163.html#SECTION051527000000000000000">Calculation of kinetic energies for emitted particle</A>
+<LI><A NAME="tex2html3610"
+  HREF="node163.html#SECTION051528000000000000000">Parameters of residual nucleus.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3611"
+  HREF="node164.html">Status of this document</A>
+<LI><A NAME="tex2html3612"
+  HREF="node165.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node166.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node166.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node166.html	(revision 901)
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Evaporation Model</TITLE>
+<META NAME="description" CONTENT="Evaporation Model">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node175.html">
+<LINK REL="previous" HREF="node161.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node167.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3677"
+  HREF="node167.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3673"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3667"
+  HREF="node165.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3675"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3678"
+  HREF="node167.html">Introduction.</A>
+<B> Up:</B> <A NAME="tex2html3674"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3668"
+  HREF="node165.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3676"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051600000000000000000">
+Evaporation Model</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3679"
+  HREF="node167.html">Introduction.</A>
+<LI><A NAME="tex2html3680"
+  HREF="node168.html">Model description.</A>
+<UL>
+<LI><A NAME="tex2html3681"
+  HREF="node168.html#SECTION051621000000000000000">Cross sections for inverse reactions.</A>
+<LI><A NAME="tex2html3682"
+  HREF="node168.html#SECTION051622000000000000000">Coulomb barriers.</A>
+<LI><A NAME="tex2html3683"
+  HREF="node168.html#SECTION051623000000000000000">Level densities.</A>
+<LI><A NAME="tex2html3684"
+  HREF="node168.html#SECTION051624000000000000000">Maximum energy available for evaporation.</A>
+<LI><A NAME="tex2html3685"
+  HREF="node168.html#SECTION051625000000000000000">Total decay width.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3686"
+  HREF="node169.html">GEM Model</A>
+<LI><A NAME="tex2html3687"
+  HREF="node170.html">Fission probability calculation.</A>
+<UL>
+<LI><A NAME="tex2html3688"
+  HREF="node170.html#SECTION051641000000000000000">The fission total probability.</A>
+<LI><A NAME="tex2html3689"
+  HREF="node170.html#SECTION051642000000000000000">The fission barrier.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3690"
+  HREF="node171.html">The Total Probability for Photon Evaporation</A>
+<UL>
+<LI><A NAME="tex2html3691"
+  HREF="node171.html#SECTION051651000000000000000">Energy of evaporated photon</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3692"
+  HREF="node172.html">Discrete photon evaporation</A>
+<LI><A NAME="tex2html3693"
+  HREF="node173.html">Internal conversion electron emission</A>
+<UL>
+<LI><A NAME="tex2html3694"
+  HREF="node173.html#SECTION051671000000000000000">Multipolarity</A>
+<LI><A NAME="tex2html3695"
+  HREF="node173.html#SECTION051672000000000000000">Binding energy</A>
+<LI><A NAME="tex2html3696"
+  HREF="node173.html#SECTION051673000000000000000">Isotopes</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3697"
+  HREF="node174.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node17.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node17.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node17.html	(revision 901)
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Electromagnetic Interactions</TITLE>
+<META NAME="description" CONTENT="Electromagnetic Interactions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node82.html">
+<LINK REL="previous" HREF="node11.html">
+<LINK REL="up" HREF="PhysicsReferenceManual.html">
+<LINK REL="next" HREF="node18.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html944"
+  HREF="node18.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html940"
+  HREF="PhysicsReferenceManual.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html934"
+  HREF="node16.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html942"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html945"
+  HREF="node18.html">Particle Transport</A>
+<B> Up:</B> <A NAME="tex2html941"
+  HREF="PhysicsReferenceManual.html">Physics Reference Manual</A>
+<B> Previous:</B> <A NAME="tex2html935"
+  HREF="node16.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html943"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04000000000000000000">
+Electromagnetic Interactions</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html946"
+  HREF="node18.html">Particle Transport</A>
+<UL>
+<LI><A NAME="tex2html947"
+  HREF="node19.html">The Interaction Length or Mean Free Path</A>
+<LI><A NAME="tex2html948"
+  HREF="node20.html">Determination of the Interaction Point</A>
+<LI><A NAME="tex2html949"
+  HREF="node21.html">Updating the Particle Lifetime</A>
+<LI><A NAME="tex2html950"
+  HREF="node22.html">Status of this document</A>
+<LI><A NAME="tex2html951"
+  HREF="node23.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html952"
+  HREF="node24.html">Gamma Incident</A>
+<UL>
+<LI><A NAME="tex2html953"
+  HREF="node25.html">Introduction</A>
+<LI><A NAME="tex2html954"
+  HREF="node26.html">Photoelectric Effect</A>
+<LI><A NAME="tex2html955"
+  HREF="node27.html">Compton scattering</A>
+<LI><A NAME="tex2html956"
+  HREF="node28.html">Gamma Conversion into an Electron - Positron Pair</A>
+<LI><A NAME="tex2html957"
+  HREF="node29.html">Gamma Conversion into a Muon - Anti-mu Pair</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html958"
+  HREF="node30.html">Common to All Charged Particles</A>
+<UL>
+<LI><A NAME="tex2html959"
+  HREF="node31.html">Computing the Mean Energy Loss</A>
+<LI><A NAME="tex2html960"
+  HREF="node32.html">Energy loss fluctuations</A>
+<LI><A NAME="tex2html961"
+  HREF="node33.html">Correcting the cross section for energy variation </A>
+<LI><A NAME="tex2html962"
+  HREF="node34.html">Conversion from range cut to kinetic energy cut</A>
+<LI><A NAME="tex2html963"
+  HREF="node35.html">Multiple Scattering</A>
+<LI><A NAME="tex2html964"
+  HREF="node36.html">Single Scattering</A>
+<LI><A NAME="tex2html965"
+  HREF="node37.html">Ion Scattering</A>
+<LI><A NAME="tex2html966"
+  HREF="node38.html">Transition radiation</A>
+<LI><A NAME="tex2html967"
+  HREF="node39.html">Scintillation</A>
+<LI><A NAME="tex2html968"
+  HREF="node40.html">Cerenkov Effect</A>
+<LI><A NAME="tex2html969"
+  HREF="node41.html">Photoabsorption ionization model</A>
+<LI><A NAME="tex2html970"
+  HREF="node42.html">Photoabsorption cross section at low energies</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html971"
+  HREF="node43.html">Electron and Positron Incident</A>
+<UL>
+<LI><A NAME="tex2html972"
+  HREF="node44.html">Ionization</A>
+<LI><A NAME="tex2html973"
+  HREF="node45.html">Bremsstrahlung</A>
+<LI><A NAME="tex2html974"
+  HREF="node46.html">Positron - Electron Annihilation</A>
+<LI><A NAME="tex2html975"
+  HREF="node47.html">Positron - Electron Annihilation into Muon - Anti-muon</A>
+<LI><A NAME="tex2html976"
+  HREF="node48.html">Positron - Electron Annihilation into Hadrons</A>
+<LI><A NAME="tex2html977"
+  HREF="node49.html">Synchrotron Radiation</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html978"
+  HREF="node50.html">Charged Hadron Incident</A>
+<UL>
+<LI><A NAME="tex2html979"
+  HREF="node51.html">Ionization</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html980"
+  HREF="node52.html">Muon Incident</A>
+<UL>
+<LI><A NAME="tex2html981"
+  HREF="node53.html">Ionization</A>
+<LI><A NAME="tex2html982"
+  HREF="node54.html">Bremsstrahlung</A>
+<LI><A NAME="tex2html983"
+  HREF="node55.html">Positron - Electron Pair Production by Muons</A>
+<LI><A NAME="tex2html984"
+  HREF="node56.html">Muon Photonuclear Interaction</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html985"
+  HREF="node57.html">Polarized Electron/Positron/Gamma Incident</A>
+<UL>
+<LI><A NAME="tex2html986"
+  HREF="node58.html">Introduction</A>
+<LI><A NAME="tex2html987"
+  HREF="node59.html">Ionization</A>
+<LI><A NAME="tex2html988"
+  HREF="node60.html">Positron - Electron Annihilation</A>
+<LI><A NAME="tex2html989"
+  HREF="node61.html">Polarized Compton scattering</A>
+<LI><A NAME="tex2html990"
+  HREF="node62.html">Polarized Bremsstrahlung for electron and positron</A>
+<LI><A NAME="tex2html991"
+  HREF="node63.html">Polarized Gamma conversion into an electron-positron pair</A>
+<LI><A NAME="tex2html992"
+  HREF="node64.html">Polarized Photoelectric Effect</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html993"
+  HREF="node65.html">Low Energy Extensions</A>
+<UL>
+<LI><A NAME="tex2html994"
+  HREF="node66.html">Introduction</A>
+<LI><A NAME="tex2html995"
+  HREF="node67.html">Compton Scattering</A>
+<LI><A NAME="tex2html996"
+  HREF="node68.html">Compton Scattering by Linearly Polarized Gamma Rays</A>
+<LI><A NAME="tex2html997"
+  HREF="node69.html">Rayleigh Scattering</A>
+<LI><A NAME="tex2html998"
+  HREF="node70.html">Gamma Conversion</A>
+<LI><A NAME="tex2html999"
+  HREF="node71.html">Photoelectric effect</A>
+<LI><A NAME="tex2html1000"
+  HREF="node72.html">Bremsstrahlung</A>
+<LI><A NAME="tex2html1001"
+  HREF="node73.html">Electron ionisation</A>
+<LI><A NAME="tex2html1002"
+  HREF="node74.html">Atomic relaxation</A>
+<LI><A NAME="tex2html1003"
+  HREF="node75.html">Hadron and Ion Ionisation</A>
+<LI><A NAME="tex2html1004"
+  HREF="node76.html">Penelope physics</A>
+<LI><A NAME="tex2html1005"
+  HREF="node77.html">Very Low Energy Extensions (the Geant4 DNA project)</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1006"
+  HREF="node78.html">Optical Photons</A>
+<UL>
+<LI><A NAME="tex2html1007"
+  HREF="node79.html">Interactions of optical photons</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1008"
+  HREF="node80.html">Shower Parameterizations</A>
+<UL>
+<LI><A NAME="tex2html1009"
+  HREF="node81.html">Gflash Shower Parameterizations</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node175.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node175.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node175.html	(revision 901)
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Fission model.</TITLE>
+<META NAME="description" CONTENT="Fission model.">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node179.html">
+<LINK REL="previous" HREF="node166.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node176.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3813"
+  HREF="node176.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3809"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3803"
+  HREF="node174.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3811"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3814"
+  HREF="node176.html">Reaction initial state.</A>
+<B> Up:</B> <A NAME="tex2html3810"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3804"
+  HREF="node174.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3812"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051700000000000000000">
+Fission model.</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3815"
+  HREF="node176.html">Reaction initial state.</A>
+<LI><A NAME="tex2html3816"
+  HREF="node177.html">Fission process simulation.</A>
+<UL>
+<LI><A NAME="tex2html3817"
+  HREF="node177.html#SECTION051721000000000000000">Atomic number distribution of fission products.</A>
+<LI><A NAME="tex2html3818"
+  HREF="node177.html#SECTION051722000000000000000">Charge distribution of fission products.</A>
+<LI><A NAME="tex2html3819"
+  HREF="node177.html#SECTION051723000000000000000">Kinetic energy distribution of fission products.</A>
+<LI><A NAME="tex2html3820"
+  HREF="node177.html#SECTION051724000000000000000">Calculation of the excitation energy of fission products.</A>
+<LI><A NAME="tex2html3821"
+  HREF="node177.html#SECTION051725000000000000000">Excited fragment momenta.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3822"
+  HREF="node178.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node179.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node179.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node179.html	(revision 901)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Fermi break-up model.</TITLE>
+<META NAME="description" CONTENT="Fermi break-up model.">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node182.html">
+<LINK REL="previous" HREF="node175.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node180.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3872"
+  HREF="node180.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3868"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3862"
+  HREF="node178.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3870"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3873"
+  HREF="node180.html">Fermi break-up simulation for</A>
+<B> Up:</B> <A NAME="tex2html3869"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3863"
+  HREF="node178.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3871"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051800000000000000000">
+Fermi break-up model.</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3874"
+  HREF="node180.html">Fermi break-up simulation for light nuclei.</A>
+<UL>
+<LI><A NAME="tex2html3875"
+  HREF="node180.html#SECTION051811000000000000000">Allowed channel.</A>
+<LI><A NAME="tex2html3876"
+  HREF="node180.html#SECTION051812000000000000000">Break-up probability.</A>
+<LI><A NAME="tex2html3877"
+  HREF="node180.html#SECTION051813000000000000000">Fermi break-up model parameter.</A>
+<LI><A NAME="tex2html3878"
+  HREF="node180.html#SECTION051814000000000000000">Fragment characteristics.</A>
+<LI><A NAME="tex2html3879"
+  HREF="node180.html#SECTION051815000000000000000">MC procedure.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3880"
+  HREF="node181.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node18.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node18.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node18.html	(revision 901)
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Particle Transport</TITLE>
+<META NAME="description" CONTENT="Particle Transport">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node24.html">
+<LINK REL="previous" HREF="node17.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node19.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1020"
+  HREF="node19.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1016"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1010"
+  HREF="node17.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1018"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1021"
+  HREF="node19.html">The Interaction Length or</A>
+<B> Up:</B> <A NAME="tex2html1017"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1011"
+  HREF="node17.html">Electromagnetic Interactions</A>
+ &nbsp; <B>  <A NAME="tex2html1019"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04100000000000000000">
+Particle Transport</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1022"
+  HREF="node19.html">The Interaction Length or Mean Free Path</A>
+<LI><A NAME="tex2html1023"
+  HREF="node20.html">Determination of the Interaction Point</A>
+<LI><A NAME="tex2html1024"
+  HREF="node21.html">Updating the Particle Lifetime</A>
+<LI><A NAME="tex2html1025"
+  HREF="node22.html">Status of this document</A>
+<LI><A NAME="tex2html1026"
+  HREF="node23.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node182.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node182.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node182.html	(revision 901)
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Multifragmentation model.</TITLE>
+<META NAME="description" CONTENT="Multifragmentation model.">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node185.html">
+<LINK REL="previous" HREF="node179.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node183.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3918"
+  HREF="node183.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3914"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3908"
+  HREF="node181.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3916"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3919"
+  HREF="node183.html">Multifragmentation process simulation.</A>
+<B> Up:</B> <A NAME="tex2html3915"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3909"
+  HREF="node181.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3917"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION051900000000000000000">
+Multifragmentation model.</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3920"
+  HREF="node183.html">Multifragmentation process simulation.</A>
+<UL>
+<LI><A NAME="tex2html3921"
+  HREF="node183.html#SECTION051911000000000000000">Multifragmentation probability.</A>
+<LI><A NAME="tex2html3922"
+  HREF="node183.html#SECTION051912000000000000000">Direct simulation of low multiplicity disintegration</A>
+<LI><A NAME="tex2html3923"
+  HREF="node183.html#SECTION051913000000000000000">Fragment multiplicity distribution.</A>
+<LI><A NAME="tex2html3924"
+  HREF="node183.html#SECTION051914000000000000000">Atomic number distribution of fragments.</A>
+<LI><A NAME="tex2html3925"
+  HREF="node183.html#SECTION051915000000000000000">Charge distribution of fragments.</A>
+<LI><A NAME="tex2html3926"
+  HREF="node183.html#SECTION051916000000000000000">Kinetic energy distribution of fragments.</A>
+<LI><A NAME="tex2html3927"
+  HREF="node183.html#SECTION051917000000000000000">Calculation of the fragment excitation energies.</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3928"
+  HREF="node184.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node185.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node185.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node185.html	(revision 901)
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>INCL 4.2 Cascade and ABLA V3 Evaporation with Fission</TITLE>
+<META NAME="description" CONTENT="INCL 4.2 Cascade and ABLA V3 Evaporation with Fission">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node194.html">
+<LINK REL="previous" HREF="node182.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node186.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html3968"
+  HREF="node186.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html3964"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html3958"
+  HREF="node184.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html3966"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html3969"
+  HREF="node186.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html3965"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html3959"
+  HREF="node184.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html3967"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION052000000000000000000">
+INCL 4.2 Cascade and ABLA V3 Evaporation with Fission</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html3970"
+  HREF="node186.html">Introduction</A>
+<LI><A NAME="tex2html3971"
+  HREF="node187.html">INCL4.2 cascade</A>
+<UL>
+<LI><A NAME="tex2html3972"
+  HREF="node187.html#SECTION052021000000000000000">Model limits</A>
+<LI><A NAME="tex2html3973"
+  HREF="node187.html#SECTION052022000000000000000">Model principles</A>
+<LI><A NAME="tex2html3974"
+  HREF="node187.html#SECTION052023000000000000000">Conservation laws</A>
+<LI><A NAME="tex2html3975"
+  HREF="node187.html#SECTION052024000000000000000">Cascade stopping time</A>
+<LI><A NAME="tex2html3976"
+  HREF="node187.html#SECTION052025000000000000000">Light ions</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3977"
+  HREF="node188.html">ABLA V3 evaporation</A>
+<UL>
+<LI><A NAME="tex2html3978"
+  HREF="node188.html#SECTION052031000000000000000">Level densities</A>
+<LI><A NAME="tex2html3979"
+  HREF="node188.html#SECTION052032000000000000000">Fission</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html3980"
+  HREF="node189.html">External data file required</A>
+<LI><A NAME="tex2html3981"
+  HREF="node190.html">Implementation details</A>
+<LI><A NAME="tex2html3982"
+  HREF="node191.html">Physics Performance</A>
+<LI><A NAME="tex2html3983"
+  HREF="node192.html">Status of this document</A>
+<LI><A NAME="tex2html3984"
+  HREF="node193.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node194.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node194.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node194.html	(revision 901)
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Low Energy Neutron Interactions</TITLE>
+<META NAME="description" CONTENT="Low Energy Neutron Interactions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node201.html">
+<LINK REL="previous" HREF="node185.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node195.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html4096"
+  HREF="node195.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html4092"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html4086"
+  HREF="node193.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html4094"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html4097"
+  HREF="node195.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html4093"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html4087"
+  HREF="node193.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html4095"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION052100000000000000000">
+Low Energy Neutron Interactions</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html4098"
+  HREF="node195.html">Introduction</A>
+<LI><A NAME="tex2html4099"
+  HREF="node196.html">Physics and Verification</A>
+<UL>
+<LI><A NAME="tex2html4100"
+  HREF="node196.html#SECTION052121000000000000000">Inclusive Cross-sections</A>
+<LI><A NAME="tex2html4101"
+  HREF="node196.html#SECTION052122000000000000000">Elastic Scattering</A>
+<LI><A NAME="tex2html4102"
+  HREF="node196.html#SECTION052123000000000000000">Radiative Capture</A>
+<LI><A NAME="tex2html4103"
+  HREF="node196.html#SECTION052124000000000000000">Fission</A>
+<LI><A NAME="tex2html4104"
+  HREF="node196.html#SECTION052125000000000000000">Inelastic Scattering</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html4105"
+  HREF="node197.html">High Precision Models and Low Energy Parameterized Models</A>
+<LI><A NAME="tex2html4106"
+  HREF="node198.html">Summary</A>
+<LI><A NAME="tex2html4107"
+  HREF="node199.html">Status of this document</A>
+<LI><A NAME="tex2html4108"
+  HREF="node200.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node2.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node2.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node2.html	(revision 901)
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Introduction</TITLE>
+<META NAME="description" CONTENT="Introduction">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node11.html">
+<LINK REL="previous" HREF="node1.html">
+<LINK REL="up" HREF="PhysicsReferenceManual.html">
+<LINK REL="next" HREF="node3.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html742"
+  HREF="node3.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html738"
+  HREF="PhysicsReferenceManual.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html732"
+  HREF="node1.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html740"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html743"
+  HREF="node3.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html739"
+  HREF="PhysicsReferenceManual.html">Physics Reference Manual</A>
+<B> Previous:</B> <A NAME="tex2html733"
+  HREF="node1.html">Contents</A>
+ &nbsp; <B>  <A NAME="tex2html741"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION02000000000000000000">
+Introduction</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html744"
+  HREF="node3.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html745"
+  HREF="node4.html">Scope of This Manual</A>
+<LI><A NAME="tex2html746"
+  HREF="node5.html">Definition of Terms</A>
+<LI><A NAME="tex2html747"
+  HREF="node6.html">Status of this document</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html748"
+  HREF="node7.html">Monte Carlo Methods</A>
+<UL>
+<LI><A NAME="tex2html749"
+  HREF="node8.html">Status of this document</A>
+<LI><A NAME="tex2html750"
+  HREF="node9.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html751"
+  HREF="node10.html">Transportation</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node201.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node201.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node201.html	(revision 901)
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Radioactive Decay</TITLE>
+<META NAME="description" CONTENT="Radioactive Decay">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="previous" HREF="node194.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node202.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html4192"
+  HREF="node202.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html4188"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html4184"
+  HREF="node200.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html4190"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html4193"
+  HREF="node202.html">The Radioactive Decay Module</A>
+<B> Up:</B> <A NAME="tex2html4189"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html4185"
+  HREF="node200.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html4191"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION052200000000000000000">
+Radioactive Decay</A>
+</H1> 
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html4194"
+  HREF="node202.html">The Radioactive Decay Module</A>
+<LI><A NAME="tex2html4195"
+  HREF="node203.html">Sampling</A>
+<UL>
+<LI><A NAME="tex2html4196"
+  HREF="node203.html#SECTION052221000000000000000">Biasing Methods</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html4197"
+  HREF="node204.html">Status of this document</A>
+<LI><A NAME="tex2html4198"
+  HREF="node205.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node24.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node24.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node24.html	(revision 901)
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Gamma Incident</TITLE>
+<META NAME="description" CONTENT="Gamma Incident">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node30.html">
+<LINK REL="previous" HREF="node18.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node25.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1095"
+  HREF="node25.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1091"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1085"
+  HREF="node23.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1093"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1096"
+  HREF="node25.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html1092"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1086"
+  HREF="node23.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html1094"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04200000000000000000">
+Gamma Incident</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1097"
+  HREF="node25.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html1098"
+  HREF="node25.html#SECTION04211000000000000000">General Interfaces</A>
+<LI><A NAME="tex2html1099"
+  HREF="node25.html#SECTION04212000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1100"
+  HREF="node25.html#SECTION04213000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1101"
+  HREF="node26.html">Photoelectric Effect</A>
+<UL>
+<LI><A NAME="tex2html1102"
+  HREF="node26.html#SECTION04221000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html1103"
+  HREF="node26.html#SECTION04222000000000000000">Final State</A>
+<LI><A NAME="tex2html1104"
+  HREF="node26.html#SECTION04223000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1105"
+  HREF="node26.html#SECTION04224000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1106"
+  HREF="node27.html">Compton scattering</A>
+<UL>
+<LI><A NAME="tex2html1107"
+  HREF="node27.html#SECTION04231000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html1108"
+  HREF="node27.html#SECTION04232000000000000000">Sampling the Final State</A>
+<LI><A NAME="tex2html1109"
+  HREF="node27.html#SECTION04233000000000000000">Validity</A>
+<LI><A NAME="tex2html1110"
+  HREF="node27.html#SECTION04234000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1111"
+  HREF="node27.html#SECTION04235000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1112"
+  HREF="node28.html">Gamma Conversion into an Electron - Positron Pair</A>
+<UL>
+<LI><A NAME="tex2html1113"
+  HREF="node28.html#SECTION04241000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html1114"
+  HREF="node28.html#SECTION04242000000000000000">Final State</A>
+<LI><A NAME="tex2html1115"
+  HREF="node28.html#SECTION04243000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1116"
+  HREF="node28.html#SECTION04244000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1117"
+  HREF="node29.html">Gamma Conversion into a Muon - Anti-mu Pair</A>
+<UL>
+<LI><A NAME="tex2html1118"
+  HREF="node29.html#SECTION04251000000000000000">Cross Section and Energy Sharing</A>
+<LI><A NAME="tex2html1119"
+  HREF="node29.html#SECTION04252000000000000000">Parameterization of the Total Cross Section</A>
+<LI><A NAME="tex2html1120"
+  HREF="node29.html#SECTION04253000000000000000">Multi-differential Cross Section and Angular Variables</A>
+<LI><A NAME="tex2html1121"
+  HREF="node29.html#SECTION04254000000000000000">Procedure for the Generation of Muon - Anti-muon Pairs</A>
+<LI><A NAME="tex2html1122"
+  HREF="node29.html#SECTION04255000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1123"
+  HREF="node29.html#SECTION04256000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node3.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node3.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node3.html	(revision 901)
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Introduction</TITLE>
+<META NAME="description" CONTENT="Introduction">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node7.html">
+<LINK REL="previous" HREF="node2.html">
+<LINK REL="up" HREF="node2.html">
+<LINK REL="next" HREF="node4.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html762"
+  HREF="node4.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html758"
+  HREF="node2.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html752"
+  HREF="node2.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html760"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html763"
+  HREF="node4.html">Scope of This Manual</A>
+<B> Up:</B> <A NAME="tex2html759"
+  HREF="node2.html">Introduction</A>
+<B> Previous:</B> <A NAME="tex2html753"
+  HREF="node2.html">Introduction</A>
+ &nbsp; <B>  <A NAME="tex2html761"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION02100000000000000000">
+Introduction</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html764"
+  HREF="node4.html">Scope of This Manual</A>
+<LI><A NAME="tex2html765"
+  HREF="node5.html">Definition of Terms</A>
+<LI><A NAME="tex2html766"
+  HREF="node6.html">Status of this document</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node30.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node30.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node30.html	(revision 901)
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Common to All Charged Particles</TITLE>
+<META NAME="description" CONTENT="Common to All Charged Particles">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node43.html">
+<LINK REL="previous" HREF="node24.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node31.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1227"
+  HREF="node31.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1223"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1217"
+  HREF="node29.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1225"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1228"
+  HREF="node31.html">Computing the Mean Energy</A>
+<B> Up:</B> <A NAME="tex2html1224"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1218"
+  HREF="node29.html">Gamma Conversion into a</A>
+ &nbsp; <B>  <A NAME="tex2html1226"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04300000000000000000">
+Common to All Charged Particles</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1229"
+  HREF="node31.html">Computing the Mean Energy Loss</A>
+<UL>
+<LI><A NAME="tex2html1230"
+  HREF="node31.html#SECTION04311000000000000000">Method</A>
+<LI><A NAME="tex2html1231"
+  HREF="node31.html#SECTION04312000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html1232"
+  HREF="node31.html#SECTION04313000000000000000">Energy Loss by Heavy Charged Particles</A>
+<LI><A NAME="tex2html1233"
+  HREF="node31.html#SECTION04314000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1234"
+  HREF="node31.html#SECTION04315000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1235"
+  HREF="node32.html">Energy loss fluctuations</A>
+<UL>
+<LI><A NAME="tex2html1236"
+  HREF="node32.html#SECTION04321000000000000000">Fluctuations in thick absorbers</A>
+<LI><A NAME="tex2html1237"
+  HREF="node32.html#SECTION04322000000000000000">Fluctuations in thin absorbers</A>
+<LI><A NAME="tex2html1238"
+  HREF="node32.html#SECTION04323000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1239"
+  HREF="node32.html#SECTION04324000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1240"
+  HREF="node33.html">Correcting the cross section for energy variation </A>
+<UL>
+<LI><A NAME="tex2html1241"
+  HREF="node33.html#SECTION04331000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1242"
+  HREF="node33.html#SECTION04332000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1243"
+  HREF="node34.html">Conversion from range cut to kinetic energy cut</A>
+<UL>
+<LI><A NAME="tex2html1244"
+  HREF="node34.html#SECTION04341000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1245"
+  HREF="node34.html#SECTION04342000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1246"
+  HREF="node35.html">Multiple Scattering</A>
+<UL>
+<LI><A NAME="tex2html1247"
+  HREF="node35.html#SECTION04351000000000000000">Introduction</A>
+<LI><A NAME="tex2html1248"
+  HREF="node35.html#SECTION04352000000000000000">Definition of Terms</A>
+<LI><A NAME="tex2html1249"
+  HREF="node35.html#SECTION04353000000000000000">Path Length Correction</A>
+<LI><A NAME="tex2html1250"
+  HREF="node35.html#SECTION04354000000000000000">Angular Distribution</A>
+<LI><A NAME="tex2html1251"
+  HREF="node35.html#SECTION04355000000000000000">Determination of the Model Parameters</A>
+<LI><A NAME="tex2html1252"
+  HREF="node35.html#SECTION04356000000000000000">The MSC Process in Geant4</A>
+<LI><A NAME="tex2html1253"
+  HREF="node35.html#SECTION04357000000000000000">Step Limitation Algorithm</A>
+<LI><A NAME="tex2html1254"
+  HREF="node35.html#SECTION04358000000000000000">Boundary Crossing Algorithm</A>
+<LI><A NAME="tex2html1255"
+  HREF="node35.html#SECTION04359000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html1256"
+  HREF="node35.html#SECTION043510000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1257"
+  HREF="node35.html#SECTION043511000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1258"
+  HREF="node36.html">Single Scattering</A>
+<UL>
+<LI><A NAME="tex2html1259"
+  HREF="node36.html#SECTION04361000000000000000">Coulomb Scattering</A>
+<LI><A NAME="tex2html1260"
+  HREF="node36.html#SECTION04362000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html1261"
+  HREF="node36.html#SECTION04363000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1262"
+  HREF="node36.html#SECTION04364000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1263"
+  HREF="node37.html">Ion Scattering</A>
+<UL>
+<LI><A NAME="tex2html1264"
+  HREF="node37.html#SECTION04371000000000000000">Method</A>
+<LI><A NAME="tex2html1265"
+  HREF="node37.html#SECTION04372000000000000000">Implementation Details</A>
+<LI><A NAME="tex2html1266"
+  HREF="node37.html#SECTION04373000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1267"
+  HREF="node37.html#SECTION04374000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1268"
+  HREF="node38.html">Transition radiation</A>
+<UL>
+<LI><A NAME="tex2html1269"
+  HREF="node38.html#SECTION04381000000000000000">Relationship of Transition Rad to Cherenkov Rad</A>
+<LI><A NAME="tex2html1270"
+  HREF="node38.html#SECTION04382000000000000000">Calculating the X-ray Transition Radiation Yield</A>
+<LI><A NAME="tex2html1271"
+  HREF="node38.html#SECTION04383000000000000000">Simulating X-ray Transition Radiation Production</A>
+<LI><A NAME="tex2html1272"
+  HREF="node38.html#SECTION04384000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1273"
+  HREF="node38.html#SECTION04385000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1274"
+  HREF="node39.html">Scintillation</A>
+<UL>
+<LI><A NAME="tex2html1275"
+  HREF="node39.html#SECTION04391000000000000000">Status of this document</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1276"
+  HREF="node40.html">Cerenkov Effect</A>
+<UL>
+<LI><A NAME="tex2html1277"
+  HREF="node40.html#SECTION043101000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1278"
+  HREF="node40.html#SECTION043102000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1279"
+  HREF="node41.html">Photoabsorption ionization model</A>
+<UL>
+<LI><A NAME="tex2html1280"
+  HREF="node41.html#SECTION043111000000000000000">Cross Section for Ionizing Collisions</A>
+<LI><A NAME="tex2html1281"
+  HREF="node41.html#SECTION043112000000000000000">Energy Loss Simulation</A>
+<LI><A NAME="tex2html1282"
+  HREF="node41.html#SECTION043113000000000000000">Status of  this document</A>
+<LI><A NAME="tex2html1283"
+  HREF="node41.html#SECTION043114000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1284"
+  HREF="node42.html">Photoabsorption cross section at low energies</A>
+<UL>
+<LI><A NAME="tex2html1285"
+  HREF="node42.html#SECTION043121000000000000000">Method</A>
+<LI><A NAME="tex2html1286"
+  HREF="node42.html#SECTION043122000000000000000">Status of  this document</A>
+<LI><A NAME="tex2html1287"
+  HREF="node42.html#SECTION043123000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node43.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node43.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node43.html	(revision 901)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Electron and Positron Incident</TITLE>
+<META NAME="description" CONTENT="Electron and Positron Incident">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node50.html">
+<LINK REL="previous" HREF="node30.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node44.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1489"
+  HREF="node44.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1485"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1479"
+  HREF="node42.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1487"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1490"
+  HREF="node44.html">Ionization</A>
+<B> Up:</B> <A NAME="tex2html1486"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1480"
+  HREF="node42.html">Photoabsorption cross section at</A>
+ &nbsp; <B>  <A NAME="tex2html1488"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04400000000000000000">
+Electron and Positron Incident</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1491"
+  HREF="node44.html">Ionization</A>
+<UL>
+<LI><A NAME="tex2html1492"
+  HREF="node44.html#SECTION04411000000000000000">Method</A>
+<LI><A NAME="tex2html1493"
+  HREF="node44.html#SECTION04412000000000000000">Continuous Energy Loss</A>
+<LI><A NAME="tex2html1494"
+  HREF="node44.html#SECTION04413000000000000000">Total Cross Section per Atom and Mean Free Path </A>
+<LI><A NAME="tex2html1495"
+  HREF="node44.html#SECTION04414000000000000000">Simulation of Delta-ray Production</A>
+<LI><A NAME="tex2html1496"
+  HREF="node44.html#SECTION04415000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1497"
+  HREF="node44.html#SECTION04416000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1498"
+  HREF="node45.html">Bremsstrahlung</A>
+<UL>
+<LI><A NAME="tex2html1499"
+  HREF="node45.html#SECTION04421000000000000000">Cross Section and Energy Loss</A>
+<LI><A NAME="tex2html1500"
+  HREF="node45.html#SECTION04422000000000000000">Simulation of Discrete Bremsstrahlung</A>
+<LI><A NAME="tex2html1501"
+  HREF="node45.html#SECTION04423000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1502"
+  HREF="node45.html#SECTION04424000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1503"
+  HREF="node46.html">Positron - Electron Annihilation</A>
+<UL>
+<LI><A NAME="tex2html1504"
+  HREF="node46.html#SECTION04431000000000000000">Introduction</A>
+<LI><A NAME="tex2html1505"
+  HREF="node46.html#SECTION04432000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html1506"
+  HREF="node46.html#SECTION04433000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html1507"
+  HREF="node46.html#SECTION04434000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1508"
+  HREF="node46.html#SECTION04435000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1509"
+  HREF="node47.html">Positron - Electron Annihilation into Muon - Anti-muon</A>
+<UL>
+<LI><A NAME="tex2html1510"
+  HREF="node47.html#SECTION04441000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html1511"
+  HREF="node47.html#SECTION04442000000000000000">Sampling of Energies and Angles</A>
+<LI><A NAME="tex2html1512"
+  HREF="node47.html#SECTION04443000000000000000">Validity</A>
+<LI><A NAME="tex2html1513"
+  HREF="node47.html#SECTION04444000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1514"
+  HREF="node47.html#SECTION04445000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1515"
+  HREF="node48.html">Positron - Electron Annihilation into Hadrons</A>
+<UL>
+<LI><A NAME="tex2html1516"
+  HREF="node48.html#SECTION04451000000000000000">Introduction</A>
+<LI><A NAME="tex2html1517"
+  HREF="node48.html#SECTION04452000000000000000">Cross Section and Mean Free Path</A>
+<LI><A NAME="tex2html1518"
+  HREF="node48.html#SECTION04453000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html1519"
+  HREF="node48.html#SECTION04454000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1520"
+  HREF="node48.html#SECTION04455000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1521"
+  HREF="node49.html">Synchrotron Radiation</A>
+<UL>
+<LI><A NAME="tex2html1522"
+  HREF="node49.html#SECTION04461000000000000000">Photon spectrum</A>
+<LI><A NAME="tex2html1523"
+  HREF="node49.html#SECTION04462000000000000000">Validity</A>
+<LI><A NAME="tex2html1524"
+  HREF="node49.html#SECTION04463000000000000000">Direct inversion/generation of photon energy spectrum</A>
+<LI><A NAME="tex2html1525"
+  HREF="node49.html#SECTION04464000000000000000">Properties of the photon energy and power spectra</A>
+<LI><A NAME="tex2html1526"
+  HREF="node49.html#SECTION04465000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1527"
+  HREF="node49.html#SECTION04466000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node50.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node50.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node50.html	(revision 901)
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Charged Hadron Incident</TITLE>
+<META NAME="description" CONTENT="Charged Hadron Incident">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node52.html">
+<LINK REL="previous" HREF="node43.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node51.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1650"
+  HREF="node51.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1646"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1640"
+  HREF="node49.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1648"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1651"
+  HREF="node51.html">Ionization</A>
+<B> Up:</B> <A NAME="tex2html1647"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1641"
+  HREF="node49.html">Synchrotron Radiation</A>
+ &nbsp; <B>  <A NAME="tex2html1649"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04500000000000000000">
+Charged Hadron Incident</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1652"
+  HREF="node51.html">Ionization</A>
+<UL>
+<LI><A NAME="tex2html1653"
+  HREF="node51.html#SECTION04511000000000000000">Method</A>
+<LI><A NAME="tex2html1654"
+  HREF="node51.html#SECTION04512000000000000000">Continuous Energy Loss</A>
+<LI><A NAME="tex2html1655"
+  HREF="node51.html#SECTION04513000000000000000">Total Cross Section per Atom and Mean Free Path</A>
+<LI><A NAME="tex2html1656"
+  HREF="node51.html#SECTION04514000000000000000">Simulating Delta-ray Production</A>
+<LI><A NAME="tex2html1657"
+  HREF="node51.html#SECTION04515000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1658"
+  HREF="node51.html#SECTION04516000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node52.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node52.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node52.html	(revision 901)
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Muon Incident</TITLE>
+<META NAME="description" CONTENT="Muon Incident">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node57.html">
+<LINK REL="previous" HREF="node50.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node53.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1691"
+  HREF="node53.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1687"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1681"
+  HREF="node51.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1689"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1692"
+  HREF="node53.html">Ionization</A>
+<B> Up:</B> <A NAME="tex2html1688"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1682"
+  HREF="node51.html">Ionization</A>
+ &nbsp; <B>  <A NAME="tex2html1690"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04600000000000000000">
+Muon Incident</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1693"
+  HREF="node53.html">Ionization</A>
+<UL>
+<LI><A NAME="tex2html1694"
+  HREF="node53.html#SECTION04611000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1695"
+  HREF="node53.html#SECTION04612000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1696"
+  HREF="node54.html">Bremsstrahlung</A>
+<UL>
+<LI><A NAME="tex2html1697"
+  HREF="node54.html#SECTION04621000000000000000">Differential Cross Section</A>
+<LI><A NAME="tex2html1698"
+  HREF="node54.html#SECTION04622000000000000000">Continuous Energy Loss</A>
+<LI><A NAME="tex2html1699"
+  HREF="node54.html#SECTION04623000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html1700"
+  HREF="node54.html#SECTION04624000000000000000">Sampling</A>
+<LI><A NAME="tex2html1701"
+  HREF="node54.html#SECTION04625000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1702"
+  HREF="node54.html#SECTION04626000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1703"
+  HREF="node55.html">Positron - Electron Pair Production by Muons</A>
+<UL>
+<LI><A NAME="tex2html1704"
+  HREF="node55.html#SECTION04631000000000000000">Differential Cross Section</A>
+<LI><A NAME="tex2html1705"
+  HREF="node55.html#SECTION04632000000000000000">Total Cross Section and Restricted Energy Loss</A>
+<LI><A NAME="tex2html1706"
+  HREF="node55.html#SECTION04633000000000000000">Sampling of Positron - Electron Pair Production</A>
+<LI><A NAME="tex2html1707"
+  HREF="node55.html#SECTION04634000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1708"
+  HREF="node55.html#SECTION04635000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1709"
+  HREF="node56.html">Muon Photonuclear Interaction</A>
+<UL>
+<LI><A NAME="tex2html1710"
+  HREF="node56.html#SECTION04641000000000000000">Differential Cross Section</A>
+<LI><A NAME="tex2html1711"
+  HREF="node56.html#SECTION04642000000000000000">Sampling</A>
+<LI><A NAME="tex2html1712"
+  HREF="node56.html#SECTION04643000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1713"
+  HREF="node56.html#SECTION04644000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node57.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node57.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node57.html	(revision 901)
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Polarized Electron/Positron/Gamma Incident</TITLE>
+<META NAME="description" CONTENT="Polarized Electron/Positron/Gamma Incident">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node65.html">
+<LINK REL="previous" HREF="node52.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node58.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1793"
+  HREF="node58.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1789"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1783"
+  HREF="node56.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1791"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1794"
+  HREF="node58.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html1790"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1784"
+  HREF="node56.html">Muon Photonuclear Interaction</A>
+ &nbsp; <B>  <A NAME="tex2html1792"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04700000000000000000">
+Polarized Electron/Positron/Gamma Incident</A>
+</H1>
+
+<P>
+   
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1795"
+  HREF="node58.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html1796"
+  HREF="node58.html#SECTION04711000000000000000">Stokes vector</A>
+<LI><A NAME="tex2html1797"
+  HREF="node58.html#SECTION04712000000000000000">Transfer matrix</A>
+<LI><A NAME="tex2html1798"
+  HREF="node58.html#SECTION04713000000000000000">Coordinate transformations</A>
+<LI><A NAME="tex2html1799"
+  HREF="node58.html#SECTION04714000000000000000">Polarized beam and material</A>
+<LI><A NAME="tex2html1800"
+  HREF="node58.html#SECTION04715000000000000000">Status of this document</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1801"
+  HREF="node59.html">Ionization</A>
+<UL>
+<LI><A NAME="tex2html1802"
+  HREF="node59.html#SECTION04721000000000000000">Method</A>
+<LI><A NAME="tex2html1803"
+  HREF="node59.html#SECTION04722000000000000000">Total cross section and mean free path</A>
+<LI><A NAME="tex2html1804"
+  HREF="node59.html#SECTION04723000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html1805"
+  HREF="node59.html#SECTION04724000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1806"
+  HREF="node59.html#SECTION04725000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1807"
+  HREF="node60.html">Positron - Electron Annihilation</A>
+<UL>
+<LI><A NAME="tex2html1808"
+  HREF="node60.html#SECTION04731000000000000000">Method</A>
+<LI><A NAME="tex2html1809"
+  HREF="node60.html#SECTION04732000000000000000">Total cross section and mean free path</A>
+<LI><A NAME="tex2html1810"
+  HREF="node60.html#SECTION04733000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html1811"
+  HREF="node60.html#SECTION04734000000000000000">Annihilation at Rest</A>
+<LI><A NAME="tex2html1812"
+  HREF="node60.html#SECTION04735000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1813"
+  HREF="node60.html#SECTION04736000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1814"
+  HREF="node61.html">Polarized Compton scattering</A>
+<UL>
+<LI><A NAME="tex2html1815"
+  HREF="node61.html#SECTION04741000000000000000">Method</A>
+<LI><A NAME="tex2html1816"
+  HREF="node61.html#SECTION04742000000000000000">Total cross section and mean free path</A>
+<LI><A NAME="tex2html1817"
+  HREF="node61.html#SECTION04743000000000000000">Sampling the final state</A>
+<LI><A NAME="tex2html1818"
+  HREF="node61.html#SECTION04744000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1819"
+  HREF="node61.html#SECTION04745000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1820"
+  HREF="node62.html">Polarized Bremsstrahlung for electron and positron</A>
+<UL>
+<LI><A NAME="tex2html1821"
+  HREF="node62.html#SECTION04751000000000000000">Method</A>
+<LI><A NAME="tex2html1822"
+  HREF="node62.html#SECTION04752000000000000000">Polarization in gamma conversion and bremsstrahlung</A>
+<LI><A NAME="tex2html1823"
+  HREF="node62.html#SECTION04753000000000000000">Polarization transfer to the photon</A>
+<LI><A NAME="tex2html1824"
+  HREF="node62.html#SECTION04754000000000000000">Polarization transfer to the lepton</A>
+<LI><A NAME="tex2html1825"
+  HREF="node62.html#SECTION04755000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1826"
+  HREF="node62.html#SECTION04756000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1827"
+  HREF="node63.html">Polarized Gamma conversion into an electron-positron pair</A>
+<UL>
+<LI><A NAME="tex2html1828"
+  HREF="node63.html#SECTION04761000000000000000">Method</A>
+<LI><A NAME="tex2html1829"
+  HREF="node63.html#SECTION04762000000000000000">Polarization transfer</A>
+<LI><A NAME="tex2html1830"
+  HREF="node63.html#SECTION04763000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1831"
+  HREF="node63.html#SECTION04764000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1832"
+  HREF="node64.html">Polarized Photoelectric Effect</A>
+<UL>
+<LI><A NAME="tex2html1833"
+  HREF="node64.html#SECTION04771000000000000000">Method</A>
+<LI><A NAME="tex2html1834"
+  HREF="node64.html#SECTION04772000000000000000">Polarization transfer</A>
+<LI><A NAME="tex2html1835"
+  HREF="node64.html#SECTION04773000000000000000">Status of this document</A>
+<LI><A NAME="tex2html1836"
+  HREF="node64.html#SECTION04774000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node65.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node65.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node65.html	(revision 901)
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Low Energy Extensions</TITLE>
+<META NAME="description" CONTENT="Low Energy Extensions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node78.html">
+<LINK REL="previous" HREF="node57.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node66.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html1980"
+  HREF="node66.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html1976"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html1970"
+  HREF="node64.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html1978"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html1981"
+  HREF="node66.html">Introduction</A>
+<B> Up:</B> <A NAME="tex2html1977"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html1971"
+  HREF="node64.html">Polarized Photoelectric Effect</A>
+ &nbsp; <B>  <A NAME="tex2html1979"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04800000000000000000">
+Low Energy Extensions</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html1982"
+  HREF="node66.html">Introduction</A>
+<UL>
+<LI><A NAME="tex2html1983"
+  HREF="node66.html#SECTION04811000000000000000">Physics</A>
+<LI><A NAME="tex2html1984"
+  HREF="node66.html#SECTION04812000000000000000">Data Sources</A>
+<LI><A NAME="tex2html1985"
+  HREF="node66.html#SECTION04813000000000000000">Distribution of the Data Sets</A>
+<LI><A NAME="tex2html1986"
+  HREF="node66.html#SECTION04814000000000000000">Calculation of Total Cross Sections</A>
+<LI><A NAME="tex2html1987"
+  HREF="node66.html#SECTION04815000000000000000">Sampling of Relevant Physics Quantities</A>
+<LI><A NAME="tex2html1988"
+  HREF="node66.html#SECTION04816000000000000000">Status of the document</A>
+<LI><A NAME="tex2html1989"
+  HREF="node66.html#SECTION04817000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1990"
+  HREF="node67.html">Compton Scattering</A>
+<UL>
+<LI><A NAME="tex2html1991"
+  HREF="node67.html#SECTION04821000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html1992"
+  HREF="node67.html#SECTION04822000000000000000">Sampling of the Final State</A>
+<LI><A NAME="tex2html1993"
+  HREF="node67.html#SECTION04823000000000000000">Status of the document</A>
+<LI><A NAME="tex2html1994"
+  HREF="node67.html#SECTION04824000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html1995"
+  HREF="node68.html">Compton Scattering by Linearly Polarized Gamma Rays</A>
+<UL>
+<LI><A NAME="tex2html1996"
+  HREF="node68.html#SECTION04831000000000000000">The Cross Section</A>
+<LI><A NAME="tex2html1997"
+  HREF="node68.html#SECTION04832000000000000000">Angular Distribution</A>
+<LI><A NAME="tex2html1998"
+  HREF="node68.html#SECTION04833000000000000000">Polarization Vector</A>
+<LI><A NAME="tex2html1999"
+  HREF="node68.html#SECTION04834000000000000000">Unpolarized Photons</A>
+<LI><A NAME="tex2html2000"
+  HREF="node68.html#SECTION04835000000000000000">Status of this document</A>
+<LI><A NAME="tex2html2001"
+  HREF="node68.html#SECTION04836000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2002"
+  HREF="node69.html">Rayleigh Scattering</A>
+<UL>
+<LI><A NAME="tex2html2003"
+  HREF="node69.html#SECTION04841000000000000000">Total Cross Section</A>
+<LI><A NAME="tex2html2004"
+  HREF="node69.html#SECTION04842000000000000000">Sampling of the Final State</A>
+<LI><A NAME="tex2html2005"
+  HREF="node69.html#SECTION04843000000000000000">Status of this document</A>
+<LI><A NAME="tex2html2006"
+  HREF="node69.html#SECTION04844000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2007"
+  HREF="node70.html">Gamma Conversion</A>
+<UL>
+<LI><A NAME="tex2html2008"
+  HREF="node70.html#SECTION04851000000000000000">Total cross-section</A>
+<LI><A NAME="tex2html2009"
+  HREF="node70.html#SECTION04852000000000000000">Sampling of the final state</A>
+<LI><A NAME="tex2html2010"
+  HREF="node70.html#SECTION04853000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2011"
+  HREF="node70.html#SECTION04854000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2012"
+  HREF="node71.html">Photoelectric effect</A>
+<UL>
+<LI><A NAME="tex2html2013"
+  HREF="node71.html#SECTION04861000000000000000">Total cross-section</A>
+<LI><A NAME="tex2html2014"
+  HREF="node71.html#SECTION04862000000000000000">Sampling of the final state</A>
+<LI><A NAME="tex2html2015"
+  HREF="node71.html#SECTION04863000000000000000">Angular distribution of the emmited photoelectron</A>
+<LI><A NAME="tex2html2016"
+  HREF="node71.html#SECTION04864000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2017"
+  HREF="node71.html#SECTION04865000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2018"
+  HREF="node72.html">Bremsstrahlung</A>
+<UL>
+<LI><A NAME="tex2html2019"
+  HREF="node72.html#SECTION04871000000000000000">Bremsstrahlung angular distributions</A>
+<LI><A NAME="tex2html2020"
+  HREF="node72.html#SECTION04872000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2021"
+  HREF="node72.html#SECTION04873000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2022"
+  HREF="node73.html">Electron ionisation</A>
+<UL>
+<LI><A NAME="tex2html2023"
+  HREF="node73.html#SECTION04881000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2024"
+  HREF="node73.html#SECTION04882000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2025"
+  HREF="node74.html">Atomic relaxation</A>
+<UL>
+<LI><A NAME="tex2html2026"
+  HREF="node74.html#SECTION04891000000000000000">Fluorescence</A>
+<LI><A NAME="tex2html2027"
+  HREF="node74.html#SECTION04892000000000000000">Auger process</A>
+<LI><A NAME="tex2html2028"
+  HREF="node74.html#SECTION04893000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2029"
+  HREF="node74.html#SECTION04894000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2030"
+  HREF="node75.html">Hadron and Ion Ionisation</A>
+<UL>
+<LI><A NAME="tex2html2031"
+  HREF="node75.html#SECTION048101000000000000000">Delta-ray production</A>
+<LI><A NAME="tex2html2032"
+  HREF="node75.html#SECTION048102000000000000000">Energy Loss of Fast Hadrons</A>
+<LI><A NAME="tex2html2033"
+  HREF="node75.html#SECTION048103000000000000000">Barkas and Bloch effects</A>
+<LI><A NAME="tex2html2034"
+  HREF="node75.html#SECTION048104000000000000000">Energy losses of slow positive hadrons</A>
+<LI><A NAME="tex2html2035"
+  HREF="node75.html#SECTION048105000000000000000">Energy loss of alpha particles</A>
+<LI><A NAME="tex2html2036"
+  HREF="node75.html#SECTION048106000000000000000">Effective charge of ions</A>
+<LI><A NAME="tex2html2037"
+  HREF="node75.html#SECTION048107000000000000000">Energy losses of slow negative particles</A>
+<LI><A NAME="tex2html2038"
+  HREF="node75.html#SECTION048108000000000000000">Energy losses of hadrons in compounds</A>
+<LI><A NAME="tex2html2039"
+  HREF="node75.html#SECTION048109000000000000000">Nuclear stopping powers</A>
+<LI><A NAME="tex2html2040"
+  HREF="node75.html#SECTION0481010000000000000000">Fluctuations of energy losses of hadrons</A>
+<LI><A NAME="tex2html2041"
+  HREF="node75.html#SECTION0481011000000000000000">Sampling</A>
+<LI><A NAME="tex2html2042"
+  HREF="node75.html#SECTION0481012000000000000000">PIXE</A>
+<LI><A NAME="tex2html2043"
+  HREF="node75.html#SECTION0481013000000000000000">Status of this document</A>
+<LI><A NAME="tex2html2044"
+  HREF="node75.html#SECTION0481014000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2045"
+  HREF="node76.html">Penelope physics</A>
+<UL>
+<LI><A NAME="tex2html2046"
+  HREF="node76.html#SECTION048111000000000000000">Introduction</A>
+<LI><A NAME="tex2html2047"
+  HREF="node76.html#SECTION048112000000000000000">Compton scattering</A>
+<LI><A NAME="tex2html2048"
+  HREF="node76.html#SECTION048113000000000000000">Rayleigh scattering</A>
+<LI><A NAME="tex2html2049"
+  HREF="node76.html#SECTION048114000000000000000">Gamma conversion</A>
+<LI><A NAME="tex2html2050"
+  HREF="node76.html#SECTION048115000000000000000">Photoelectric effect</A>
+<LI><A NAME="tex2html2051"
+  HREF="node76.html#SECTION048116000000000000000">Bremsstrahlung</A>
+<LI><A NAME="tex2html2052"
+  HREF="node76.html#SECTION048117000000000000000">Ionisation</A>
+<LI><A NAME="tex2html2053"
+  HREF="node76.html#SECTION048118000000000000000">Positron Annihilation</A>
+<LI><A NAME="tex2html2054"
+  HREF="node76.html#SECTION048119000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2055"
+  HREF="node76.html#SECTION0481110000000000000000">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2056"
+  HREF="node77.html">Very Low Energy Extensions (the Geant4 DNA project)</A>
+<UL>
+<LI><A NAME="tex2html2057"
+  HREF="node77.html#SECTION048121000000000000000">Introduction</A>
+<LI><A NAME="tex2html2058"
+  HREF="node77.html#SECTION048122000000000000000">Processes for the interactions of electrons</A>
+<LI><A NAME="tex2html2059"
+  HREF="node77.html#SECTION048123000000000000000">Processes for the interaction of protons</A>
+<LI><A NAME="tex2html2060"
+  HREF="node77.html#SECTION048124000000000000000">Processes for the interaction of hydrogen</A>
+<LI><A NAME="tex2html2061"
+  HREF="node77.html#SECTION048125000000000000000">Processes for the interaction of helium ions</A>
+<LI><A NAME="tex2html2062"
+  HREF="node77.html#SECTION048126000000000000000">Status of the document</A>
+<LI><A NAME="tex2html2063"
+  HREF="node77.html#SECTION048127000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node7.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node7.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node7.html	(revision 901)
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Monte Carlo Methods</TITLE>
+<META NAME="description" CONTENT="Monte Carlo Methods">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node10.html">
+<LINK REL="previous" HREF="node3.html">
+<LINK REL="up" HREF="node2.html">
+<LINK REL="next" HREF="node8.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html811"
+  HREF="node8.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html807"
+  HREF="node2.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html801"
+  HREF="node6.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html809"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html812"
+  HREF="node8.html">Status of this document</A>
+<B> Up:</B> <A NAME="tex2html808"
+  HREF="node2.html">Introduction</A>
+<B> Previous:</B> <A NAME="tex2html802"
+  HREF="node6.html">Status of this document</A>
+ &nbsp; <B>  <A NAME="tex2html810"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION02200000000000000000"></A>    <A NAME="secmessel"></A>
+<BR>
+Monte Carlo Methods
+</H1>
+
+<P>
+The Geant4 toolkit uses a combination of the composition and
+rejection Monte Carlo methods.  Only the basic formalism of these methods is 
+outlined here.  For a complete account of the Monte Carlo methods, the 
+interested user is referred to the publications of Butcher and Messel, 
+Messel and Crawford, or Ford and Nelson [#!m.butch!#,#!m.messel!#,#!m.egs4!#].
+
+<P>
+Suppose we wish to sample <IMG
+ WIDTH="16" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
+ SRC="img1.gif"
+ ALT="$ x$"> in the interval <!-- MATH
+ $[x_1,\ x_2]$
+ -->
+<IMG
+ WIDTH="66" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img113.gif"
+ ALT="$ [x_1, x_2]$"> from the 
+distribution <IMG
+ WIDTH="41" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img114.gif"
+ ALT="$ f(x)$"> and the <I>normalised</I> probability density function can 
+be written as :
+<P></P>
+<DIV ALIGN="CENTER"><!-- MATH
+ \begin{equation}
+f(x)  = \sum_{i=1}^{n} N_{i} f_{i} (x) g_{i} (x)
+\end{equation}
+ -->
+<TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
+<TR VALIGN="MIDDLE">
+<TD NOWRAP ALIGN="CENTER"><IMG
+ WIDTH="197" HEIGHT="71" ALIGN="MIDDLE" BORDER="0"
+ SRC="img115.gif"
+ ALT="$\displaystyle f(x) = \sum_{i=1}^{n} N_{i} f_{i} (x) g_{i} (x)$"></TD>
+<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
+(2.1)</TD></TR>
+</TABLE></DIV>
+<BR CLEAR="ALL"><P></P>
+where <IMG
+ WIDTH="60" HEIGHT="35" ALIGN="MIDDLE" BORDER="0"
+ SRC="img116.gif"
+ ALT="$ N_i&gt;0$">, <IMG
+ WIDTH="45" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img117.gif"
+ ALT="$ f_i(x)$"> are <I>normalised</I> density functions on <!-- MATH
+ $[x_1,\ x_2]$
+ -->
+<IMG
+ WIDTH="66" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img113.gif"
+ ALT="$ [x_1, x_2]$"> 
+, and <!-- MATH
+ $0 \leq g_i (x) \leq 1$
+ -->
+<IMG
+ WIDTH="114" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img118.gif"
+ ALT="$ 0 \leq g_i (x) \leq 1$">.
+
+<P>
+According to this method, <IMG
+ WIDTH="16" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
+ SRC="img1.gif"
+ ALT="$ x$"> can sampled in the following way:
+
+<OL>
+<LI>select a random integer <!-- MATH
+ $i \in \{1,2,\cdots n\}$
+ -->
+<IMG
+ WIDTH="126" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img119.gif"
+ ALT="$ i \in \{1,2,\cdots n\}$">
+with probability proportional to <IMG
+ WIDTH="25" HEIGHT="35" ALIGN="MIDDLE" BORDER="0"
+ SRC="img120.gif"
+ ALT="$ N_i $">
+</LI>
+<LI>select a value <IMG
+ WIDTH="23" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
+ SRC="img121.gif"
+ ALT="$ x_0$"> from the distribution <IMG
+ WIDTH="45" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img117.gif"
+ ALT="$ f_i(x)$">
+</LI>
+<LI>calculate <IMG
+ WIDTH="52" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img122.gif"
+ ALT="$ g_i (x_0)$"> and accept <IMG
+ WIDTH="59" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
+ SRC="img123.gif"
+ ALT="$ x = x_0$"> with probability <IMG
+ WIDTH="52" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img122.gif"
+ ALT="$ g_i (x_0)$">;
+</LI>
+<LI>if <IMG
+ WIDTH="23" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
+ SRC="img121.gif"
+ ALT="$ x_0$"> is rejected restart from step 1.
+</LI>
+</OL>
+It can be shown that this scheme is correct and the mean
+number of tries to accept a value is <!-- MATH
+ $\sum_{i} N_i$
+ -->
+<IMG
+ WIDTH="54" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img124.gif"
+ ALT="$ \sum_{i} N_i $">.
+
+<P>
+In practice, a good method of sampling from the distribution <IMG
+ WIDTH="41" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img114.gif"
+ ALT="$ f(x)$"> has the 
+following properties:
+
+<UL>
+<LI>all the subdistributions <IMG
+ WIDTH="45" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img117.gif"
+ ALT="$ f_i(x)$"> can be sampled easily;
+</LI>
+<LI>the rejection functions <IMG
+ WIDTH="44" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img125.gif"
+ ALT="$ g_i(x)$"> can be evaluated easily/quickly;
+</LI>
+<LI>the mean number of tries is not too large.
+</LI>
+</UL>
+Thus the different possible decompositions of the distribution
+<IMG
+ WIDTH="41" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img114.gif"
+ ALT="$ f(x)$"> are not equivalent from the practical point of view (e.g. they
+can be very different in computational speed) and it can be useful
+to optimise the decomposition.
+
+<P>
+A remark of practical importance : if our distribution is not
+normalised 
+<!-- MATH
+ \begin{displaymath}
+\int_{x_1}^{x_2} f(x)dx = C > 0
+\end{displaymath}
+ -->
+<P></P>
+<DIV ALIGN="CENTER">
+<IMG
+ WIDTH="173" HEIGHT="63" ALIGN="MIDDLE" BORDER="0"
+ SRC="img126.gif"
+ ALT="$\displaystyle \int_{x_1}^{x_2} f(x)dx = C &gt; 0$">
+</DIV><P></P>
+the method can be used in the same
+manner; the mean number of tries in this
+case is <!-- MATH
+ $\sum_ {i} N_i/C$
+ -->
+<IMG
+ WIDTH="78" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
+ SRC="img127.gif"
+ ALT="$ \sum_ {i} N_i/C$">.
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html813"
+  HREF="node8.html">Status of this document</A>
+<LI><A NAME="tex2html814"
+  HREF="node9.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<HR>
+<!--Navigation Panel-->
+<A NAME="tex2html811"
+  HREF="node8.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html807"
+  HREF="node2.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html801"
+  HREF="node6.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html809"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html812"
+  HREF="node8.html">Status of this document</A>
+<B> Up:</B> <A NAME="tex2html808"
+  HREF="node2.html">Introduction</A>
+<B> Previous:</B> <A NAME="tex2html802"
+  HREF="node6.html">Status of this document</A>
+ &nbsp; <B>  <A NAME="tex2html810"
+  HREF="node1.html">Contents</A></B> 
+<!--End of Navigation Panel-->
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node78.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node78.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node78.html	(revision 901)
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Optical Photons</TITLE>
+<META NAME="description" CONTENT="Optical Photons">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node80.html">
+<LINK REL="previous" HREF="node65.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node79.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2317"
+  HREF="node79.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2313"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2307"
+  HREF="node77.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2315"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2318"
+  HREF="node79.html">Interactions of optical photons</A>
+<B> Up:</B> <A NAME="tex2html2314"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2308"
+  HREF="node77.html">Very Low Energy Extensions</A>
+ &nbsp; <B>  <A NAME="tex2html2316"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION04900000000000000000">
+Optical Photons</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2319"
+  HREF="node79.html">Interactions of optical photons</A>
+<UL>
+<LI><A NAME="tex2html2320"
+  HREF="node79.html#SECTION04911000000000000000">Physics processes for optical photons</A>
+<LI><A NAME="tex2html2321"
+  HREF="node79.html#SECTION04912000000000000000">Photon polarization</A>
+<LI><A NAME="tex2html2322"
+  HREF="node79.html#SECTION04913000000000000000">Tracking of the photons</A>
+<LI><A NAME="tex2html2323"
+  HREF="node79.html#SECTION04914000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node80.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node80.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node80.html	(revision 901)
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Shower Parameterizations</TITLE>
+<META NAME="description" CONTENT="Shower Parameterizations">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="previous" HREF="node78.html">
+<LINK REL="up" HREF="node17.html">
+<LINK REL="next" HREF="node81.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2351"
+  HREF="node81.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2347"
+  HREF="node17.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2343"
+  HREF="node79.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2349"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2352"
+  HREF="node81.html">Gflash Shower Parameterizations</A>
+<B> Up:</B> <A NAME="tex2html2348"
+  HREF="node17.html">Electromagnetic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2344"
+  HREF="node79.html">Interactions of optical photons</A>
+ &nbsp; <B>  <A NAME="tex2html2350"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION041000000000000000000">
+Shower Parameterizations</A>
+</H1>
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2353"
+  HREF="node81.html">Gflash Shower Parameterizations</A>
+<UL>
+<LI><A NAME="tex2html2354"
+  HREF="node81.html#SECTION041011000000000000000">Parameterization Ansatz</A>
+<LI><A NAME="tex2html2355"
+  HREF="node81.html#SECTION041012000000000000000">Longitudinal Shower Profiles </A>
+<LI><A NAME="tex2html2356"
+  HREF="node81.html#SECTION041013000000000000000">Radial Shower Profiles</A>
+<LI><A NAME="tex2html2357"
+  HREF="node81.html#SECTION041014000000000000000">Gflash Performance</A>
+<LI><A NAME="tex2html2358"
+  HREF="node81.html#SECTION041015000000000000000">Status of this document</A>
+<LI><A NAME="tex2html2359"
+  HREF="node81.html#SECTION041016000000000000000">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node82.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node82.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node82.html	(revision 901)
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Hadronic Interactions</TITLE>
+<META NAME="description" CONTENT="Hadronic Interactions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="previous" HREF="node17.html">
+<LINK REL="up" HREF="PhysicsReferenceManual.html">
+<LINK REL="next" HREF="node83.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2384"
+  HREF="node83.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2380"
+  HREF="PhysicsReferenceManual.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2376"
+  HREF="node81.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2382"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2385"
+  HREF="node83.html">Lepton Hadron Interactions</A>
+<B> Up:</B> <A NAME="tex2html2381"
+  HREF="PhysicsReferenceManual.html">Physics Reference Manual</A>
+<B> Previous:</B> <A NAME="tex2html2377"
+  HREF="node81.html">Gflash Shower Parameterizations</A>
+ &nbsp; <B>  <A NAME="tex2html2383"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05000000000000000000">
+Hadronic Interactions</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2386"
+  HREF="node83.html">Lepton Hadron Interactions</A>
+<UL>
+<LI><A NAME="tex2html2387"
+  HREF="node84.html"><I>G4MuonNucleusProcess</I></A>
+<LI><A NAME="tex2html2388"
+  HREF="node85.html">Status of this document</A>
+<LI><A NAME="tex2html2389"
+  HREF="node86.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2390"
+  HREF="node87.html">Cross-sections in Photonuclear/Electronuclear Reactions</A>
+<UL>
+<LI><A NAME="tex2html2391"
+  HREF="node88.html">Approximation of Photonuclear Cross Sections.</A>
+<LI><A NAME="tex2html2392"
+  HREF="node89.html">Electronuclear Cross Sections and Reactions</A>
+<LI><A NAME="tex2html2393"
+  HREF="node90.html">Status of this document</A>
+<LI><A NAME="tex2html2394"
+  HREF="node91.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2395"
+  HREF="node92.html">Total Reaction Cross Section in Nucleus-nucleus Reactions</A>
+<UL>
+<LI><A NAME="tex2html2396"
+  HREF="node93.html">Sihver Formula</A>
+<LI><A NAME="tex2html2397"
+  HREF="node94.html">Kox and Shen Formulae</A>
+<LI><A NAME="tex2html2398"
+  HREF="node95.html">Tripathi formula</A>
+<LI><A NAME="tex2html2399"
+  HREF="node96.html">Representative Cross Sections</A>
+<LI><A NAME="tex2html2400"
+  HREF="node97.html">Tripathi Formula for "light" Systems</A>
+<LI><A NAME="tex2html2401"
+  HREF="node98.html">Status of this document</A>
+<LI><A NAME="tex2html2402"
+  HREF="node99.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2403"
+  HREF="node100.html">Coherent elastic scattering</A>
+<UL>
+<LI><A NAME="tex2html2404"
+  HREF="node101.html">Nucleon-Nucleon elastic Scattering</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2405"
+  HREF="node102.html">Hadron-nucleus Elastic Scattering at Medium/High Energy</A>
+<UL>
+<LI><A NAME="tex2html2406"
+  HREF="node103.html">Method of Calculation</A>
+<LI><A NAME="tex2html2407"
+  HREF="node104.html">Status of this document</A>
+<LI><A NAME="tex2html2408"
+  HREF="node105.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2409"
+  HREF="node106.html">Interactions of Stopping Particles</A>
+<UL>
+<LI><A NAME="tex2html2410"
+  HREF="node107.html">Complementary parameterised and theoretical treatment</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2411"
+  HREF="node108.html">Parametrization Driven Models</A>
+<UL>
+<LI><A NAME="tex2html2412"
+  HREF="node109.html">Introduction</A>
+<LI><A NAME="tex2html2413"
+  HREF="node110.html">Low Energy Model</A>
+<LI><A NAME="tex2html2414"
+  HREF="node111.html">High Energy Model</A>
+<LI><A NAME="tex2html2415"
+  HREF="node112.html">Status of this document</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2416"
+  HREF="node113.html">Leading Particle Bias</A>
+<UL>
+<LI><A NAME="tex2html2417"
+  HREF="node114.html">Overview</A>
+<LI><A NAME="tex2html2418"
+  HREF="node115.html">Method</A>
+<LI><A NAME="tex2html2419"
+  HREF="node116.html">Status of this document</A>
+<LI><A NAME="tex2html2420"
+  HREF="node117.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2421"
+  HREF="node118.html">Parton string model.</A>
+<UL>
+<LI><A NAME="tex2html2422"
+  HREF="node119.html">Reaction initial state simulation.</A>
+<LI><A NAME="tex2html2423"
+  HREF="node120.html">Sample of collision participants
+in nuclear collisions.</A>
+<LI><A NAME="tex2html2424"
+  HREF="node121.html">Longitudinal string excitation</A>
+<LI><A NAME="tex2html2425"
+  HREF="node122.html">Longitudinal string decay.</A>
+<LI><A NAME="tex2html2426"
+  HREF="node123.html">Status of this document</A>
+<LI><A NAME="tex2html2427"
+  HREF="node124.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2428"
+  HREF="node125.html">Chiral Invariant Phase Space Decay.</A>
+<UL>
+<LI><A NAME="tex2html2429"
+  HREF="node126.html">Introduction</A>
+<LI><A NAME="tex2html2430"
+  HREF="node127.html">Fundamental Concepts</A>
+<LI><A NAME="tex2html2431"
+  HREF="node128.html">Code Development</A>
+<LI><A NAME="tex2html2432"
+  HREF="node129.html">Nucleon-Antinucleon Annihilation at Rest</A>
+<LI><A NAME="tex2html2433"
+  HREF="node130.html">Nuclear Pion Capture Below Delta(3,3)</A>
+<LI><A NAME="tex2html2434"
+  HREF="node131.html">Modeling of real and virtual photon interactions</A>
+<LI><A NAME="tex2html2435"
+  HREF="node132.html">Chiral invariant phase-space decay</A>
+<LI><A NAME="tex2html2436"
+  HREF="node133.html">Neutrino-nuclear interactions</A>
+<LI><A NAME="tex2html2437"
+  HREF="node134.html">Conclusion.</A>
+<LI><A NAME="tex2html2438"
+  HREF="node135.html">Status of this document</A>
+<LI><A NAME="tex2html2439"
+  HREF="node136.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2440"
+  HREF="node137.html">Bertini Intranuclear Cascade Model in G<SMALL>EANT4</SMALL> </A>
+<UL>
+<LI><A NAME="tex2html2441"
+  HREF="node138.html">Introduction</A>
+<LI><A NAME="tex2html2442"
+  HREF="node139.html">The Geant4 Cascade Model</A>
+<LI><A NAME="tex2html2443"
+  HREF="node140.html">Interfacing Bertini implementation</A>
+<LI><A NAME="tex2html2444"
+  HREF="node141.html">Status of this document</A>
+<LI><A NAME="tex2html2445"
+  HREF="node142.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2446"
+  HREF="node143.html">The G<SMALL>EANT4</SMALL> Binary Cascade</A>
+<UL>
+<LI><A NAME="tex2html2447"
+  HREF="node144.html">Modeling overview</A>
+<LI><A NAME="tex2html2448"
+  HREF="node145.html">Comparison with experiments</A>
+<LI><A NAME="tex2html2449"
+  HREF="node146.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2450"
+  HREF="node147.html">Abrasion-ablation Model</A>
+<UL>
+<LI><A NAME="tex2html2451"
+  HREF="node148.html">Introduction</A>
+<LI><A NAME="tex2html2452"
+  HREF="node149.html">Initial nuclear dynamics and impact parameter</A>
+<LI><A NAME="tex2html2453"
+  HREF="node150.html">Abrasion process</A>
+<LI><A NAME="tex2html2454"
+  HREF="node151.html">Abraded nucleon spectrum</A>
+<LI><A NAME="tex2html2455"
+  HREF="node152.html">De-excitation of nuclear pre-fragments by standard G4</A>
+<LI><A NAME="tex2html2456"
+  HREF="node153.html">De-excitation of nuclear pre-fragments by nuclear ablation</A>
+<LI><A NAME="tex2html2457"
+  HREF="node154.html">Definition of the functions P and F used in the abrasion model</A>
+<LI><A NAME="tex2html2458"
+  HREF="node155.html">Status of this document</A>
+<LI><A NAME="tex2html2459"
+  HREF="node156.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2460"
+  HREF="node157.html">Electromagnetic Dissociation Model</A>
+<UL>
+<LI><A NAME="tex2html2461"
+  HREF="node158.html">The Model</A>
+<LI><A NAME="tex2html2462"
+  HREF="node159.html">Status of this document</A>
+<LI><A NAME="tex2html2463"
+  HREF="node160.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2464"
+  HREF="node161.html">Precompound model.</A>
+<UL>
+<LI><A NAME="tex2html2465"
+  HREF="node162.html">Reaction initial state.</A>
+<LI><A NAME="tex2html2466"
+  HREF="node163.html">Simulation of pre-compound reaction</A>
+<LI><A NAME="tex2html2467"
+  HREF="node164.html">Status of this document</A>
+<LI><A NAME="tex2html2468"
+  HREF="node165.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2469"
+  HREF="node166.html">Evaporation Model</A>
+<UL>
+<LI><A NAME="tex2html2470"
+  HREF="node167.html">Introduction.</A>
+<LI><A NAME="tex2html2471"
+  HREF="node168.html">Model description.</A>
+<LI><A NAME="tex2html2472"
+  HREF="node169.html">GEM Model</A>
+<LI><A NAME="tex2html2473"
+  HREF="node170.html">Fission probability calculation.</A>
+<LI><A NAME="tex2html2474"
+  HREF="node171.html">The Total Probability for Photon Evaporation</A>
+<LI><A NAME="tex2html2475"
+  HREF="node172.html">Discrete photon evaporation</A>
+<LI><A NAME="tex2html2476"
+  HREF="node173.html">Internal conversion electron emission</A>
+<LI><A NAME="tex2html2477"
+  HREF="node174.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2478"
+  HREF="node175.html">Fission model.</A>
+<UL>
+<LI><A NAME="tex2html2479"
+  HREF="node176.html">Reaction initial state.</A>
+<LI><A NAME="tex2html2480"
+  HREF="node177.html">Fission process simulation.</A>
+<LI><A NAME="tex2html2481"
+  HREF="node178.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2482"
+  HREF="node179.html">Fermi break-up model.</A>
+<UL>
+<LI><A NAME="tex2html2483"
+  HREF="node180.html">Fermi break-up simulation for light nuclei.</A>
+<LI><A NAME="tex2html2484"
+  HREF="node181.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2485"
+  HREF="node182.html">Multifragmentation model.</A>
+<UL>
+<LI><A NAME="tex2html2486"
+  HREF="node183.html">Multifragmentation process simulation.</A>
+<LI><A NAME="tex2html2487"
+  HREF="node184.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2488"
+  HREF="node185.html">INCL 4.2 Cascade and ABLA V3 Evaporation with Fission</A>
+<UL>
+<LI><A NAME="tex2html2489"
+  HREF="node186.html">Introduction</A>
+<LI><A NAME="tex2html2490"
+  HREF="node187.html">INCL4.2 cascade</A>
+<LI><A NAME="tex2html2491"
+  HREF="node188.html">ABLA V3 evaporation</A>
+<LI><A NAME="tex2html2492"
+  HREF="node189.html">External data file required</A>
+<LI><A NAME="tex2html2493"
+  HREF="node190.html">Implementation details</A>
+<LI><A NAME="tex2html2494"
+  HREF="node191.html">Physics Performance</A>
+<LI><A NAME="tex2html2495"
+  HREF="node192.html">Status of this document</A>
+<LI><A NAME="tex2html2496"
+  HREF="node193.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2497"
+  HREF="node194.html">Low Energy Neutron Interactions</A>
+<UL>
+<LI><A NAME="tex2html2498"
+  HREF="node195.html">Introduction</A>
+<LI><A NAME="tex2html2499"
+  HREF="node196.html">Physics and Verification</A>
+<LI><A NAME="tex2html2500"
+  HREF="node197.html">High Precision Models and Low Energy Parameterized Models</A>
+<LI><A NAME="tex2html2501"
+  HREF="node198.html">Summary</A>
+<LI><A NAME="tex2html2502"
+  HREF="node199.html">Status of this document</A>
+<LI><A NAME="tex2html2503"
+  HREF="node200.html">Bibliography</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2504"
+  HREF="node201.html">Radioactive Decay</A>
+<UL>
+<LI><A NAME="tex2html2505"
+  HREF="node202.html">The Radioactive Decay Module</A>
+<LI><A NAME="tex2html2506"
+  HREF="node203.html">Sampling</A>
+<LI><A NAME="tex2html2507"
+  HREF="node204.html">Status of this document</A>
+<LI><A NAME="tex2html2508"
+  HREF="node205.html">Bibliography</A>
+</UL></UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node83.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node83.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node83.html	(revision 901)
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Lepton Hadron Interactions</TITLE>
+<META NAME="description" CONTENT="Lepton Hadron Interactions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node87.html">
+<LINK REL="previous" HREF="node82.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node84.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2519"
+  HREF="node84.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2515"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2509"
+  HREF="node82.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2517"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2520"
+  HREF="node84.html">G4MuonNucleusProcess</A>
+<B> Up:</B> <A NAME="tex2html2516"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2510"
+  HREF="node82.html">Hadronic Interactions</A>
+ &nbsp; <B>  <A NAME="tex2html2518"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05100000000000000000">
+Lepton Hadron Interactions</A>
+</H1>
+
+<P>
+The photonuclear interaction of muons is currently the only process treated
+in this category. 
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2521"
+  HREF="node84.html"><I>G4MuonNucleusProcess</I></A>
+<UL>
+<LI><A NAME="tex2html2522"
+  HREF="node84.html#SECTION05111000000000000000">Cross Section Calculation</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2523"
+  HREF="node85.html">Status of this document</A>
+<LI><A NAME="tex2html2524"
+  HREF="node86.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node87.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node87.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node87.html	(revision 901)
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Cross-sections in Photonuclear/Electronuclear Reactions</TITLE>
+<META NAME="description" CONTENT="Cross-sections in Photonuclear/Electronuclear Reactions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node92.html">
+<LINK REL="previous" HREF="node83.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node88.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2570"
+  HREF="node88.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2566"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2560"
+  HREF="node86.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2568"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2571"
+  HREF="node88.html">Approximation of Photonuclear Cross</A>
+<B> Up:</B> <A NAME="tex2html2567"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2561"
+  HREF="node86.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html2569"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05200000000000000000">
+Cross-sections in Photonuclear and Electronuclear Reactions</A>
+</H1>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2572"
+  HREF="node88.html">Approximation of Photonuclear Cross Sections.</A>
+<LI><A NAME="tex2html2573"
+  HREF="node89.html">Electronuclear Cross Sections and Reactions</A>
+<UL>
+<LI><A NAME="tex2html2574"
+  HREF="node89.html#SECTION05221000000000000000">Common Notation for Electronuclear Reactions</A>
+</UL>
+<BR>
+<LI><A NAME="tex2html2575"
+  HREF="node90.html">Status of this document</A>
+<LI><A NAME="tex2html2576"
+  HREF="node91.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node92.html
===================================================================
--- trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node92.html	(revision 901)
+++ trunk/Documentation/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/node92.html	(revision 901)
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+
+<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
+original version by:  Nikos Drakos, CBLU, University of Leeds
+* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
+* with significant contributions from:
+  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
+<HTML>
+<HEAD>
+<TITLE>Total Reaction Cross Section in Nucleus-nucleus Reactions</TITLE>
+<META NAME="description" CONTENT="Total Reaction Cross Section in Nucleus-nucleus Reactions">
+<META NAME="keywords" CONTENT="PhysicsReferenceManual">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+
+<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
+<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
+
+<LINK REL="STYLESHEET" HREF="PhysicsReferenceManual.css">
+
+<LINK REL="next" HREF="node100.html">
+<LINK REL="previous" HREF="node87.html">
+<LINK REL="up" HREF="node82.html">
+<LINK REL="next" HREF="node93.html">
+</HEAD>
+
+<BODY >
+<!--Navigation Panel-->
+<A NAME="tex2html2634"
+  HREF="node93.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.gif"></A> 
+<A NAME="tex2html2630"
+  HREF="node82.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.gif"></A> 
+<A NAME="tex2html2624"
+  HREF="node91.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.gif"></A> 
+<A NAME="tex2html2632"
+  HREF="node1.html">
+<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.gif"></A>  
+<BR>
+<B> Next:</B> <A NAME="tex2html2635"
+  HREF="node93.html">Sihver Formula</A>
+<B> Up:</B> <A NAME="tex2html2631"
+  HREF="node82.html">Hadronic Interactions</A>
+<B> Previous:</B> <A NAME="tex2html2625"
+  HREF="node91.html">Bibliography</A>
+ &nbsp; <B>  <A NAME="tex2html2633"
+  HREF="node1.html">Contents</A></B> 
+<BR>
+<BR>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION05300000000000000000">
+Total Reaction Cross Section in Nucleus-nucleus Reactions</A>
+</H1>
+
+The transportation of heavy ions in matter is a subject of much interest in 
+several fields of science. An important input for simulations of this process 
+is the total reaction cross section, which is defined as the total 
+(<!-- MATH
+ $\sigma_{T}$
+ -->
+<IMG
+ WIDTH="26" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
+ SRC="img2601.gif"
+ ALT="$ \sigma_{T}$">) minus the elastic (<!-- MATH
+ $\sigma_{el}$
+ -->
+<IMG
+ WIDTH="27" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
+ SRC="img2602.gif"
+ ALT="$ \sigma_{el}$">) cross section for 
+nucleus-nucleus reactions:
+<BR>
+<DIV ALIGN="CENTER">
+<!-- MATH
+ \begin{eqnarray*}
+\sigma_{R} = \sigma_{T} - \sigma_{el} .
+\end{eqnarray*}
+ -->
+<TABLE CELLPADDING="0" ALIGN="CENTER" WIDTH="100%">
+<TR VALIGN="MIDDLE"><TD NOWRAP ALIGN="RIGHT"><IMG
+ WIDTH="123" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
+ SRC="img2603.gif"
+ ALT="$\displaystyle \sigma_{R} = \sigma_{T} - \sigma_{el} .$"></TD>
+<TD>&nbsp;</TD>
+<TD>&nbsp;</TD>
+<TD WIDTH=10 ALIGN="RIGHT">
+&nbsp;</TD></TR>
+</TABLE></DIV>
+<BR CLEAR="ALL">
+
+The total reaction cross section has been studied both theoretically and 
+experimentally and several empirical parameterizations of it have been 
+developed.  In Geant4 the total reaction cross sections are calculated using 
+four such parameterizations: the Sihver[#!nnc.Sihver93!#], 
+Kox[#!nnc.Kox87!#], Shen[#!nnc.Shen89!#] and Tripathi[#!nnc.Tripathi97!#] 
+formulae.  Each of these is discussed in order below.
+
+<P>
+<BR><HR>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
+
+<UL>
+<LI><A NAME="tex2html2636"
+  HREF="node93.html">Sihver Formula</A>
+<LI><A NAME="tex2html2637"
+  HREF="node94.html">Kox and Shen Formulae</A>
+<LI><A NAME="tex2html2638"
+  HREF="node95.html">Tripathi formula</A>
+<LI><A NAME="tex2html2639"
+  HREF="node96.html">Representative Cross Sections</A>
+<LI><A NAME="tex2html2640"
+  HREF="node97.html">Tripathi Formula for "light" Systems</A>
+<LI><A NAME="tex2html2641"
+  HREF="node98.html">Status of this document</A>
+<LI><A NAME="tex2html2642"
+  HREF="node99.html">Bibliography</A>
+</UL>
+<!--End of Table of Child-Links-->
+<BR><HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/applications/index.shtml
===================================================================
--- trunk/Documentation/geant4/applications/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/applications/index.shtml	(revision 901)
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: Applications of this toolkit</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<link rel="stylesheet" type="text/css" href="../includes/print.css" media="print" />
+
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<!-- start main page content -->
+<table cellspacing="6" cellpadding="0" width="100%">
+  <tr>
+    <td id="breadcrumb" colspan="4">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+       Applications<!-- end bread crumb
+ --></td>
+  </tr>
+  <tr class="header">
+    <td colspan="4">
+    <h2>Applications</h2>
+    <p>&nbsp;</p>
+    </td>
+  </tr>
+  <tr class="header">
+    <td width="25%">
+    <h1>High Energy Physics</h1>
+    </td>
+    <td width="25%">
+    <h1>Space and Radiation</h1>
+    </td>
+    <td width="25%">
+    <h1>Medical</h1>
+    </td>
+    <td width="25%">
+    <h1>Technology Transfer</h1>
+    </td>
+  </tr>
+  <tr>
+    <td width="25%"><a href="hepapp.shtml">
+    <img src="images/atlas.jpg" alt="High Energy Physics" width="141" height="102" /></a></td>
+    <td width="25%"><a href="spaceapp.shtml">
+    <img src="images/xmmnewton.jpg" alt="Space Applications" width="141" height="102" /></a></td>
+    <td width="25%"><a href="medapp.shtml">
+    <img src="images/brachy.gif" alt="Medical Applications" width="141" height="102" /></a></td>
+    <td width="25%"><a href="http://geant4-tt.web.cern.ch/geant4-tt/">
+    <img src="images/CoverHalf.jpg" alt="Technology Transfer" width="140" height="102" /></a></td>
+  </tr>
+  <tr class="more">
+    <td width="25%">&gt;&gt;<a href="hepapp.shtml">more high energy 
+    physics</a></td>
+    <td width="25%">&gt;&gt;<a href="spaceapp.shtml">more space and 
+    radiation</a></td>
+    <td width="25%">&gt;&gt;<a href="medapp.shtml">more medical</a></td>
+    <td width="25%">&gt;&gt;<a href="http://geant4-tt.web.cern.ch/geant4-tt/">more 
+    technology transfer</a></td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   05 Feb 2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/collaboration/contacts.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/contacts.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/contacts.shtml	(revision 901)
@@ -0,0 +1,318 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Geant4 contacts</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<script src="../includes/D2_open.js" type="text/javascript">
+</script>
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                    <a href="index.shtml">Collaboration</a> &gt;
+                    Contacts
+    <!-- end bread crumb -->
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+      <h1 align="center">Category Coordinators and Contact Persons</h1>
+      <h2 align="left">1. Geant4 Working Groups & Coordinators</h2>
+      <P>Following principles of object oriented analysis and design, the software of the Geant4 
+         toolkit is decomposed into categories. Usually several categories are grouped together 
+         to form a working group. These working groups a responsible for the development, support 
+         and documentation of their categories. In addition there are working groups for documentation, 
+         testing and software management. Each member of the collaboration is working for one or several 
+         working groups. The working group coordinator represents the working group on the Steering 
+         Board. They are also responsible for maintainance, tagging/releasing and quality assurance of each 
+         domain/subdomain of Geant4. Coordinators can reply to specific questions in the area of their
+         responsibility.
+      </P>
+      <hr>
+      <P>
+         <table align="center" width="90%" border="5">
+            <th align="Left">Working Group</th>
+            <th align="Left">Categories, Sub-categories or Description</th>
+            <th align="Left">Institute - Coordinator</th>
+            <tr>
+               <td>Documentation Management</td>
+               <td>documents, UserDoc, examples</td>
+               <td>KEK
+                  	     -
+                  	  <a href="mailto:Katsuya.Amako@kek.jpd">Katsuya
+                     		 Amako</a></td>
+            </tr>
+            <tr>
+               <td>Electromagnetic Physics</td>
+               <td>processes/electromagnetic, processes/optical</td>
+               <td>CERN -                  	
+                  	  <a href="mailto:Vladimir.Ivantchenko@cern.ch">Vladimir 
+                     		 Ivantchenko</a></td>
+            </tr>
+            <tr>
+               <td>Geometry and Transport</td>
+               <td>geometry, processes/transportation, g3tog4</td>
+               <td>CERN
+                  	     -
+                  	  <a href="mailto:Gabriele.Cosmo@cern.ch">Gabriele
+                     		 Cosmo</a></td>
+            </tr>
+            <tr>
+               <td>Hadronic Physics</td>
+               <td>processes/hadronic, data/PhotonEvaporation, G4NDL</td>
+               <td>SLAC
+                  	     -
+                  	  <a href="mailto:dwright@slac.stanford.edu">Dennis
+                     		 Wright</a></td>
+            </tr>
+            <tr>
+               <td>Low Energy Electromagnetic Physics</td>
+               <td>processes/electromagnetic/lowenergy</td>
+               <td>IN2P3
+                  	     -
+                  	  <a href="mailto:incerti@cenbg.in2p3.fr">Sebastien
+                     		 Incerti</a></td>
+            </tr>
+            <tr>
+               <td>Particles and Track</td>
+               <td>particles, track</td>
+               <td>Kobe University
+                  	     -
+                  	  <a href="mailto:kurasige@phys.sci.kobe-u.ac.jp">Hisaya
+                     		 Kurashige</a></td>
+            </tr>
+            <tr>
+               <td>Persistency</td>
+               <td>persistency</td>
+               <td>CERN
+                  	     -
+                  	  <a href="mailto:Gabriele.Cosmo@cern.ch">Gabriele
+                     		 Cosmo</a></td>
+            </tr>
+            <tr>
+               <td>Processes and Materials</td>
+               <td>materials, the following sub-categories of processes: decay, management, parameterisation</td>
+               <td>IN2P3/LLR
+                  	     -
+                  	  <a href="mailto:verderi@in2p3.fr">Marc
+                     		 Verderi</a></td>
+            </tr>
+            <tr>
+               <td>Run, Event and Detector Responses</td>
+               <td>run, digits_hits, events, readout</td>
+               <td>SLAC
+                  	     -
+                  	  <a href="mailto:asai@slac.stanford.edu">Makoto
+                     		 Asai</a></td>
+            </tr>
+            <tr>
+               <td>Software Management</td>
+               <td>data, global, config, source/GNUmakefile</td>
+               <td>CERN
+                  	     -
+                  	  <a href="mailto:Gunter.Folger@cern.ch">Gunter
+                     		 Folger</a></td>
+            </tr>
+            <tr>
+               <td>Testing and Quality Assurance</td>
+               <td>tests</td>
+               <td>CERN
+                  	     -
+                  	  <a href="mailto:Gunter.Folger@cern.ch">Gunter
+                     		 Folger</a></td>
+            </tr>
+            <tr>
+               <td>Tracking</td>
+               <td>tracking</td>
+               <td>KEK
+                  	     -
+                  	  <a href="mailto:Takashi.Sasaki@kek.jp">Takashi
+                     		 Sasaki</a></td>
+            </tr>
+            <tr>
+               <td>User and Category Interfaces</td>
+               <td>environments, intercoms, interfaces</td>
+               <td>Naruto University of Education
+                  	     -
+                  	  <a href="mailto:yoshidah@naruto-u.ac.jp">Hajime
+                     		 Yoshida</a></td>
+            </tr>
+            <tr>
+               <td>Visualisation</td>
+               <td>visualization, graphics_reps</td>
+               <td>SLAC
+                  	     -
+                  	  <a href="mailto:perl@slac.stanford.edu">Joseph
+                     		 Perl</a><br>Kyoto University
+                  	     -
+                  	  <a href="mailto:stanaka@media.ritsumei.ac.jp">Satoshi
+                     		 Tanaka</a></td>
+            </tr>
+         </table><br></P>
+      <h2 align="left">2. Geant4 Contact Persons</h2>
+      <P>If you wish to contact a member of Geant4 for help, support, or enhancement requests 
+         of the toolkit, your first contact should be with the contact person of your experiment 
+         or institute. The COMMON representative is the contact person for people outside the 
+         collaborating experiments or institutes.         		
+      </P>
+      <hr>
+      <P>
+         <table align="center" width="85%" border="5">
+            <th align="Left">Experiment/Institute</th>
+            <th align="Left">Contact person</th>
+            <tr>
+               <td><a href="http://cern.ch/geant4/collaboration/technical_forum/index.shtml">Geant4 Technical Forum</a></td>
+               <td><a href="mailto:Albert.de.Roeck@cern.ch">Albert
+                     		  De Roeck</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://atlasinfo.cern.ch/Atlas/Welcome.html">ATLAS</a></td>
+               <td><a href="mailto:Armin.Nairz@cern.ch">Armin
+                     		  Nairz</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.slac.stanford.edu/BFROOT/">BaBar</a></td>
+               <td><a href="mailto:dwright@slac.stanford.edu">Dennis
+                     		  Wright</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://cern.ch/">CERN</a></td>
+               <td><a href="mailto:John.Apostolakis@cern.ch">John
+                     		  Apostolakis</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://cmsinfo.cern.ch/cmsinfo/Welcome.html">CMS</a></td>
+               <td><a href="mailto:Gabriele.Cosmo@cern.ch">Gabriele
+                     		  Cosmo</a></td>
+            </tr>
+            <tr>
+               <td>COMMON</td>
+               <td><a href="mailto:Vladimir.Ivantchenko@cern.ch">Vladimir
+                     		  Ivantchenko</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.esa.int/">ESA</a></td>
+               <td><a href="mailto:Giovanni.Santin@esa.int">Giovanni
+                     		  Santin</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://harp.web.cern.ch/harp/">HARP</a></td>
+               <td><a href="mailto:Pedro.Arce@cern.ch">Pedro
+                     		  Arce Dubois</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.hip.fi/">Helsinki Institute of Physics(HIP)</a></td>
+               <td><a href="mailto:Aatos.Heikkinen@cern.ch">Aatos
+                     		  Heikkinen</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.in2p3.fr/">IN2P3</a></td>
+               <td><a href="mailto:barrand@lal.in2p3.fr">Guy
+                     		  Barrand</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.infn.it">INFN Genova</a></td>
+               <td><a href="mailto:Maria.Grazia.Pia@cern.ch">Maria Grazia
+                     		  Pia</a></td>
+            </tr>
+           <tr>
+               <td><a href="http://www.kek.jp/">KEK</a></td>
+               <td><a href="mailto:Katsuya.Amako@kek.jp">Katsuya
+                     		  Amako</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.lpi.msk.su/index.html.en">Lebedev Physical Institute, Moscow</a></td>
+               <td><a href="mailto:Nikolai.Starkov@cern.ch">Nikolai
+                     		  Starkov</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://lhcb.cern.ch/">LHCb</a></td>
+               <td><a href="mailto:Gloria.Corti@cern.ch">Gloria
+                     		  Corti</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.scitech.ac.uk/Home.aspx">STFC (Science and
+	       			Technology Facilities Council, UK), former PPARC</a></td>
+               <td><a href="mailto:">John
+                     		  Allison</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.slac.stanford.edu/">SLAC</a></td>
+               <td><a href="mailto:asai@slac.stanford.edu">Makoto
+                     		  Asai</a></td>
+            </tr>
+            <tr>
+               <td><a href="http://www.triumf.ca/">TRIUMF</a></td>
+               <td><a href="mailto:Peter.Gumplinger@triumf.ca">Peter
+                     		  Gumplinger</a></td>
+            </tr>
+         </table><br></P>
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   07/01/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+</body>
+</html>
Index: trunk/Documentation/geant4/collaboration/index.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/index.shtml	(revision 901)
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: The Collaboration</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<script src="../includes/D2_open.js" type="text/javascript">
+</script>
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                    Collaboration
+    <!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Collaborating Institutions</h2>
+    <p>
+    <img src="../images/map_blue.gif" alt="Map of the world" width="150" height="85" /></p>
+    <form name="jumpform9013" action="%2520">
+      <select size="1" onchange="javascript:D2_doJump2(jumpform9013,false,'_self',false);" name="collaboration_sites">
+      <option value="selected">jump to an institution site &gt;</option>
+      <option value="http://www.cern.ch">CERN</option>
+      <option value="http://www.esa.int">ESA</option>
+      <option value="http://www.fnal.gov">Fermilab</option>
+      <option value="http://www.hip.fi/">Helsinki Institute of Physics</option>
+      <option value="http://geant4.in2p3.fr/">IN2P3</option>
+      <option value="http://www.ge.infn.it/geant4/">INFN</option>
+      <option value="http://www.kek.jp">KEK</option>
+      <option value="http://www.lebedev.ru/">Lebedev Institute</option>
+      <option value="http://www.slac.stanford.edu">SLAC</option>
+      <option value="http://www.triumf.ca">TRIUMF</option>
+      <option value="http://www.scitech.ac.uk/Home.aspx">UK/STFC (formerly PPARC)</option>
+      </select>
+    </form>
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="other_g4_webs.shtml">Geant4-related web pages</a></li>
+      <li><a href="steering_board/minutes">Steering Board meeting minutes</a></li>
+      <li><a href="workshops.shtml">Workshops and Reviews</a></li>
+      <li><a href="cvsmanagement.shtml">CVS Management</a></li>
+      <li><a href="coding_guidelines.shtml">Coding Guidelines</a></li>
+      <li><a href="EMindex.shtml">Electromagnetic Physics</a></li> 
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+
+    <h2>Organization</h2>
+    <p>
+    Geant4 is a world-wide collaboration of scientists and software 
+    engineers whose goal is to develop, maintain and provide support for
+    the Geant4 toolkit.  The direction of the collaboration is handled 
+    by the <a href="steering_board">steering board</a>.  It is 
+    the task of the <a href="OversightBoard.shtml">oversight board</a>
+    to ensure that sufficient resources are made available to the 
+    collaboration in order for it to function efficiently.
+    </p>
+    <p>
+    The day-to-day work of Geant4 is performed within the 
+    <a href="working_groups.shtml">working groups</a> which are organized
+    approximately around the Geant4 categories.
+    </p>
+
+    <p>
+    The collaboration is committed to providing open communication with users.
+    Direct discussions between users and developers are held on a regular 
+    basis. These take the form of a 
+    <a href="technical_forum/index.shtml">Technical forum</a> in which users may propose changes to the Geant4 toolkit.  One-to-one
+    discussions with <a href="members.shtml">Geant4 members</a> are also
+    encouraged.
+    </p>
+
+    <h2>Policies and Procedures</h2>
+    <ul>
+      <li><a href="tag_release.shtml">Tag and release policy</a></li>
+      <li><a href="software_process.shtml">Software process improvement</a></li>
+      <li>User support document</li>
+      <li><a href="urd.shtml">User requirements tracker</a></li>
+      <li><a href="http://geant4.cern.ch/collaboration/restricted/tags_database.shtml">Tags database</a>
+          <img src="../images/key.gif" border=none></li>
+      <li><a href="http://geant4.cern.ch/CW/index.html">Code Wizard filtering</a>
+          <img src="../images/key.gif" border=none></li>
+    </ul>
+    <h2>Administration</h2>
+    <ul>
+      <li><a href="http://geant4.cern.ch/collaboration/steering_board/internal/">Steering Board pages</a>
+          <img src="../images/key.gif" border=none></li>
+      <li><a href="http://geant4-old.cern.ch/cb">Oversight Board pages</a>
+          <img src="../images/key.gif" border=none></li>
+    </ul>
+    <h2>Legal</h2>
+    <ul>
+      <li><a href="../license/index.shtml">Copyright and licensing</a></li>
+      <li>Collaboration agreement</li>
+    </ul>
+    <h2><a href="working_groups.shtml">Working Groups</a> pages</h2>
+    <ul>
+      <li><a href="working_groups/documentation/index.shtml">Documentation Management</a></li>
+      <li><a href="working_groups/geometry/index.shtml">Geometry and Transport</a></li>
+      <li><a href="working_groups/electromagnetic/index.shtml">Standard Electromagnetic Physics</a></li>
+      <li><a href="working_groups/hadronic">Hadronic Physics</a></li>
+      <li><a href="working_groups/LEelectromagnetic/">Low Energy Electromagnetic Physics</a></li>
+      <li><a href="working_groups/genproc/index.shtml">Materials and Generic Processes</a></li>
+      <li><a href="working_groups/particle/">Particles and Track</a></li>
+      <li><a href="working_groups/persistency/index.shtml">Persistency</a></li>
+      <li><a href="working_groups/runAndEvent/index.shtml">Run,Event, and Detector Response</a></li>
+      <li><a href="http://www-geant4.kek.jp/interface/">User and Category Interfaces</a></li>
+      <li><a href="working_groups/advanced_examples/">Advanced Examples</a></li>
+      <li><a href="working_groups/testing/index.shtml">Testing and Quality Assurance</a></li>
+      <li><a href="working_groups/softman/index.shtml">Software Management</a></li>
+      <li><a href="working_groups/visualization/">Visualization</a></li>
+    </ul>
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   06 Dec 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/collaboration/members.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/members.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/members.shtml	(revision 901)
@@ -0,0 +1,882 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+   <head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   
+      <title>Geant4 Collaborators</title>
+      <link rel="stylesheet" type="text/css" href="../includes/geantstyle.css">
+   </head>
+   <body>
+      <!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+      
+      <table border="0" cellpadding="4" cellspacing="0" width="100%">
+         <tr>
+            <td id="breadcrumb"><a href="../index.shtml">Home</a> &gt;
+               	<a href="index.shtml">Collaboration</a> &gt;
+               	Members
+               	
+            </td>
+         </tr>
+         <tr>
+            <td id="main">
+               <h2 align="center">Geant4 Collaborators</h2>
+               <p>
+                  Members are listed alphabetically by surname followed by e-mail address.
+                  
+               </p>
+               <hr>
+               <ul>
+                  <li>Haifa Ben
+                     			Abdelouahed
+                     			
+                     
+                     (CNSTN, Tunesia)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:haifa_2000fr@yahoo.fr">haifa_2000fr@yahoo.fr</a></li>
+                  <li>John
+                     			Allison
+                     			
+                     
+                     (Manchester University, STFC (Science and Technology Facilities Council, UK), BaBar)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:John.Allison@cern.ch">John.Allison@cern.ch</a></li>
+                  <li>Katsuya
+                     			Amako
+                     			
+                     
+                     (KEK)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Katsuya.Amako@kek.jp">Katsuya.Amako@kek.jp</a></li>
+                  <li>John
+                     			Apostolakis
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:John.Apostolakis@cern.ch">John.Apostolakis@cern.ch</a></li>
+                  <li>Pedro
+                     			Arce Dubois
+                     			
+                     
+                     (CIEMAT)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Pedro.Arce@cern.ch">Pedro.Arce@cern.ch</a></li>
+                  <li>Makoto
+                     			Asai
+                     			
+                     
+                     (SLAC)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:asai@slac.stanford.edu">asai@slac.stanford.edu</a></li>
+                  <li>Tsukasa
+                     			Aso
+                     			
+                     
+                     (Toyama National College of Maritime Technology)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:aso@toyama-cmt.ac.jp">aso@toyama-cmt.ac.jp</a></li>
+                  <li>Alexander
+                     			Bagulya
+                     			
+                     
+                     (Lebedev Physical Institute, Moscow)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:bagulya@sci.lebedev.ru">bagulya@sci.lebedev.ru</a></li>
+                  <li>Sunanda
+                     			Banerjee
+                     			
+                     
+                     (Fermilab)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Sunanda.Banerjee@cern.ch">Sunanda.Banerjee@cern.ch</a></li>
+                  <li>Guy
+                     			Barrand
+                     			
+                     
+                     (LAL Orsay)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:barrand@lal.in2p3.fr">barrand@lal.in2p3.fr</a></li>
+                  <li>Marcia
+                     			Begalli
+                     			
+                     
+                     (INFN, State Univ. Rio de Janeiro)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Marcia.Begalli@cern.ch">Marcia.Begalli@cern.ch</a></li>
+                  <li>Alexey
+                     			Bogdanov
+                     			
+                     
+                     (MEPhI Moscow)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:AGBogdanov@mephi.ru">AGBogdanov@mephi.ru</a></li>
+                  <li>Alain
+                     			Boudard
+                     			
+                     
+                     (CEA)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:alain.boudard@cea.fr">alain.boudard@cea.fr</a></li>
+                  <li>Helmut
+                     			Burkhardt
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Helmut.Burkhardt@cern.ch">Helmut.Burkhardt@cern.ch</a></li>
+                  <li>St&eacute;phane
+                     			Chauvie
+                     			
+                     
+                     (INFN, Univ. of Torino)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:chauvie.s@ospedale.cuneo.it">chauvie.s@ospedale.cuneo.it</a></li>
+                  <li>G. A. Pablo
+                     			Cirrone
+                     			
+                     
+                     (INFN LNS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:cirrone@lns.infn.it">cirrone@lns.infn.it</a></li>
+                  <li>Gene
+                     			Cooperman
+                     			
+                     
+                     (Northeastern University)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:gene@ccs.neu.edu">gene@ccs.neu.edu</a></li>
+                  <li>Gabriele
+                     			Cosmo
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Gabriele.Cosmo@cern.ch">Gabriele.Cosmo@cern.ch</a></li>
+                  <li>Giacomo
+                     			Cuttone
+                     			
+                     
+                     (INFN LNS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:cuttone@lns.infn.it">cuttone@lns.infn.it</a></li>
+                  <li>Albert
+                     			De Roeck
+                     			
+                     
+                     (CERN, CMS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Albert.de.Roeck@cern.ch">Albert.de.Roeck@cern.ch</a></li>
+                  <li>Laurent
+                     			Desorgher
+                     			
+                     
+                     (Physikalisches Institut, University of Bern)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:desorgher@space.unibe.ch ">desorgher@space.unibe.ch </a></li>
+                  <li>Francesco
+                     			Di Rosa
+                     			
+                     
+                     (INFN LNS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:dirosa@lns.infn.it">dirosa@lns.infn.it</a></li>
+                  <li>Sabine
+                     			Elles 
+                     			
+                     
+                     (IN2P3/LAPP)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Sabine.Elles@lapp.in2p3.fr">Sabine.Elles@lapp.in2p3.fr</a></li>
+                  <li>Daniel
+                     			Elvira
+                     			
+                     
+                     (Fermilab)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:daniel@fnal.gov">daniel@fnal.gov</a></li>
+                  <li>Mark
+                     			Fischler
+                     			
+                     
+                     (Fermilab)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Mark.Fischler@cern.ch">Mark.Fischler@cern.ch</a></li>
+                  <li>Gunter
+                     			Folger
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Gunter.Folger@cern.ch">Gunter.Folger@cern.ch</a></li>
+                  <li>Laurence
+                     			Garnier
+                     			
+                     
+                     (IN2P3)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:garnier@lal.in2p3.fr">garnier@lal.in2p3.fr</a></li>
+                  <li>Patricia
+                     			Goncalves
+                     			
+                     
+                     (LIP Lisboa)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:patricia@lip.pt">patricia@lip.pt</a></li>
+                  <li>Vladimir
+                     			Grichine
+                     			
+                     
+                     (CERN, Lebedev Physical Institute, Moscow)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Vladimir.Grichine@cern.ch">Vladimir.Grichine@cern.ch</a></li>
+                  <li>Peter
+                     			Gumplinger
+                     			
+                     
+                     (TRIUMF)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Peter.Gumplinger@triumf.ca">Peter.Gumplinger@triumf.ca</a></li>
+                  <li>Aatos
+                     			Heikkinen
+                     			
+                     
+                     (Helsinki Institute of Physics(HIP))           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Aatos.Heikkinen@cern.ch">Aatos.Heikkinen@cern.ch</a></li>
+                  <li>Alexander
+                     			Howard
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Alexander.Howard@cern.ch">Alexander.Howard@cern.ch</a></li>
+                  <li>Ivana
+                     			Hrivnacova
+                     			
+                     
+                     (IN2P3/IPN Orsay)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Ivana.Hrivnacova@cern.ch">Ivana.Hrivnacova@cern.ch</a></li>
+                  <li>Sebastien
+                     			Incerti
+                     			
+                     
+                     (IN2P3)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:incerti@cenbg.in2p3.fr">incerti@cenbg.in2p3.fr</a></li>
+                  <li>Vladimir
+                     			Ivanchenko
+                     			
+                     
+                     (CERN, EMSU Lomonosov Moscow State University)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Vladimir.Ivantchenko@cern.ch">Vladimir.Ivantchenko@cern.ch</a></li>
+                  <li>Jean
+                     			Jacquemier
+                     			
+                     
+                     (IN2P3/LAPP)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:jean.jacquemier@lapp.in2p3.fr">jean.jacquemier@lapp.in2p3.fr</a></li>
+                  <li>Fred
+                     			Jones
+                     			
+                     
+                     (TRIUMF)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:fwj@triumf.ca">fwj@triumf.ca</a></li>
+                  <li>Omrane
+                     			Kadri
+                     			
+                     
+                     (National Center for Nuclear Science and Technologies, Tunis)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:omrane.kadri@cnstn.rnrt.tn">omrane.kadri@cnstn.rnrt.tn</a></li>
+                  <li>Pekka
+                     			Kaitaniemi
+                     			
+                     
+                     (Helsinki Institute of Physics(HIP))           		
+                     
+                     
+                     
+                     			 - <a href="mailto:kaitanie@cc.helsinki.fi">kaitanie@cc.helsinki.fi</a></li>
+                  <li>Akinori
+                     			Kimura
+                     			
+                     
+                     (Ritsumeikan University)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:akimura@ashitech.ac.jp">akimura@ashitech.ac.jp</a></li>
+                  <li>Tatsumi
+                     			Koi
+                     			
+                     
+                     (SLAC)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:tkoi@slac.stanford.edu">tkoi@slac.stanford.edu</a></li>
+                  <li>Rostislav
+                     			Kokoulin
+                     			
+                     
+                     (MEPhI Moscow)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:RPKokoulin@mephi.ru">RPKokoulin@mephi.ru</a></li>
+                  <li>Mikhail
+                     			Kosov
+                     			
+                     
+                     (CERN, ITEP)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Mikhail.Kossov@cern.ch">Mikhail.Kossov@cern.ch</a></li>
+                  <li>Jim
+                     			Kowalkowski
+                     			
+                     
+                     (Fermilab)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:jbk@fnal.gov">jbk@fnal.gov</a></li>
+                  <li>Hisaya
+                     			Kurashige
+                     			
+                     
+                     (Kobe University)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:kurasige@phys.sci.kobe-u.ac.jp">kurasige@phys.sci.kobe-u.ac.jp</a></li>
+                  <li>Anton
+                     			Lechner
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Anton.Lechner@cern.ch">Anton.Lechner@cern.ch</a></li>
+                  <li>Fan
+                     			Lei
+                     			
+                     
+                     (QinetiQ)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:flei@space.qinetiq.com">flei@space.qinetiq.com</a></li>
+                  <li>Francesco
+                     			Longo
+                     			
+                     
+                     (INFN Trieste)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Francesco.Longo@ts.infn.it">Francesco.Longo@ts.infn.it</a></li>
+                  <li>Michel
+                     			Maire
+                     			
+                     
+                     (IN2P3/LAPP, CMS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Michel.Maire@cern.ch">Michel.Maire@cern.ch</a></li>
+                  <li>Alfonso
+                     			Mantero
+                     			
+                     
+                     (INFN Genova)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Alfonso.Mantero@ge.infn.it">Alfonso.Mantero@ge.infn.it</a></li>
+                  <li>Ian
+                     			McLaren
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Ian.Mclaren@cern.ch">Ian.Mclaren@cern.ch</a></li>
+                  <li>Gerard
+                     			Montarou
+                     			
+                     
+                     (Laboratoire de Physique Corpusculaire de Clermont-Ferrand)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:montarou@clermont.in2p3.fr">montarou@clermont.in2p3.fr</a></li>
+                  <li>Ben
+                     			Morgan
+                     			
+                     
+                     (STFC (Science and Technology Facilities Council, UK))           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Ben.Morgan@warwick.ac.uk">Ben.Morgan@warwick.ac.uk</a></li>
+                  <li>Jakub
+                     			Moscicki
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:jakub.moscicki@cern.ch">jakub.moscicki@cern.ch</a></li>
+                  <li>Koichi
+                     			Murakami
+                     			
+                     
+                     (KEK)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:koichi.murakami@kek.jp">koichi.murakami@kek.jp</a></li>
+                  <li>Petteri
+                     			Nieminen
+                     			
+                     
+                     (ESA ESTEC)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Petteri.Nieminen@esa.int">Petteri.Nieminen@esa.int</a></li>
+                  <li>Tatiana
+                     			Nikitina
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Tatiana.Nikitina@cern.ch">Tatiana.Nikitina@cern.ch</a></li>
+                  <li>Luciano
+                     			Pandola
+                     			
+                     
+                     (INFN LNGS, GNO)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:luciano.pandola@lngs.infn.it">luciano.pandola@lngs.infn.it</a></li>
+                  <li>Sandra
+                     			Parlati
+                     			
+                     
+                     (INFN LNGS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:sandra.parlati@lngs.infn.it">sandra.parlati@lngs.infn.it</a></li>
+                  <li>Marc
+                     			Paterno
+                     			
+                     
+                     (Fermilab)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Marc.Paterno@cern.ch">Marc.Paterno@cern.ch</a></li>
+                  <li>Joseph
+                     			Perl
+                     			
+                     
+                     (SLAC)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:perl@slac.stanford.edu">perl@slac.stanford.edu</a></li>
+                  <li>Andreas
+                     			Pfeiffer
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:andreas.pfeiffer@cern.ch">andreas.pfeiffer@cern.ch</a></li>
+                  <li>Maria Grazia
+                     			Pia
+                     			
+                     
+                     (INFN Genova)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Maria.Grazia.Pia@cern.ch">Maria.Grazia.Pia@cern.ch</a></li>
+                  <li>Jos&eacute; Manuel
+                     			Quesada Molina
+                     			
+                     
+                     (Universidad de Sevilla)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:quesada@us.es">quesada@us.es</a></li>
+                  <li>Alberto
+                     			Ribon
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Alberto.Ribon@cern.ch">Alberto.Ribon@cern.ch</a></li>
+                  <li>Pedro
+                     			Rodrigues
+                     			
+                     
+                     (LIP Lisboa)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:pedro.rodrigues@lip.pt">pedro.rodrigues@lip.pt</a></li>
+                  <li>Francesco
+                     			Romano
+                     			
+                     
+                     (INFN LNS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:romanof@lns.infn.it">romanof@lns.infn.it</a></li>
+                  <li>Giorgio
+                     			Russo
+                     			
+                     
+                     (INFN LNS)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:giorgiorusso@lns.infn.it">giorgiorusso@lns.infn.it</a></li>
+                  <li>Serguei
+                     			Sadilov
+                     			
+                     
+                     (IHEP Protvino)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Serguei.Sadilov@cern.ch">Serguei.Sadilov@cern.ch</a></li>
+                  <li>Giovanni
+                     			Santin
+                     			
+                     
+                     (ESA)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Giovanni.Santin@cern.ch">Giovanni.Santin@cern.ch</a></li>
+                  <li>Takashi
+                     			Sasaki
+                     			
+                     
+                     (KEK)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Takashi.Sasaki@kek.jp">Takashi.Sasaki@kek.jp</a></li>
+                  <li>Andreas
+                     			Schaelicke
+                     			
+                     
+                     (DESY Zeuthen)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:andreas.schaelicke@desy.de">andreas.schaelicke@desy.de</a></li>
+                  <li>Doug
+                     			Smith
+                     			
+                     
+                     (SLAC)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:douglas@slac.stanford.edu">douglas@slac.stanford.edu</a></li>
+                  <li>Nikolai
+                     			Starkov
+                     			
+                     
+                     (Lebedev Physical Institute, Moscow)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Nikolai.Starkov@cern.ch">Nikolai.Starkov@cern.ch</a></li>
+                  <li>Manju
+                     			Sudhakar
+                     			
+                     
+                     (ISRO)           		
+                     
+                     
+                     
+                     			 - <a href="mailto: manjus@isac.gov.in"> manjus@isac.gov.in</a></li>
+                  <li>Satoshi
+                     			Tanaka
+                     			
+                     
+                     (Kyoto University)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:stanaka@media.ritsumei.ac.jp">stanaka@media.ritsumei.ac.jp</a></li>
+                  <li>Bernardo
+                     			Tome
+                     			
+                     
+                     (LIP Lisboa)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:bearnardo@lip.pt">bearnardo@lip.pt</a></li>
+                  <li>Zoltan
+                     			Torzsok
+                     			
+                     
+                     (CERN)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Zoltan.Torzsok@cern.ch">Zoltan.Torzsok@cern.ch</a></li>
+                  <li>Toshiyuki
+                     			Toshito
+                     			
+                     
+                     (KEK)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:ttoshito@post.kek.jp">ttoshito@post.kek.jp</a></li>
+                  <li>Andreia
+                     			Trindade
+                     			
+                     
+                     (LIP Lisboa)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:andreia.trindade@lip.pt">andreia.trindade@lip.pt</a></li>
+                  <li>Pete
+                     			Truscott
+                     			
+                     
+                     (QinetiQ)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:PRTruscott@space.qinetiq.com">PRTruscott@space.qinetiq.com</a></li>
+                  <li>Laszlo
+                     			Urban
+                     			
+                     
+                     (KFKI Budapest)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Laszlo.Urban@cern.ch">Laszlo.Urban@cern.ch</a></li>
+                  <li>Marc
+                     			Verderi
+                     			
+                     
+                     (IN2P3/LLR, BaBar)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:verderi@in2p3.fr">verderi@in2p3.fr</a></li>
+                  <li>Paolo
+                     			Viarengo
+                     			
+                     
+                     (IST - Nat. Inst. for Cancer Research)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:paolo.viarengo@istge.it">paolo.viarengo@istge.it</a></li>
+                  <li>Dennis
+                     			Wright
+                     			
+                     
+                     (SLAC)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:dwright@SLAC.Stanford.EDU">dwright@SLAC.Stanford.EDU</a></li>
+                  <li>Tomohiro
+                     			Yamashita
+                     			
+                     
+                     (Hyogo Ion Beam Medical Center)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:t.yamashita@ham-progress.jp">t.yamashita@ham-progress.jp</a></li>
+                  <li>Julia
+                     			Yarba
+                     			
+                     
+                     (Fermilab)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:Julia.Yarba@cern.ch">Julia.Yarba@cern.ch</a></li>
+                  <li>Hajime
+                     			Yoshida
+                     			
+                     
+                     (Naruto University of Education)           		
+                     
+                     
+                     
+                     			 - <a href="mailto:yoshidah@keiei.shikoku-u.ac.jp">yoshidah@keiei.shikoku-u.ac.jp</a></li>
+               </ul>
+            </td>
+         </tr>
+      </table>
+      <div id="bottom">
+         <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+         
+         <p>Last update:
+            <script type="text/javascript">
+  <!--
+          document.write(document.lastModified);
+  -->
+  </script></p>
+      </div>
+   </body>
+</html>
Index: trunk/Documentation/geant4/collaboration/technical_forum/index.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/technical_forum/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/technical_forum/index.shtml	(revision 901)
@@ -0,0 +1,203 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Technical User Forum</title>
+<link rel="stylesheet" type="text/css" href="../../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../../index.shtml">Home</a> &gt;
+                    <a href="../index.shtml">Collaboration</a> &gt;
+                    Technical Forum
+    <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <h2>Technical User Forum</h2>
+<ul>
+  <li>24<sup>th</sup> Technical Forum, Kobe (JP) - 7 October 2008<br/>
+      at the <a target="ext" href="http://www-conf.kek.jp/g4ws2008/">Geant4
+      Collaboration Workshop 2008</a></li>
+  <li>23<sup>rd</sup> Technical Forum, CERN - 2 July 2008
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=34624">Agenda</a>,
+          <a href="minutes2008_07_02.txt">Minutes</a></li>
+    </ul></li>
+  <li>22<sup>nd</sup> Technical Forum, CERN - 26 February 2008
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=28988">Agenda</a>,
+          <a href="minutes2008_02_26.txt">Minutes</a></li>
+    </ul></li>
+  <li>21<sup>st</sup> Technical Forum, CERN - 7 November 2007
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=22985">Agenda</a>,
+          <a href="minutes2007_11_07.txt">Minutes</a></li>
+    </ul></li>
+  <li>20<sup>th</sup> Technical Forum, Hebden Bridge (UK) - 15 September 2007<br/>
+      at the <a target="ext" href="http://indico.cern.ch/conferenceDisplay.py?confId=10311">Geant4
+      Collaboration Workshop & Users Conference 2007</a></li>
+  <li>19<sup>th</sup> Technical Forum, CERN - 17 July 2007
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=18621">Agenda</a></li>
+    </ul></li>
+  <li>18<sup>th</sup> Technical Forum, CERN - 28 March 2007
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=14458">Agenda</a></li>
+      <li><a href="minutes2008_07_02.html">Minutes</a></li>
+    </ul></li>
+  <li>17<sup>th</sup> Technical Forum, CERN - 31 January 2007
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=11643">Agenda</a></li>
+    </ul></li>
+  <li>16<sup>th</sup> Technical Forum, CERN - 21 November 2006
+    <ul>
+      <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=9062">Agenda</a></li>
+    </ul></li>
+  <li>15<sup>th</sup> Technical Forum, Lisbon - 9 October 2006<br/>
+      at the <a target="ext" href="http://indico.cern.ch/conferenceDisplay.py?confId=3190">Geant4
+      Collaboration Workshop & Users Conference 2006</a></li>
+  <li>14<sup>th</sup> Technical Forum, CERN - 25 April 2006
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a062070">Agenda</a></li>
+    </ul></li>
+  <li>13<sup>th</sup> Technical Forum, CERN - 30 March 2006
+    <ul>
+      <li><a href="http://agenda.cern.ch/age?a061896">Agenda</a></li>
+    </ul></li>
+  <li>12<sup>th</sup> Technical Forum, CERN - 7 February 2006
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a06927">Agenda</a></li>
+    </ul></li>
+  <li>11<sup>th</sup> Technical Forum, CERN - 1 December 2005
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a057787">Agenda</a>,
+          <a href="minutes2005_12_01.txt">Minutes</a></li>
+    </ul></li>
+  <li>10<sup>th</sup> Technical Forum, Bordeaux - 5 November 2005<br/>
+      at the <a target="ext" href="http://geant4.in2p3.fr/2005">Geant4
+      International Conference and Workshop 2005</a></li>
+  <li>9<sup>th</sup> forum, Leuven, Belgium - 7 October 2005<br/>
+      at the <a target="ext" href="http://www.spenvis.oma.be/spenvis/workshop/workshop.html">SPENVIS
+      and Geant4 Space Applications Workshop</a></li>
+  <li>8<sup>th</sup> Technical Forum, CERN - 27 September 2005
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a056142">Agenda</a>,
+          <a href="minutes2005_09_27.html">Minutes</a></li>
+    </ul></li>
+  <li>7<sup>th</sup> Technical Forum, CERN - 8 March 2005
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a051528">Agenda</a></li>
+    </ul></li>
+
+  <li>6<sup>th</sup> Technical Forum, CERN - 16 November 2004 
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a045005">Agenda</a></li>
+    </ul></li>
+
+  <li>5<sup>th</sup> Technical Forum,  Catania - 4 October 2004 
+      at the <a href="http://www.lns.infn.it/geant4/workshop2004/workshop.htm">Geant4 2004 Workshop</a>
+    <ul>
+      <li><a href="http://agenda.cern.ch/fullAgenda.php?ida=a044203">Agenda</a></li>
+    </ul></li>
+
+  <li>4<sup>th</sup> Technical Forum, Vanderbilt University - 12 May 2004
+      at the <a target="ext" href="http://isde.vanderbilt.edu/geant4w.htm">Geant4 Space Users Workshop</a>.
+    <ul>
+      <li>Agenda,
+          <a href="minutes2004_05_12.html">Minutes</a></li>
+    </ul></li>
+
+  <li>3<sup>rd</sup> Technical Forum, CERN - 5 February 2004 
+    <ul>
+      <li><a href="agenda2004_02_05.html">Agenda</a>,
+          <a href="minutes2004_02_05.html">Minutes</a></li>
+    </ul></li>
+
+  <li>2<sup>nd</sup> Technical Forum, CERN - 7 October 2003
+    <ul>
+      <li><a href="agenda2003_10_07.html">Agenda</a>,
+          <a href="minutes2003_10_07.html">Minutes</a></li>
+    </ul></li>
+
+  <li>1<sup>st</sup> Technical Forum, TRIUMF - 5 September 2003
+    <ul>
+      <li><a href="http://www.triumf.ca/geant4-03/techforum">Agenda &amp; documents</a>,
+          <a href="minutes2003-09-04-v1.0.txt">Minutes</a></li>
+    </ul></li>
+</ul>
+
+  </td>
+</tr>
+
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   10/07/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+   
+ 
+</body>
+ 
+</html>
Index: trunk/Documentation/geant4/collaboration/working_groups.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/working_groups.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/working_groups.shtml	(revision 901)
@@ -0,0 +1,1031 @@
+
+<! ============= DO NOT EDIT ================ -->
+<! =========== Created from xml ============= -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+   <head>
+      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+   
+      <title>Geant4 Working Groups</title>
+      <link rel="stylesheet" type="text/css" href="../includes/geantstyle.css">
+   </head>
+   <body>
+      <!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+      
+      <table border="0" cellpadding="4" cellspacing="0" width="100%">
+         <tr>
+            <td id="breadcrumb"><a href="../index.shtml">Home</a> &gt;
+               <a href="index.shtml">Collaboration</a> &gt;
+               Working Groups
+               
+            </td>
+         </tr>
+         <tr>
+            <td id="main">
+               <h2>Working Groups</h2>
+               <p>Here follows the list and the current composition of the GEANT4 working groups, 
+                  	    which have been created in close relation with the sub-domains and activities 
+                  	    identified in our project.
+               </p>
+               <p>The members of each group are listed in alphatical order, with the exception 
+                  	    of each group's coordinator, who are listed first. 
+               </p>
+               <ul>
+                  <li><a href="#wg.Run">Run, Event and Detector Responses</a></li>
+                  <li><a href="#wg.Tracking">Tracking</a></li>
+                  <li><a href="#wg.Particles">Particles and Track</a></li>
+                  <li><a href="#wg.Geometry">Geometry and Transport</a></li>
+                  <li><a href="#wg.Processes">Processes and Materials</a></li>
+                  <li><a href="#wg.EM">Electromagnetic Physics</a></li>
+                  <li><a href="#wg.LEEM">Low Energy Electromagnetic Physics</a></li>
+                  <li><a href="#wg.Had">Hadronic Physics</a></li>
+                  <li><a href="#wg.Persistency">Persistency</a></li>
+                  <li><a href="#wg.Interfaces">User and Category Interfaces</a></li>
+                  <li><a href="#wg.Vis">Visualisation</a></li>
+                  <li><a href="#wg.AdvExam">Advanced Examples</a></li>
+                  <li><a href="#wg.STT">Testing and Quality Assurance</a></li>
+                  <li><a href="#wg.SoftMan">Software Management</a></li>
+                  <li><a href="#wg.DocMan">Documentation Management</a></li>
+               </ul>
+               <hr><a name="wg.Run"></a><a href="http://cern.ch/geant4/collaboration/working_groups/runAndEvent/">
+                  <h3><u>Run, Event and Detector Responses</u></h3></a><ul>
+                  <li>Makoto
+                     						
+                     					Asai
+                     					
+                     (SLAC) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Hisaya
+                     						
+                     					Kurashige
+                     					
+                     (Kobe University) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Tsukasa
+                     						Aso
+                     
+                     					(Toyama National College of Maritime Technology)           									
+                     
+                     							
+                  </li>
+                  <li>Gene
+                     						Cooperman
+                     
+                     					(Northeastern University)           									
+                     
+                     							
+                  </li>
+                  <li>Akinori
+                     						Kimura
+                     
+                     					(Ritsumeikan University)           									
+                     
+                     							
+                  </li>
+                  <li>Fan
+                     						Lei
+                     
+                     					(QinetiQ)           									
+                     
+                     							
+                  </li>
+                  <li>Koichi
+                     						Murakami
+                     
+                     					(KEK)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Tracking"></a><h3><u>Tracking</u></h3>
+               <ul>
+                  <li>Takashi
+                     						
+                     					Sasaki
+                     					
+                     (KEK) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Katsuya
+                     						Amako
+                     
+                     					(KEK)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Particles"></a><a href="http://cern.ch/geant4/collaboration/working_groups/particle/">
+                  <h3><u>Particles and Track</u></h3></a><ul>
+                  <li>Hisaya
+                     						
+                     					Kurashige
+                     					
+                     (Kobe University) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Makoto
+                     						
+                     					Asai
+                     					
+                     (SLAC) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Takashi
+                     						Sasaki
+                     
+                     					(KEK)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Geometry"></a><a href="http://cern.ch/geant4/collaboration/working_groups/geometry/">
+                  <h3><u>Geometry and Transport</u></h3></a><ul>
+                  <li>Gabriele
+                     						
+                     					Cosmo
+                     					
+                     (CERN) - Working group coordinator	
+                     				
+                  </li>
+                  <li>John
+                     						
+                     					Apostolakis
+                     					
+                     (CERN) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Pedro
+                     						Arce Dubois
+                     
+                     					(CIEMAT)           									
+                     
+                     							
+                  </li>
+                  <li>Makoto
+                     						Asai
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+                  <li>Vladimir
+                     						Grichine
+                     
+                     					(CERN, Lebedev Physical Institute, Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Alexander
+                     						Howard
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Ivana
+                     						Hrivnacova
+                     
+                     					(IN2P3/IPN Orsay)           									
+                     
+                     							
+                  </li>
+                  <li>Tatiana
+                     						Nikitina
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Processes"></a><a href="http://cern.ch/geant4/collaboration/working_groups/genproc/">
+                  <h3><u>Processes and Materials</u></h3></a><ul>
+                  <li>Marc
+                     						
+                     					Verderi
+                     					
+                     (BaBar, IN2P3/LLR) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Makoto
+                     						Asai
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+                  <li>Alexander
+                     						Bagulya
+                     
+                     					(Lebedev Physical Institute, Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Laurent
+                     						Desorgher
+                     
+                     					(Physikalisches Institut, University of Bern)           									
+                     
+                     							
+                  </li>
+                  <li>Vladimir
+                     						Ivanchenko
+                     
+                     					(CERN, EMSU Lomonosov Moscow State University)           									
+                     
+                     							
+                  </li>
+                  <li>Hisaya
+                     						Kurashige
+                     
+                     					(Kobe University)           									
+                     
+                     							
+                  </li>
+                  <li>Michel
+                     						Maire
+                     
+                     					(IN2P3/LAPP, CMS)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.EM"></a><a href="http://cern.ch/geant4/collaboration/working_groups/electromagnetic/">
+                  <h3><u>Electromagnetic Physics</u></h3></a><ul>
+                  <li>Vladimir
+                     						
+                     					Ivanchenko
+                     					
+                     (CERN, EMSU Lomonosov Moscow State University) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Michel
+                     						
+                     					Maire
+                     					
+                     (CMS, IN2P3/LAPP) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Alexander
+                     						Bagulya
+                     
+                     					(Lebedev Physical Institute, Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Alexey
+                     						Bogdanov
+                     
+                     					(MEPhI Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Helmut
+                     						Burkhardt
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Sabine
+                     						Elles 
+                     
+                     					(IN2P3/LAPP)           									
+                     
+                     							
+                  </li>
+                  <li>Vladimir
+                     						Grichine
+                     
+                     					(CERN, Lebedev Physical Institute, Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Peter
+                     						Gumplinger
+                     
+                     					(TRIUMF)           									
+                     
+                     							
+                  </li>
+                  <li>Jean
+                     						Jacquemier
+                     
+                     					(IN2P3/LAPP)           									
+                     
+                     							
+                  </li>
+                  <li>Omrane
+                     						Kadri
+                     
+                     					(National Center for Nuclear Science and Technologies, Tunis)           									
+                     
+                     							
+                  </li>
+                  <li>Rostislav
+                     						Kokoulin
+                     
+                     					(MEPhI Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Andreas
+                     						Schaelicke
+                     
+                     					(DESY Zeuthen)           									
+                     
+                     							
+                  </li>
+                  <li>Toshiyuki
+                     						Toshito
+                     
+                     					(KEK)           									
+                     
+                     							
+                  </li>
+                  <li>Laszlo
+                     						Urban
+                     
+                     					(KFKI Budapest)           									
+                     
+                     							
+                  </li>
+                  <li>Tomohiro
+                     						Yamashita
+                     
+                     					(Hyogo Ion Beam Medical Center)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.LEEM"></a><a href="http://cern.ch/geant4/collaboration/working_groups/LEelectromagnetic/">
+                  <h3><u>Low Energy Electromagnetic Physics</u></h3></a><ul>
+                  <li>Sebastien
+                     						
+                     					Incerti
+                     					
+                     (IN2P3) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Haifa Ben
+                     						Abdelouahed
+                     
+                     					(CNSTN, Tunesia)           									
+                     
+                     							
+                  </li>
+                  <li>St&eacute;phane
+                     						Chauvie
+                     
+                     					(INFN, Univ. of Torino)           									
+                     
+                     							
+                  </li>
+                  <li>G. A. Pablo
+                     						Cirrone
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Giacomo
+                     						Cuttone
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Francesco
+                     						Di Rosa
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Alexander
+                     						Howard
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Anton
+                     						Lechner
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Francesco
+                     						Longo
+                     
+                     					(INFN Trieste)           									
+                     
+                     							
+                  </li>
+                  <li>Alfonso
+                     						Mantero
+                     
+                     					(INFN Genova)           									
+                     
+                     							
+                  </li>
+                  <li>Gerard
+                     						Montarou
+                     
+                     					(Laboratoire de Physique Corpusculaire de Clermont-Ferrand)           									
+                     
+                     							
+                  </li>
+                  <li>Petteri
+                     						Nieminen
+                     
+                     					(ESA ESTEC)           									
+                     
+                     							
+                  </li>
+                  <li>Luciano
+                     						Pandola
+                     
+                     					(INFN LNGS, GNO)           									
+                     
+                     							
+                  </li>
+                  <li>Sandra
+                     						Parlati
+                     
+                     					(INFN LNGS)           									
+                     
+                     							
+                  </li>
+                  <li>Andreas
+                     						Pfeiffer
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Maria Grazia
+                     						Pia
+                     
+                     					(INFN Genova)           									
+                     
+                     							
+                  </li>
+                  <li>Pedro
+                     						Rodrigues
+                     
+                     					(LIP Lisboa)           									
+                     
+                     							
+                  </li>
+                  <li>Manju
+                     						Sudhakar
+                     
+                     					(ISRO)           									
+                     
+                     							
+                  </li>
+                  <li>Andreia
+                     						Trindade
+                     
+                     					(LIP Lisboa)           									
+                     
+                     							
+                  </li>
+                  <li>Paolo
+                     						Viarengo
+                     
+                     					(IST - Nat. Inst. for Cancer Research)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Had"></a><a href="http://cern.ch/geant4/collaboration/working_groups/hadronic">
+                  <h3><u>Hadronic Physics</u></h3></a><tt><a href="mailto:geant4-hadronics@cern.ch">
+                     						    (Email this working group) <br></a></tt><br><ul>
+                  <li>Dennis
+                     						
+                     					Wright
+                     					
+                     (SLAC) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Gunter
+                     						
+                     					Folger
+                     					
+                     (CERN) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Makoto
+                     						Asai
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+                  <li>Sunanda
+                     						Banerjee
+                     
+                     					(Fermilab)           									
+                     
+                     							
+                  </li>
+                  <li>Alain
+                     						Boudard
+                     
+                     					(CEA)           									
+                     
+                     							
+                  </li>
+                  <li>G. A. Pablo
+                     						Cirrone
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Daniel
+                     						Elvira
+                     
+                     					(Fermilab)           									
+                     
+                     							
+                  </li>
+                  <li>Vladimir
+                     						Grichine
+                     
+                     					(CERN, Lebedev Physical Institute, Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Aatos
+                     						Heikkinen
+                     
+                     					(Helsinki Institute of Physics(HIP))           									
+                     
+                     							
+                  </li>
+                  <li>Alexander
+                     						Howard
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Vladimir
+                     						Ivanchenko
+                     
+                     					(CERN, EMSU Lomonosov Moscow State University)           									
+                     
+                     							
+                  </li>
+                  <li>Pekka
+                     						Kaitaniemi
+                     
+                     					(Helsinki Institute of Physics(HIP))           									
+                     
+                     							
+                  </li>
+                  <li>Tatsumi
+                     						Koi
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+                  <li>Mikhail
+                     						Kosov
+                     
+                     					(CERN, ITEP)           									
+                     
+                     							
+                  </li>
+                  <li>Fan
+                     						Lei
+                     
+                     					(QinetiQ)           									
+                     
+                     							
+                  </li>
+                  <li>Maria Grazia
+                     						Pia
+                     
+                     					(INFN Genova)           									
+                     
+                     							
+                  </li>
+                  <li>Jos&eacute; Manuel
+                     						Quesada Molina
+                     
+                     					(Universidad de Sevilla)           									
+                     
+                     							
+                  </li>
+                  <li>Alberto
+                     						Ribon
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Francesco
+                     						Romano
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Nikolai
+                     						Starkov
+                     
+                     					(Lebedev Physical Institute, Moscow)           									
+                     
+                     							
+                  </li>
+                  <li>Pete
+                     						Truscott
+                     
+                     					(QinetiQ)           									
+                     
+                     							
+                  </li>
+                  <li>Julia
+                     						Yarba
+                     
+                     					(Fermilab)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Persistency"></a><h3><u>Persistency</u></h3>
+               <ul>
+                  <li>Gabriele
+                     						
+                     					Cosmo
+                     					
+                     (CERN) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Zoltan
+                     						Torzsok
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Interfaces"></a><a href="http://www-geant4.kek.jp/interface/">
+                  <h3><u>User and Category Interfaces</u></h3></a><ul>
+                  <li>Koichi
+                     						
+                     					Murakami
+                     					
+                     (KEK) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Makoto
+                     						Asai
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+                  <li>Hajime
+                     						Yoshida
+                     
+                     					(Naruto University of Education)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.Vis"></a><a href="http://cern.ch/geant4/collaboration/working_groups/visualization/">
+                  <h3><u>Visualisation</u></h3></a><ul>
+                  <li>Joseph
+                     						
+                     					Perl
+                     					
+                     (SLAC) - Working group coordinator	
+                     				
+                  </li>
+                  <li>John
+                     						
+                     					Allison
+                     					
+                     (BaBar, Manchester University, STFC (Science and Technology Facilities Council, UK)) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Makoto
+                     						Asai
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+                  <li>Guy
+                     						Barrand
+                     
+                     					(LAL Orsay)           									
+                     
+                     							
+                  </li>
+                  <li>Laurence
+                     						Garnier
+                     
+                     					(IN2P3)           									
+                     
+                     							
+                  </li>
+                  <li>Satoshi
+                     						Tanaka
+                     
+                     					(Kyoto University)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.AdvExam"></a><a href="http://cern.ch/geant4/collaboration/working_groups/advanced_examples/">
+                  <h3><u>Advanced Examples</u></h3></a><tt><a href="mailto:geant4-advanced-examples@cern.ch">
+                     						    (Email this working group) <br></a></tt><br><ul>
+                  <li>G. A. Pablo
+                     						
+                     					Cirrone
+                     					
+                     (INFN LNS) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Marcia
+                     						Begalli
+                     
+                     					(INFN, State Univ. Rio de Janeiro)           									
+                     
+                     							
+                  </li>
+                  <li>St&eacute;phane
+                     						Chauvie
+                     
+                     					(INFN, Univ. of Torino)           									
+                     
+                     							
+                  </li>
+                  <li>Giacomo
+                     						Cuttone
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Francesco
+                     						Di Rosa
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Alexander
+                     						Howard
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Sebastien
+                     						Incerti
+                     
+                     					(IN2P3)           									
+                     
+                     							
+                  </li>
+                  <li>Mikhail
+                     						Kosov
+                     
+                     					(CERN, ITEP)           									
+                     
+                     							
+                  </li>
+                  <li>Francesco
+                     						Longo
+                     
+                     					(INFN Trieste)           									
+                     
+                     							
+                  </li>
+                  <li>Alfonso
+                     						Mantero
+                     
+                     					(INFN Genova)           									
+                     
+                     							
+                  </li>
+                  <li>Luciano
+                     						Pandola
+                     
+                     					(INFN LNGS, GNO)           									
+                     
+                     							
+                  </li>
+                  <li>Andreas
+                     						Pfeiffer
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Maria Grazia
+                     						Pia
+                     
+                     					(INFN Genova)           									
+                     
+                     							
+                  </li>
+                  <li>Alberto
+                     						Ribon
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Giorgio
+                     						Russo
+                     
+                     					(INFN LNS)           									
+                     
+                     							
+                  </li>
+                  <li>Giovanni
+                     						Santin
+                     
+                     					(ESA)           									
+                     
+                     							
+                  </li>
+                  <li>Bernardo
+                     						Tome
+                     
+                     					(LIP Lisboa)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.STT"></a><a href="http://cern.ch/geant4/collaboration/working_groups/testing/">
+                  <h3><u>Testing and Quality Assurance</u></h3></a><tt><a href="mailto:geant4-stt@listbox.cern.ch">
+                     						    (Email this working group) <br></a></tt><br><ul>
+                  <li>Gunter
+                     						
+                     					Folger
+                     					
+                     (CERN) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Gabriele
+                     						Cosmo
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Alberto
+                     						Ribon
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.SoftMan"></a><a href="http://cern.ch/geant4/collaboration/working_groups/softman/">
+                  <h3><u>Software Management</u></h3></a><ul>
+                  <li>Gunter
+                     						
+                     					Folger
+                     					
+                     (CERN) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Gabriele
+                     						Cosmo
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Ian
+                     						McLaren
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Ben
+                     						Morgan
+                     
+                     					(STFC (Science and Technology Facilities Council, UK))           									
+                     
+                     							
+                  </li>
+                  <li>Koichi
+                     						Murakami
+                     
+                     					(KEK)           									
+                     
+                     							
+                  </li>
+                  <li>Doug
+                     						Smith
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+               </ul>
+               <hr><a name="wg.DocMan"></a><a href="http://cern.ch/geant4/collaboration/working_groups/documentation/index.shtml">
+                  <h3><u>Documentation Management</u></h3></a><ul>
+                  <li>Katsuya
+                     						
+                     					Amako
+                     					
+                     (KEK) - Working group coordinator	
+                     				
+                  </li>
+                  <li>Dennis
+                     						
+                     					Wright
+                     					
+                     (SLAC) - Working group deputy coordinator    
+                     				
+                  </li>
+                  <li>Gabriele
+                     						Cosmo
+                     
+                     					(CERN)           									
+                     
+                     							
+                  </li>
+                  <li>Joseph
+                     						Perl
+                     
+                     					(SLAC)           									
+                     
+                     							
+                  </li>
+               </ul><br></td>
+         </tr>
+      </table>
+      <div id="bottom">
+         <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+         
+         <p>Last update:
+            <script type="text/javascript">
+<!--
+        document.write(document.lastModified);
+-->
+</script></p>
+      </div>
+   </body>
+</html>
Index: trunk/Documentation/geant4/collaboration/working_groups/electromagnetic/physlist.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/working_groups/electromagnetic/physlist.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/working_groups/electromagnetic/physlist.shtml	(revision 901)
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+   
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Physics Lists of Electromagnetic Physics Working Group</title>
+<link rel="stylesheet" type="text/css" href="../../../includes/geantstyle.css" />
+</head>
+ 
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../../../index.shtml">Home</a> &gt;
+      <a href="../../index.shtml">Collaboration</a> &gt;
+      <a href="../../working_groups.shtml">Working Groups</a> &gt;
+      <a href="index.shtml">Electromagnetic Physics Working Group</a> &gt;
+      <a href="indexv.shtml">Results</a> &gt;
+      EM Physics Lists
+    <!-- end bread crumb --></td>
+  </tr>
+
+  <tr>
+    <td id="main">
+    <h1>Physics Lists of Electromagnetic Physics Working Group</h1>
+<br>
+    <p>
+    The electromagnetic (EM) physics working group develops 
+    and maintains physics constructors, which are a part of Geant4 Physics Lists
+    sub-library. These constructors are included in 
+    <a href="../PhysicsListsTF/witems-2008.html">reference Physics Lists</a>,
+    They are used in many Geant4 examples, tests and  validation studies.
+    </p>
+<ul>
+<li>
+<b>emstandard</b> (<I>G4Standard</I> in g4 8.x) Physics List is used in major part 
+of reference configurations (LHEP, QGSP, QGSC...). The corresponding physics constructor 
+<I>G4G4EmStandardPhysics</I> is located inside 
+<I>$G4INSTALL/source/physics_list/builders</I> subdirectory.
+In this constructor all electromagnetic processes use default parameters.
+</li><br><li>
+<b>emstandard_opt1</b> (<I>G4Standard_fast</I> in g4 8.x) Physics List is 
+designed for HEP productions, it is used 
+in the QGSP_EMV reference Physics List.
+The corresponding physics constructor 
+<I>G4G4EmStandardPhysics_option1</I> (<I>G4G4EmStandardPhysics71</I> in g4 8.x) is located inside 
+<I>$G4INSTALL/source/physics_list/builders</I> subdirectory. In this constructor
+more fast options are set both for e+e- energy loss and multiple scattering processes.
+</li><br><li>
+<b>emstandard_opt2</b> (<I>G4Standard_exp</I> in g4 8.x) Physics List is 
+designed for new developments relevant to HEP. It is used 
+in the QGSP_EMX reference Physics List.
+(LHEP, QGSP, QGSC...). The corresponding physics constructor 
+<I>G4G4EmStandardPhysics_option2</I> (<I>G4G4EmStandardPhysics72</I> in g4 8.x) is located inside 
+<I>$G4INSTALL/source/physics_list/builders</I> subdirectory.
+</li><br><li>
+<b>emstandard_opt3</b>   Physics List is 
+designed for new developments providing the best accuracy for various use-cases
+including space and medical applications.
+The corresponding physics constructor 
+<I>G4G4EmStandardPhysics_option3</I> is located inside 
+<I>$G4INSTALL/source/physics_list/builders</I> subdirectory.
+</li><br><li>
+<b>Extended EM example</b> Physics Lists use described above components from
+the subdirectory
+<I>$G4INSTALL/source/physics_list/builders</I> subdirectory.
+Additional physics constructors are also used. For example, in <I>TestEm8</I>
+it is shown how to activate PAI model for the region of the gaseous detector.
+</li><br><li>
+<b>Optical photon physics</b> configurations are demonstrated in the examples:
+<I>examples/novice/N06</I> and
+<I>examples/extended/optical</I>.
+</li>
+</ul>
+
+</p>
+<hr/>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   20 Jun 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/collaboration/working_groups/geometry/biasing/BiasScoreUseCases.html
===================================================================
--- trunk/Documentation/geant4/collaboration/working_groups/geometry/biasing/BiasScoreUseCases.html	(revision 901)
+++ trunk/Documentation/geant4/collaboration/working_groups/geometry/biasing/BiasScoreUseCases.html	(revision 901)
@@ -0,0 +1,214 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>Usecases of importance sampling and scoring in Geant4</title><meta name="generator" content="DocBook XSL Stylesheets V1.51.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><div><h1 class="title"><a name="BiasScoreIssues"></a>Usecases of importance sampling and scoring in Geant4</h1></div><div><div class="author"><h3 class="author">Michael Dressel</h3></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="#introduction">Introduction</a></dt><dt>2. <a href="#mass">Mass-geometry</a></dt><dd><dl><dt>2.1. <a href="#mass-parent-ms">Particle suffers multiple scattering</a></dt><dt>2.2. <a href="#mass-parent-zero">Parent particle suffers process on mass-boundary</a></dt><dt>2.3. <a href="#mass-phys-daughter">Daughter created by a physics process on boundary</a></dt><dt>2.4. <a href="#mass-bias-daughter">Daughter created by biasing</a></dt></dl></dd><dt>3. <a href="#parallel">Parallel-geometry</a></dt><dd><dl><dt>3.1. <a href="#parallel-parent">Particle suffers multiple scattering.</a></dt><dt>3.2. <a href="#parallel-parent-zero">Particle suffers physics process on boundary</a></dt><dt>3.3. <a href="#parallel-phys-daughter">Daughter created by a physics process on a boundary</a></dt><dt>3.4. <a href="#parallel-bias-daughter">Daughter created by biasing</a></dt></dl></dd><dt>4. <a href="#problems">To the problematic usecases</a></dt><dt>5. <a href="#summary">Summary</a></dt></dl></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="introduction"></a>Chapter 1. Introduction</h2></div></div><p>This document should provide a list of
+usecases to check the behaviour of importance sampling and scoring 
+against. A distinction is made between sampling in a mass and 
+parallel geometry.</p><p><a href="#mass" title="Chapter 2. Mass-geometry">Chapter 2</a> and <a href="#parallel" title="Chapter 3. Parallel-geometry">Chapter 3</a>
+give detailed usecase descriptions.</p><p><a href="#problems" title="Chapter 4. To the problematic usecases">Chapter 4</a> sum's up  the problematic usecases
+and their possible solutions.</p><p><a href="#summary" title="Chapter 5. Summary">Chapter 5</a> contains the summary.</p></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="mass"></a>Chapter 2. Mass-geometry</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>2.1. <a href="#mass-parent-ms">Particle suffers multiple scattering</a></dt><dt>2.2. <a href="#mass-parent-zero">Parent particle suffers process on mass-boundary</a></dt><dt>2.3. <a href="#mass-phys-daughter">Daughter created by a physics process on boundary</a></dt><dt>2.4. <a href="#mass-bias-daughter">Daughter created by biasing</a></dt></dl></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="mass-parent-ms"></a>2.1. Particle suffers multiple scattering</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>A particle step reaches a boundary between volume <span class="emphasis"><em>
+A</em></span> and <span class="emphasis"><em>B</em></span> 
+of the mass geometry and it's momentum is changed by a multiple 
+scattering process.</p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>Multiple scatteing applies for charged particles. 
+The current version is not intended to be used for charged particles but
+future versions will.</p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/mass-parent.gif" alt="Parent particle"></td></tr></table><div class="caption"><p>A particle crosses the boundary in the mass 
+geometry. The momentum is changed by multiple scattering.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>Three steps <span class="emphasis"><em>1</em></span>, <span class="emphasis"><em>2</em></span>, 
+<span class="emphasis"><em>3</em></span> occur:</p><div class="orderedlist"><ol type="1"><li><p><a name="parent-step-1"></a>'st step:</p><div class="orderedlist"><ol type="a"><li><p>Step one is limited by the transportation. The 
+transportation moves the particle on the boundary and locates it
+in volume <span class="emphasis"><em>B</em></span>.</p></li><li><p>Biasing split's or deletes the particle
+and changes weight correctly.
+See also: <a href="#mass-bias-daughter" title="2.4. Daughter created by biasing">Section 2.4</a></p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>B</em></span></p></li><li><p>Multiple scattering changes
+the momentum to point back in volume <span class="emphasis"><em>A</em></span> again.</p></li></ol></div></li><li><p>'nd step:</p><div class="orderedlist"><ol type="a"><li><p>Transportation limits step. Transportation
+locates particle in volume <span class="emphasis"><em>A</em></span>.</p></li><li><p>Biasing split's or deletes the particle and changes 
+weight correctly.
+See also: <a href="#mass-bias-daughter" title="2.4. Daughter created by biasing">Section 2.4</a></p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>A</em></span></p></li></ol></div></li><li><p>'rd step:</p><p>Step may be limited by any process.</p><p>Transportation locates particle at the new 
+position </p></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>
+Multiple scattering is related to volume <span class="emphasis"><em>A</em></span> therefore
+the following should be considered:</p><div class="itemizedlist"><ul type="disc"><li><p>
+Importance sampling should neither run in the first nor in the second 
+step.
+          </p></li><li><p>
+The particle should not be scored as entering volume 
+<span class="emphasis"><em>B</em></span> in the first step and it should not be scored as 
+entering <span class="emphasis"><em>A</em></span> in the second step.
+          </p></li></ul></div></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="mass-parent-zero"></a>2.2. Parent particle suffers process on mass-boundary</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>A particle step reaches a boundary between volume <span class="emphasis"><em>
+A</em></span> and <span class="emphasis"><em>B</em></span> 
+of the mass geometry. It is located in volume 
+<span class="emphasis"><em>B</em></span>. Then a process returns a zero step length,
+get's called and changes the momentum back to <span class="emphasis"><em>
+A</em></span>.</p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+A process should never return step length = 0.
+But the situation applies also if a process proposes a step length so 
+small that the track is located within a distance of kCarTolerance to the 
+boundary. 
+      </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/mass-parent-zero.gif" alt="Parent particle suffers a process on mass-boundary"></td></tr></table><div class="caption"><p>A particle crosses the boundary in the mass 
+geometry. The momentum is changed by a process that returned sl=0.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>Three steps <span class="emphasis"><em>1</em></span>, <span class="emphasis"><em>2</em></span>, 
+<span class="emphasis"><em>3</em></span> occur:</p><div class="orderedlist"><ol type="1"><li><p><a name="parent-step-zero-1"></a>step</p><div class="orderedlist"><ol type="a"><li><p>Step one is limited by the transportation. The 
+transportation moves the particle on the boundary and locates it
+in volume <span class="emphasis"><em>B</em></span>.</p></li><li><p>Biasing split's or deletes the particle
+and changes weight correctly.
+See also: <a href="#mass-bias-daughter" title="2.4. Daughter created by biasing">Section 2.4</a></p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>B</em></span></p></li></ol></div></li><li><p>step</p><div class="orderedlist"><ol type="a"><li><p>A process returns step length = 0.</p></li><li><p>Scoring may count a collision with the 
+correct weight according to volume <span class="emphasis"><em>B</em></span>.</p></li><li><p>The process changes the particles momentum,
+and may create daughter particles. (See 
+<a href="#mass-phys-daughter" title="2.3. Daughter created by a physics process on boundary">Section 2.3</a>) </p></li></ol></div></li><li><p>step</p><div class="orderedlist"><ol type="a"><li><p>The step is limited by transportation. 
+Transportation locates the particle in volume<span class="emphasis"><em>A</em></span>.
+</p></li><li><p>Biasing  may delete the particle and change weight.
+</p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>A</em></span></p></li></ol></div></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>This way the particle is treated correctly.
+        </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="mass-phys-daughter"></a>2.3. Daughter created by a physics process on boundary</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>A particle step reaches a boundary in the mass geometry
+between volume
+<span class="emphasis"><em>A</em></span> and volume <span class="emphasis"><em>B</em></span>. A physical
+process returns steplength =0 and creates a daughter.</p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+A process should never return step length = 0.
+But the situation applies also if a process proposes a step length so 
+small that the track is located within a distance of kCarTolerance to the 
+boundary. 
+      </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/mass-phys-daughter-zero.gif" alt="A process creates a daughter on the boundary."></td></tr></table><div class="caption"><p>A process creates a daughter on the boundary.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>The description of
+two steps of the particle and the first step of
+the daughter created by a physical process on the boundary:</p><div class="orderedlist"><ol type="1"><li><p><span class="emphasis"><em>Cross boundary.</em></span></p><p>This is equivalent to step one in
+<a href="#mass-parent-zero" title="2.2. Parent particle suffers process on mass-boundary">Section 2.2</a></p></li><li><p><span class="emphasis"><em>Physics process.</em></span></p><div class="orderedlist"><ol type="a"><li><p>A physics process returns step length = 0.</p></li><li><p>Scoring may count collsision with the original 
+track momentum and the correct weight.</p></li><li><p>The physics process changes the momentum of the 
+particle and creates a daughter with momentum pointing to 
+volume <span class="emphasis"><em>A</em></span>.</p></li></ol></div></li><li><p>
+First step <span class="emphasis"><em>1.d</em></span> of daughter</p><p><span class="strong"><em>The daughter should be 
+located in volume</em></span> <span class="emphasis"><em>B</em></span> 
+<span class="strong"><em> inspide of having it's momentum pointing
+to volume </em></span><span class="emphasis"><em>A</em></span> !</p><p> In this mass geometry case it should be done correct by
+the transportation since the Touchable of the doughter 
+can be taken into account for location.
+</p></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>
+If the daughter particle is located in volume <span class="emphasis"><em>B</em></span>
+the situation should be treated correctly.
+        </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="mass-bias-daughter"></a>2.4. Daughter created by biasing</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>A parent particle crosses the boundary in the mass 
+geometry. Biasing creates copies of the particle. 
+        </p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+The most likely situation if a particle corsses a boundary and the
+importance of the enterung volume is higher then the importance
+of the exitiong volume.
+      </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/mass-bias-daughter.gif" alt="A daughter created by biasing"></td></tr></table><div class="caption"><p>A particle crosses the boundary in the mass 
+geometry. Biasing creates a daughter.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>A step <span class="emphasis"><em>1</em></span> of the parent and the
+first step <span class="emphasis"><em>1.d</em></span> are shown:</p><div class="orderedlist"><ol type="1"><li><p><span class="emphasis"><em>parent step</em></span></p><div class="orderedlist"><ol type="a"><li><p>Step one is limited by the transportation. The 
+transportation moves the particle on the boundary and locates it
+in volume <span class="emphasis"><em>B</em></span>.</p></li><li><p>Biasing split's or deletes the particle
+and changes weight correctly.</p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>B</em></span></p></li></ol></div></li><li><p><span class="emphasis"><em>1.d: first step of daughter</em></span></p><div class="orderedlist"><ol type="a"><li><p>G4 locates the daughter 
+in <span class="emphasis"><em>B</em></span>.</p></li><li><p>Any process may limit the step.</p></li></ol></div></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>
+This should be the coorect treatment of the daughter particle created by
+importance sampling.
+        </p></dd></dl></div></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="parallel"></a>Chapter 3. Parallel-geometry</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>3.1. <a href="#parallel-parent">Particle suffers multiple scattering.</a></dt><dt>3.2. <a href="#parallel-parent-zero">Particle suffers physics process on boundary</a></dt><dt>3.3. <a href="#parallel-phys-daughter">Daughter created by a physics process on a boundary</a></dt><dt>3.4. <a href="#parallel-bias-daughter">Daughter created by biasing</a></dt></dl></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="parallel-parent"></a>3.1. Particle suffers multiple scattering.</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>A particle step is limited by a boundary in the parallel
+geometry between volumes <span class="emphasis"><em>A</em></span> and 
+<span class="emphasis"><em>B</em></span>. 
+Multiple scattering occures.</p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+Multiple scatteing applies for charged particles. 
+The current version is not intended to be used for charged particles but
+future versions will.
+      </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/parallel-parent.gif" alt="Parent particle"></td></tr></table><div class="caption"><p>A particle crosses the boundary in the parallel 
+geometry. The momentum is changed by multiple scattering.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>Three steps <span class="emphasis"><em>1</em></span>, <span class="emphasis"><em>2</em></span>, 
+<span class="emphasis"><em>3</em></span> occur:</p><div class="orderedlist"><ol type="1"><li><p><a name="parallel-parent-step-1"></a>Step:</p><div class="orderedlist"><ol type="a"><li><p>The step is limited by a boundary in the parallel
+geometry found by the ParallelImportanceProcess.</p></li><li><p>Transportation moves the particle in the mass 
+geometry.</p></li><li><p>The ParallelImportanceProcess
+moves the particle on the boundary and locates it
+in volume <span class="emphasis"><em>B</em></span> of the parallel geometry.
+Biasing splits or plays Russian Roulette and changes the weight.</p><p>The ParallelImportanceProcess may create daughters
+see <a href="#parallel-bias-daughter" title="3.4. Daughter created by biasing">Section 3.4</a></p></li><li><p>Scoring counts a track entering.</p></li><li><p>Multiple scattering changes the momentum of the 
+particle.</p></li></ol></div></li><li><p>Step:</p><div class="orderedlist"><ol type="a"><li><p>The step is limited by the boundary in the 
+parallel geometry found by the ParallelImportanceProcess.</p></li><li><p>Biasing split's or deletes the particle and 
+changes weight correctly.</p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>A</em></span></p></li></ol></div></li><li><p>Step:</p><p>The step may be limited by any process.</p><p>Transportation locates particle at the new 
+position </p></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>See the comment in <a href="#mass-parent-ms" title="2.1. Particle suffers multiple scattering">Section 2.1</a>.</p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="parallel-parent-zero"></a>3.2. Particle suffers physics process on boundary</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>A particle step is limited by a boundary in the parallel
+geometry between volumes <span class="emphasis"><em>A</em></span> and 
+<span class="emphasis"><em>B</em></span>. A physics process returns 
+step length = 0.</p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+See <a href="#mass-parent-zero" title="2.2. Parent particle suffers process on mass-boundary">Section 2.2</a>.
+      </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/parallel-parent-zero.gif" alt="Particle suffers process on boundary."></td></tr></table><div class="caption"><p>A parent particle crosses the boundary in the parallel 
+geometry. A physics process happens on the boundary.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>Three steps <span class="emphasis"><em>1</em></span>, <span class="emphasis"><em>2</em></span>, 
+<span class="emphasis"><em>3</em></span> occur:</p><div class="orderedlist"><ol type="1"><li><p><a name="parallel-parent-zero-step-1"></a>Step:</p><div class="orderedlist"><ol type="a"><li><p>The step is limited by a boundary in the parallel
+geometry found by the ParallelImportanceProcess.</p></li><li><p>Transportation moves the particle in the mass 
+geometry.</p></li><li><p>The ParallelImportanceProcess
+moves the particle on the boundary and locates it
+in volume <span class="emphasis"><em>B</em></span> of the parallel geometry.
+Biasing splits or plays Russian Roulette and changes the weight.</p><p>The ParallelImportanceProcess may create daughters
+see <a href="#parallel-bias-daughter" title="3.4. Daughter created by biasing">Section 3.4</a></p></li><li><p>Scoring counts a track entering.</p></li></ol></div></li><li><p>Step:</p><div class="orderedlist"><ol type="a"><li><p>A physics process retruns step length = 0.</p></li><li><p>Scoring counts a collision in volume
+<span class="emphasis"><em>B</em></span></p></li><li><p>The physics process changes the momentum
+of the particle and creates a daughter 
+(See <a href="#parallel-phys-daughter" title="3.3. Daughter created by a physics process on a boundary">Section 3.3</a>). Both momentums point 
+towards volume <span class="emphasis"><em>A</em></span>.</p></li></ol></div></li><li><p>Step:</p><div class="orderedlist"><ol type="a"><li><p>The ParallelImportanceProcess limits the 
+step.</p></li><li><p>The ParallelImportanceProcess locates it
+in volume <span class="emphasis"><em>A</em></span> of the parallel geometry.
+Biasing splits or plays Russian Roulette and changes the weight.</p><p>The ParallelImportanceProcess may create daughters
+see <a href="#parallel-bias-daughter" title="3.4. Daughter created by biasing">Section 3.4</a></p></li><li><p>Scoring counts a track entering  volume
+<span class="emphasis"><em>A</em></span>.</p></li></ol></div></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>
+This way should be correct.
+        </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="parallel-phys-daughter"></a>3.3. Daughter created by a physics process on a boundary</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>
+A particle step reaches a boundary in the parallel geometry between volume
+<span class="emphasis"><em>A</em></span> and volume <span class="emphasis"><em>B</em></span>. A physical
+process returns steplength =0 and creates a daughter.</p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+See <a href="#mass-phys-daughter" title="2.3. Daughter created by a physics process on boundary">Section 2.3</a>.
+      </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/parallel-phys-daughter-zero.gif" alt="A process creates a daughter on the boundary."></td></tr></table><div class="caption"><p>A process creates a daughter on the boundary.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>The description of
+two steps of the particle and the first step of
+the daughter created by a physical process on the boundary:</p><div class="orderedlist"><ol type="1"><li><p><span class="emphasis"><em>Cross boundary.</em></span></p><p>This is equivalent to step one in
+  <a href="#parallel-parent-zero" title="3.2. Particle suffers physics process on boundary">Section 3.2</a></p></li><li><p><span class="emphasis"><em>Physics process.</em></span></p><div class="orderedlist"><ol type="a"><li><p>A physics process returns step length = 0.</p></li><li><p>Scoring may count collsision with the original 
+track momentum and the correct weight.</p></li><li><p>The physics process changes the momentum of the 
+particle and creates a daughter with momentum pointing to 
+volume <span class="emphasis"><em>A</em></span>.</p></li></ol></div></li><li><p>
+First step <span class="emphasis"><em>1.d</em></span> of daughter</p><p><span class="strong"><em>According to the
+momentum the daughter is located in 
+volume</em></span> <span class="emphasis"><em>A</em></span> <span class="strong"><em>.
+</em></span></p><p>The ParallelImportanceProcess <span class="emphasis"><em>does not 
+</em></span> occur. Therefore no biasing is applied and the
+weight is not changed!</p></li><li><p>Scoring counts a collision in volume
+<span class="emphasis"><em>A</em></span> <span class="emphasis"><em>with the wrong weight</em></span>.
+          </p></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>
+Locating the daughter particle in volume <span class="emphasis"><em>A</em></span>
+is wrong. 
+        </p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="parallel-bias-daughter"></a>3.4. Daughter created by biasing</h2></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Description:</em></span></span></dt><dd><p>
+A parent particle crosses the boundary in the parallel 
+geometry. Biasing creates copies of the particle. 
+        </p></dd><dt><span class="term"><span class="emphasis"><em>Relevance:</em></span></span></dt><dd><p>
+See <a href="#mass-bias-daughter" title="2.4. Daughter created by biasing">Section 2.4</a>.
+    </p></dd><dt><span class="term"><span class="emphasis"><em>Figure:</em></span></span></dt><dd><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/parallel-bias-daughter.gif" alt="A daughter created by biasing"></td></tr></table><div class="caption"><p>A particle crosses the boundary in the parallel
+geometry. Biasing creates copies.</p></div></div></dd><dt><span class="term"><span class="emphasis"><em>Detailed description:</em></span></span></dt><dd><p>
+A step <span class="emphasis"><em>1</em></span> of the parent and the
+first step <span class="emphasis"><em>1.d</em></span> are shown:</p><div class="orderedlist"><ol type="1"><li><p><span class="emphasis"><em>Step</em></span></p><div class="orderedlist"><ol type="a"><li><p>Step one is limited by a boundary in
+the parallel geometry found by ParallelImportanceProcess. The 
+ParallelImportanceProcess moves the particle on the boundary and 
+locates it in volume <span class="emphasis"><em>B</em></span>.</p></li><li><p>Biasing split's or deletes the particle
+and changes weight correctly.</p></li><li><p>Scoring counts the track as entering volume
+<span class="emphasis"><em>B</em></span></p></li></ol></div></li><li><p><span class="emphasis"><em>1.d: first step of daughter</em></span></p><div class="orderedlist"><ol type="a"><li><p>The ParallelImportanceProcess locates the daughter 
+in <span class="emphasis"><em>B</em></span>.</p></li><li><p>Any process may limit the step.</p></li></ol></div></li></ol></div></dd><dt><span class="term"><span class="emphasis"><em>Comment:</em></span></span></dt><dd><p>
+This should be the correct way.
+        </p></dd></dl></div></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="problems"></a>Chapter 4. To the problematic usecases</h2></div></div><p>Of this (probably incomplete) list of usecases the cases
+<a href="#mass-parent-ms" title="2.1. Particle suffers multiple scattering">Section 2.1</a>,
+<a href="#parallel-parent" title="3.1. Particle suffers multiple scattering.">Section 3.1</a> and
+<a href="#parallel-phys-daughter" title="3.3. Daughter created by a physics process on a boundary">Section 3.3</a> are treated wrongly. 
+The first two cases apply to charged particles only. The other
+usecase applies for the parallel geometry. Therefore this documents
+does not contain problematic usecases for neutral particles in the mass 
+geometry. </p><p>The only wrongly treated usecase in this document
+applying also for neutral particles is 
+<a href="#parallel-phys-daughter" title="3.3. Daughter created by a physics process on a boundary">Section 3.3</a>. </p><p>The reason for the problem is: In contrast to the mass 
+geometry cases there is no information about the current Touchable in 
+the parallel geometry related to a newly starting particle.</p><p>The two types of particles starting on a parallel boundary
+are:</p><div class="orderedlist"><ol type="1"><li><p> <a href="#parallel-phys-daughter" title="3.3. Daughter created by a physics process on a boundary">Section 3.3</a> particles 
+created by a physical process on the boundary.</p></li><li><p><a href="#parallel-bias-daughter" title="3.4. Daughter created by biasing">Section 3.4</a> particles created
+by importance sampling. All particles created by importance 
+sampling start on a boundary.</p></li></ol></div><p>The particles starting on the boundary may be located
+in either of both volumes depending on the geometry 
+e.g. which volume is deepest.</p><p>In order to treat the much more frequent cases of type
+number 2. correct it has been chosen to take the direction of the
+particle momentum into account. But this treats the cases of
+type 1. wrong.</p><p>To solve this problem it has been considered to somehow
+provide the information about the Touchable in the parallel geometry.
+It is not clear "who" should give that information to "whom".
+While the importance sampling process knows about the parallel
+geometry and therefore could assign a touchable to the particle
+in principle, the physics processes can't do that.</p></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="summary"></a>Chapter 5. Summary</h2></div></div><p>This document gives a list of usecases which should be
+considered for the implementation of importance sampling and 
+scoring. </p><p>When changing the behaviour of importance sampling 
+the resulting algorithm should be checked at least against the
+usecases listed here.</p><p>The current problem to be solved is to treat
+the usecase <a href="#parallel-phys-daughter" title="3.3. Daughter created by a physics process on a boundary">Section 3.3</a> right
+without messing up usecase <a href="#parallel-bias-daughter" title="3.4. Daughter created by biasing">Section 3.4</a>
+.</p></div></div></body></html>
Index: trunk/Documentation/geant4/collaboration/working_groups/geometry/biasing/Sampling.html
===================================================================
--- trunk/Documentation/geant4/collaboration/working_groups/geometry/biasing/Sampling.html	(revision 901)
+++ trunk/Documentation/geant4/collaboration/working_groups/geometry/biasing/Sampling.html	(revision 901)
@@ -0,0 +1,502 @@
+<html><head>
+      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+   <title>Scoring, geometrical importance sampling and weight roulette 
+</title><meta name="generator" content="DocBook XSL Stylesheets V1.51.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book"><div class="titlepage"><div><h1 class="title"><a name="Sampling"></a>Scoring, geometrical importance sampling and weight roulette 
+</h1></div><div><div class="author"><h3 class="author">Michael Dressel</h3></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>1. <a href="#preface">Preface</a></dt><dt>2. <a href="#introduction">Introduction</a></dt><dt>3. <a href="#geometries">Geometries</a></dt><dd><dl><dt>3.1. <a href="#remarkparallel">Limitations of "parallel" geometries</a></dt></dl></dd><dt>4. <a href="#sampler">Changing the sampling</a></dt><dd><dl><dt>4.1. <a href="#samplerintro">Introduction</a></dt><dt>4.2. <a href="#samplerinterface">Sampler interface</a></dt><dt>4.3. <a href="#samplerclasses">Concrete sampler classes</a></dt></dl></dd><dt>5. <a href="#scoring">Scoring</a></dt><dd><dl><dt>5.1. <a href="#scoringintroduction">Introduction</a></dt><dt>5.2. <a href="#scoringframe">The scoring framework</a></dt><dt>5.3. <a href="#standardscoring">Standard scoring</a></dt><dt>5.4. <a href="#scoringremarks">Advices for scoring</a></dt></dl></dd><dt>6. <a href="#importancesampling">Importance sampling</a></dt><dd><dl><dt>6.1. <a href="#impintro">Introduction</a></dt><dt>6.2. <a href="#importancestore">The importance store</a></dt><dt>6.3. <a href="#importancevalues">Interpretation of importance values</a></dt><dt>6.4. <a href="#VImportanceAlgorithm">The importance sampling algorithm</a></dt><dt>6.5. <a href="#defaultalgorithm">The default importance algorithm</a></dt></dl></dd><dt>7. <a href="#weighwindow">Weight window technique</a></dt><dd><dl><dt>7.1. <a href="#wwintro">Introduction</a></dt><dt>7.2. <a href="#wwconcept">Weight window concept</a></dt><dt>7.3. <a href="#wwimp">Weight window implementation</a></dt></dl></dd><dt>8. <a href="#weightroulette">Weight roulette</a></dt><dd><dl><dt>8.1. <a href="#wintro">Introduction</a></dt><dt>8.2. <a href="#wconcept">The weight roulette concept</a></dt></dl></dd></dl></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="preface"></a>Chapter 1. Preface</h2></div></div><p>This document gives short descriptions of the basic concepts 
+of the implementation of scoring and importance sampling (or geometrical 
+splitting and Russian roulette) in Geant4. The reader is expected to be 
+familiar with both Geant4 and the concept of importance sampling.</p></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="introduction"></a>Chapter 2. Introduction</h2></div></div><p>The scoring implemented intends to appraise particle 
+quantities primarily for checking importance sampling and it applies 
+to "cells" (physical volumes or replicas) of a given 
+geometry. The design highly supports customization. Nevertheless 
+a standard scoring implementation for quantities interesting for 
+importance sampling such as: <span class="emphasis"><em>tracks entering a cell, 
+average track weight, energy averaged in different ways, collisions 
+inside the cell</em></span> is provided.</p><p>Importance sampling and weight roulette 
+are variance reduction techniques. The purpose of variance reduction 
+is to save computing time.</p><p>Therefore geometrical importance sampling (also called 
+geometrical splitting and Russian roulette) sample particle histories 
+entering  important regions more often and histories entering less 
+important regions less often.</p><p>Weight roulette (also called weight cutoff) is used if
+importance sampling together with  another variance reduction technique 
+called implicit capture are applied. It reduces the number of particles
+with a weight to low to contribute much to the result.</p><p>Comparing the result of a variance reduced simulation to an 
+analogue sampled simulation the mean value must be equal while the 
+variance should be reduced in the same amount of computing time.</p><p>The implementation of scoring is independent from the 
+ implementation of the variance reduction. However they share common 
+ concepts. Scoring and variance reduction apply to particle types chosen
+ by the user.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Currently only neutral particles may be scored and/or
+importance sampled.</p><p>Only field free geometries may be used.</p><p>Examples on how to use scoring, importance sampling
+and weight roulette may be found in 
+<tt>examples/extended/biasing</tt>.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="geometries"></a>Chapter 3. Geometries</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>3.1. <a href="#remarkparallel">Limitations of "parallel" geometries</a></dt></dl></div><p>The kind of scoring referred to in this note and the variance 
+reduction techniques apply to spatial cells given by the user.</p><div class="variablelist"><dl><dt><a name="cell"></a><span class="term">cell:</span></dt><dd><p>A cell is a physical volume further specified by
+ it's replica number (if the volume is a replica).</p></dd></dl></div><p>The cells may be defined in two kinds of geometries:</p><div class="variablelist"><dl><dt><a name="mass-geometry"></a><span class="term">mass geometry:</span></dt><dd><p>The one geometry of the experiment to be simulated.
+ Physics processes apply to this geometry.</p></dd><dt><a name="parallel-geometry"></a><span class="term">parallel geometry:</span></dt><dd><p>A parallel geometry may be constructed to define
+ the physical volumes according to which scoring and/or variance reduction
+ are applied.</p></dd></dl></div><p>It is possible to utilize several parallel geometries 
+in addition to the mass geometry. This provides the user with a lot of 
+flexibility to define separate geometries for different particle types in
+order to apply scoring or/and variance reduction. </p><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="remarkparallel"></a>3.1. Limitations of "parallel" geometries</h2></div></div><div class="itemizedlist"><ul type="disc"><li><p> The world volume of the parallel geometry must overlap
+the world volume of the mass geometry. </p></li><li><p> Particles crossing a boundary in the parallel geometry
+where there is vacuum in the mass geometry are also biased. This 
+may be optimized in later versions. </p></li><li><p>Mass and parallel geometry boundaries are not 
+coincident in  the current implementation.</p></li></ul></div></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="sampler"></a>Chapter 4. Changing the sampling</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>4.1. <a href="#samplerintro">Introduction</a></dt><dt>4.2. <a href="#samplerinterface">Sampler interface</a></dt><dt>4.3. <a href="#samplerclasses">Concrete sampler classes</a></dt></dl></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="samplerintro"></a>4.1. Introduction</h2></div></div><p>Samplers are higher level tools to do the necessary changes
+of the Geant4 sampling in order to apply importance sampling and weight
+roulette. The samplers may also be used to apply scoring.</p><p>Scoring and variance reduction may be combined arbitrarily
+for chosen particle types and may be applied to the mass or to parallel 
+geometries. The samplers support all combinations.</p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="samplerinterface"></a>4.2. Sampler interface</h2></div></div><p>Different samplers are implemented for the mass and parallel
+geometries. Both implement the interface 
+<tt>G4VSampler</tt>. <tt>G4VSampler</tt>
+allows to prepare the combination of scoring and variance reduction 
+chosen and to configure the sampling appropriately. To this
+end <tt>G4VSampler</tt> provides 
+<tt>Prepare...</tt> methods and a 
+<tt>Configure</tt>:</p><a name="G4VSampler"></a><pre class="programlisting">
+class G4VSampler {
+public:  
+  virtual ~G4VSampler() {}
+  virtual void PrepareScoring(G4VScorer *Scorer) = 0;
+  virtual void PrepareImportanceSampling(G4VIStore *istore,
+					 const G4VImportanceAlgorithm 
+					 *ialg = 0) = 0;
+  virtual void PrepareWeightRoulett(G4double wsurvive = 0.5, 
+				    G4double wlimit = 0.25,
+				    G4double isource = 1) = 0;
+  virtual void PrepareWeightWindow(G4VWeightWindowStore *wwstore,
+				   G4VWeightWindowAlgorithm *wwAlg = 0,
+				   G4PlaceOfAction placeOfAction = 
+				   onBoundary) = 0;
+  virtual void Configure() = 0;
+  virtual void ClearSampling() = 0;
+  virtual G4bool IsConfigured() const = 0;
+};
+</pre><p>The methods for setting up the wished combination
+need specific information:</p><div class="itemizedlist"><ul type="disc"><li><p>Scoring: message 
+<tt>PrepareScoring</tt> with a <a href="#G4VScorer"><tt>G4VScorer</tt></a>
+(see <a href="#scoring" title="Chapter 5. Scoring">Scoring</a>)
+</p></li><li><p>Importance sampling: message
+<tt>PrepareImportanceSampling</tt> with
+a <a href="#G4VIStore"><tt>G4VIStore</tt></a> 
+(see <a href="#importancesampling" title="Chapter 6. Importance sampling">Importance sampling</a>)
+and optionally a <tt>G4VImportanceAlgorithm</tt></p></li><li><p>Weight roulette: message 
+<tt>PrepareWeightRoulett</tt> with the optional 
+parameters:</p><div class="itemizedlist"><ul type="round"><li><p><span class="emphasis"><em>wsurvive</em></span>: survival weight</p></li><li><p><span class="emphasis"><em>wlimit</em></span>: minimal allowed
+value of weight * source importance / cell importance</p></li><li><p><span class="emphasis"><em>isource</em></span>: importance of the 
+source cell</p></li></ul></div></li><li><p>Weight window: message 
+<tt>PrepareWeightWindow</tt> with the arguments:</p><div class="itemizedlist"><ul type="round"><li><p><span class="emphasis"><em>*wwstore</em></span>: a
+<tt>G4VWeightWindowStore</tt> for retrieving the lower weight 
+bounds for the energy-space cells</p></li><li><p><span class="emphasis"><em>*wwAlg</em></span>: a 
+<tt>G4VWeightWindowAlgorithm</tt>
+if a customized algorithm should be used</p></li><li><p><span class="emphasis"><em>placeOfAction</em></span>: a 
+<tt>G4PlaceOfAction</tt>
+specifying where to perform the biasing</p></li></ul></div></li></ul></div><p>Each object of a sampler class is responsible for one 
+particle type. The particle type is given to the constructor of the 
+sampler classes via the particle type name e.g. "neutron".
+Dependent on the specific purpose the <tt>Configure</tt>
+of a sampler will setup specialized processes (derived from 
+<tt>G4VProcess</tt>)
+for transportation in the parallel geometry, scoring, importance sampling
+and weight roulette for the given particle type. When 
+<tt>Configure</tt> is invoked the sampler places the 
+processes in the correct order independent of the order in which
+user invoked the <tt>Prepare...</tt> methods.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><div class="itemizedlist"><ul type="disc"><li><p>The  <tt>Prepare...</tt>
+functions may each only be invoked once.</p></li><li><p>To configure the sampling the function 
+<tt>Configure</tt> has to be called <span class="emphasis"><em>after
+</em></span> the <tt>G4RunManager</tt> has been initialized.</p></li></ul></div></div></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="samplerclasses"></a>4.3. Concrete sampler classes</h2></div></div><p>Two classes implementing the interface <a href="#G4VSampler"><tt>G4VSampler</tt></a>: are
+provided for the mass and a parallel geometry respectively:</p><div class="itemizedlist"><ul type="disc"><li><p><tt>G4MassGeometrySampler</tt></p></li><li><p><tt>G4ParallelGeometrySampler</tt></p></li></ul></div><p>The constructors of both classes take
+the particle type name (e.g. "neutron") as argument. The 
+constructor of <tt>G4ParallelGeometrySampler</tt> in addition 
+needs a reference to the physical world volume of the parallel 
+geometry.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="scoring"></a>Chapter 5. Scoring</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>5.1. <a href="#scoringintroduction">Introduction</a></dt><dt>5.2. <a href="#scoringframe">The scoring framework</a></dt><dt>5.3. <a href="#standardscoring">Standard scoring</a></dt><dt>5.4. <a href="#scoringremarks">Advices for scoring</a></dt></dl></div><p>This chapter describes the Geant4 framework for scoring
+and a scoring standard implementation.</p><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="scoringintroduction"></a>5.1. Introduction</h2></div></div><p>Two more ways to retrieve information about physical 
+quantities in  addition to using Geant4's 
+<span class="emphasis"><em>sensible detectors</em></span> will be supported by Geant4:
+<span class="emphasis"><em>scoring</em></span> and <span class="emphasis"><em>tallying</em></span>.</p><p><span class="emphasis"><em>Scoring</em></span> aims to estimate quantities
+mainly interesting in connection with importance sampling. The values 
+obtainable serve checking the importance sampling. In the standard 
+implementation no errors will be given on this numbers.</p><p><span class="emphasis"><em>Tallying</em></span> should estimate physical 
+quantities and provide information about the validity of the estimation 
+such as errors. It should also be possible to bin the quantities with 
+respect to several variables and to obtain statistical checks. 
+<span class="emphasis"><em>Tallies</em></span> are not implemented yet.</p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="scoringframe"></a>5.2. The scoring framework</h2></div></div><p>Scoring is provided by a framework. It is done particle type 
+wise. Nevertheless it is also possible to score particles of different 
+types into the same scores. The framework may also be easily used for 
+customized scoring.</p><p> Scoring may be applied to the mass or a parallel  geometry.
+It is done with an object generically called scorer using a
+sampler described above. The scorer
+receives the information about every step a particle of chosen type 
+takes. The information consists of an object of the Geant4 kernel class 
+<tt>G4Step</tt> and an object of the class 
+<tt>G4GeometryCellStep</tt> provided in particular for the purpose of 
+scoring and importance sampling. <tt>G4GeometryCellStep</tt> provides 
+information about the previous and current "cell" of the particles 
+track.</p><p>A "scorer" class derives from the interface 
+ <tt>G4VScorer</tt>. Users may create customized 
+ "scorers" or use the standard scoring described in 
+<a href="#standardscoring" title="5.3. Standard scoring">Section 5.3</a>.</p><p>Classes involved in the framework:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="G4VScorer"></a><tt>G4VScorer</tt></p><p>Classes derived from <tt>G4VScorer</tt>
+may use the Geant4 framework for scoring. This is the minimum dependence
+a customized scoring has to have to use the scoring frame. The frame will
+provide a process messaging a scorer derived from 
+<tt>G4VScorer</tt> and classes for the setup.</p><p>In particular an object of this type may be given to  
+a G4VSampler;. In order to score different 
+particle types in one object of <tt>G4VScorer</tt> the 
+object may be given to different sampler objects.</p><p>The interface:</p><pre class="programlisting">
+ class G4VScorer {
+ public:
+   virtual ~G4VScorer(){}
+   virtual void Score(const G4Step &amp;step, const G4GeometryCellStep &amp;gstep) = 0;
+
+ };
+</pre><p>The member function 
+	       <tt>Score(const G4Step &amp;step, const G4GeometryCellStep &amp;gstep)</tt> is invoked for every "PostStep" of a chosen
+particle before the "<tt>PostStepDoIt</tt>"-functions 
+of the physical processes are invoked.</p></li><li><tt>G4GeometryCellStep</tt>:
+	  <pre class="programlisting">
+class G4GeometryCellStep
+{
+public: // with description
+  G4GeometryCellStep(const G4GeometryCell &amp;preCell, 
+          const G4GeometryCell &amp;postCell);
+    // initialise pre and post G4GeometryCell 
+
+  ~G4GeometryCellStep();
+
+  const G4GeometryCell &amp;GetPreGeometryCell() const; 
+    // addressing the  "cell" the track previously touched 
+
+  const G4GeometryCell &amp;GetPostGeometryCell() const; 
+    // addressing the current "cell"  
+
+  G4bool GetCrossBoundary() const; 
+    // returns true if step crosses boundary of the geometry it refers to
+
+  // the following functions are used by the scoring and importance
+  // system to set the cell information.
+  void SetPreGeometryCell(const G4GeometryCell &amp;preCell); 
+    
+  void SetPostGeometryCell(const G4GeometryCell &amp;postCell);
+  
+  void SetCrossBoundary(G4bool b);
+};
+</pre><p>The classes and functions used in 
+<tt>G4GeometryCellStep</tt>:</p><div class="itemizedlist"><ul type="round"><li><p><tt>G4GeometryCell()</tt> 
+identifies a "cell" as a physical volume with a replica number. 
+The "cell" is in the "parallel" geometry if a sampler for "parallel" 
+geometries is used else it is in the mass geometry.</p></li><li><p><tt>GetPreGeometryCell()</tt>
+returns the previous "cell" the particle touched, or it is equal to 
+<tt>GetPostGeometryCell</tt> if the track has not 
+crossed a boundary.</p></li><li><p><tt>GetPostGeometryCell()</tt> refers
+to the current "cell".</p></li><li><p><tt>GetCrossBoundary()</tt> 
+returns  "true" in case the particle crosses a boundary in the parallel 
+or mass geometry with respect to the sampler used.</p></li></ul></div></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>When scoring is done in a "parallel" geometry special 
+action has to be taken to prevent counting of "collisions" with 
+boundaries of the mass geometry as interactions. This is handled 
+differently when scoring is done in the mass geometry.</p></div></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="standardscoring"></a>5.3. Standard scoring</h2></div></div><p>This chapter describes the standard scoring supported by 
+Geant4. It uses the framework for scoring described above. A customized 
+scoring may be independent from the standard implementation or use or 
+extend parts of the standard implementation. This way a customized 
+scoring may for example provide errors for the estimates or a histogram 
+containing the distribution of the estimator
+(see <tt>examples/extended/biasing</tt>).</p><div class="section"><div class="titlepage"><div><h3 class="title"><a name="scores"></a>5.3.1. The list of standard scores</h3></div></div><p>All the values are scored per cell.</p><p>Some standard scores are calculated from the following raw
+scores:</p><div class="itemizedlist"><ul type="disc"><li><p>"D": step length between previous and post step point.
+</p></li><li><p>"WD": weight of the particle at the previous step
+point times the step length.</p></li><li><p>"WDT": WD divided by the velocity of the particle
+at the previous step point.</p></li><li><p>"WDE": weight times energy (both from previous step 
+point) times step length.</p></li><li><p>"WTE": WDE divided by the velocity of the particle
+at the previous step point.</p></li></ul></div><p>The list of scores:</p><div class="itemizedlist"><ul type="disc"><li><p>"Importance":</p><p>The importance of the cell.</p></li><li><p>"Tr.Entering"</p><p>The sum of tracks entering. Reentrant tracks
+are counted again..</p></li><li><p>"Population"</p><p>The number of tracks entering and created in a cell. 
+Reentrant tracks are not counted again.</p></li><li><p>"Collisions"</p><p>Number of collisions. Faked collisions with
+boundaries of the mass geometry are rejected but collisions in other 
+parallel geometries that might exist are counted, wrongly, as 
+collisions.</p></li><li><p>"Coll*WGT"</p><p>Weighted sum of collisions. The weight of the particle 
+when it is just entering the collision, at the post step point.</p></li><li><p>"NumWGTedE"</p><p>The number weighted energy: (Sum of WTE) / (Sum of WDT).
+</p></li><li><p>"FluxWGTedE"</p><p>The flux weighted energy: (Sum of WDE) / (Sum of WD).
+</p></li><li><p>"Av.Tr.WGT"</p><p>Average track weight: Importance * 
+(Sum of WD)/(Sum of D).</p></li></ul></div></div><div class="section"><div class="titlepage"><div><h3 class="title"><a name="concept"></a>5.3.2. The concept of the standard scoring implementation</h3></div></div><p>To use the scoring framework an object only needs to 
+conform to the interface <tt>G4VScorer</tt>. The standard 
+scoring provides a scorer of this kind using  an additional  concept of 
+scorer responsible only for one cell: a cell scorer. 
+The calculation of the actual scores is  factored out of the cell scorer 
+and the final result is delivered by the cell scorer in a simple 
+struct.</p><p>To use the cell scorers additional concepts are needed: 
+the mapping of the cell scorers to the cells, the selection of the cell 
+scorer according to the cell being hit, a table of the final results for 
+a print out and the processes and samplers described in 
+<a href="#sampler" title="Chapter 4. Changing the sampling">Chapter 4</a></p><p>The concepts of the standard scoring are reflected in the 
+following classes.</p></div><div class="section"><div class="titlepage"><div><h3 class="title"><a name="classes"></a>5.3.3. Specific classes involved in standard scoring</h3></div></div><p>All the classes below which are developed for the standard 
+scoring may also be used optionally for a customized scoring,</p><div class="itemizedlist"><ul type="disc"><li><p><a name="G4VCellScorer"></a><tt>G4VCellScorer</tt></p><p>This is an interface for a scorer responsible
+for one cell of the geometry. The cell may be in the mass or in a 
+parallel geometry.</p></li><li><p><a name="G4CellScorer"></a><tt>G4CellScorer</tt></p><p>A concrete class implementing the interface <a href="#G4VCellScorer"><tt>G4VCellScorer</tt></a>. This is 
+the top level class responsible for the standard scoring for one cell.</p></li><li><p><a name="G4VCellScorerStore"></a><tt>G4VCellScorerStore</tt></p><p>This interface describes a store for 
+<a href="#G4VCellScorer"><tt>G4VCellScorer</tt></a> objects. Objects with this type may have their stored 
+<a href="#G4VCellScorer"><tt>G4VCellScorer</tt></a> objects messaged for scoring by an object of the class 
+<a href="#G4CellStoreScorer"><tt>G4CellStoreScorer</tt></a>.</p></li><li><p><a name="G4CellScorerStore"></a><tt>G4CellScorerStore</tt></p><p>A concrete class implementing the interface
+<a href="#G4VCellScorerStore"><tt>G4VCellScorerStore</tt></a>. Objects of this
+class create and store <a href="#G4CellScorer"><tt>G4CellScorer</tt></a> objects.</p><p>The user may chose to have a  <a href="#G4CellScorer"><tt>G4CellScorer</tt></a> object
+created for every cell that gets hit or to create the <a href="#G4CellScorer"><tt>G4CellScorer</tt></a> 
+object only for certain cells and give pointers of them to the store.</p></li><li><p><a name="G4CellStoreScorer"></a><tt>G4CellStoreScorer</tt></p><p>This concrete class is a <a href="#G4VScorer"><tt>G4VScorer</tt></a> messaging
+<a href="#G4VCellScorer"><tt>G4VCellScorer</tt></a> objects obtained from a <a href="#G4VCellScorerStore"><tt>G4VCellScorerStore</tt></a>.</p></li><li><p><a name="G4Scorer"></a><tt>G4Scorer</tt></p><p>This concrete class is a <a href="#G4VScorer"><tt>G4VScorer</tt></a>
+and a wrapper around <a href="#G4CellStoreScorer"><tt>G4CellStoreScorer</tt></a> using a <a href="#G4CellScorerStore"><tt>G4CellScorerStore</tt></a> in the mode that
+it creates a <a href="#G4CellScorer"><tt>G4CellScorer</tt></a> for every hit cell.</p><p>This concrete top level class provides a simple way to
+do standard scoring for all cells in a geometry.</p></li><li><p><a name="G4ScoreTable"></a><tt>G4ScoreTable</tt></p><p>This class may be used to create a table
+of standard scores per element of a map (<a href="#G4MapGeometryCellCellScorer"><tt>G4MapGeometryCellCellScorer</tt></a>) of 
+<tt>G4GeometryCell</tt>, <a href="#G4CellScorer"><tt>G4CellScorer</tt></a> pairs. An instance
+of such a map is provided by <a href="#G4CellStoreScorer"><tt>G4CellStoreScorer</tt></a> and <a href="#G4Scorer"><tt>G4Scorer</tt></a>.
+</p></li><li><p><a name="G4CellScoreComposer"></a><tt>G4CellScoreComposer</tt></p><p>This class is used to calculate several
+scores listed in <a href="#scores" title="5.3.1. The list of standard scores">Section 5.3.1</a> related to the step length.
+</p></li><li><p><a name="G4CellScoreValues"></a><tt>G4CellScoreValues</tt></p><p>Objects of this kind contain the scores listed in 
+<a href="#scores" title="5.3.1. The list of standard scores">Section 5.3.1</a>. An object may be retrieved from <a href="#G4CellScorer"><tt>G4CellScorer</tt></a>.</p></li><li><p><a name="G4MapGeometryCellCellScorer"></a><tt>G4MapGeometryCellCellScorer</tt></p><p>The <a href="#G4CellStoreScorer"><tt>G4CellStoreScorer</tt></a> uses
+this class to store <a href="#G4CellScorer"><tt>G4CellScorer</tt></a> objects and the <a href="#G4ScoreTable"><tt>G4ScoreTable</tt></a> reads this map to 
+print a table of the scores.</p></li><li><p><a name="G4TrackLogger"></a><tt>G4TrackLogger</tt></p><p>This class is used by 
+<a href="#G4CellScorer"><tt>G4CellScorer</tt></a> to get the information if a track
+has been already seen in a cell in the current event. This
+information is needed for the "Population" score.</p></li></ul></div><p>The following class diagrams show the relations of the 
+above classes:</p><div class="itemizedlist"><ul type="disc"><li><p>
+<a href="http://dressel.home.cern.ch/dressel/biasscore/html/Score-Sampler-relations.html" target="_top">
+<i>Score-Sampler relations</i></a></p></li><li><p>
+<a href="http://dressel.home.cern.ch/dressel/biasscore/html/G4ParallelGeometrySampler.html" target="_top">
+<i>Dependencies of the G4ParallelGeometrySampler
+</i></a></p></li><li><p>
+<a href="http://dressel.home.cern.ch/dressel/biasscore/html/G4ScorerDependencies.html" target="_top">
+<i>Dependencies of the G4Scorer</i></a></p></li><li><p><a href="http://dressel.home.cern.ch/dressel/biasscore/html/G4CellScorerDependencies.html" target="_top">
+<i>Dependencies of the G4CellScorer</i></a></p></li><li><p><a href="http://dressel.home.cern.ch/dressel/biasscore/html/G4CellScorerStoreDependencies.html" target="_top">
+<i>Dependencies of the G4CellScorerStore</i></a></p></li><li><p>
+<a href="http://dressel.home.cern.ch/dressel/biasscore/html/G4ScoreConfigurator.html" target="_top">
+<i>Dependencies of the G4ScoreConfigurator
+</i></a></p></li><li><p><a href="http://dressel.home.cern.ch/dressel/biasscore/html/ScoringOverview.html" target="_top">
+<i>Scoring overview</i></a></p></li></ul></div></div></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="scoringremarks"></a>5.4. Advices for scoring</h2></div></div><div class="itemizedlist"><ul type="disc"><li><p>Don't choose a GeometryCell that has a boundaries
+coinciding with the <span class="emphasis"><em>world volume</em></span>! In the current
+implementation tracks would be killed when they move outside the
+world volume before scoring is applied.</p></li><li><p>When scoring is done in a scoring in a parallel geometry
+special action has to be taken to prevent counting of
+"collisions" with boundaries of the tracking geometry as interactions.
+This is done in the standard implementations $G4CellSCorer; and 
+<a href="#G4Scorer"><tt>G4Scorer</tt></a>.</p></li></ul></div></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="importancesampling"></a>Chapter 6. Importance sampling</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>6.1. <a href="#impintro">Introduction</a></dt><dt>6.2. <a href="#importancestore">The importance store</a></dt><dt>6.3. <a href="#importancevalues">Interpretation of importance values</a></dt><dt>6.4. <a href="#VImportanceAlgorithm">The importance sampling algorithm</a></dt><dt>6.5. <a href="#defaultalgorithm">The default importance algorithm</a></dt></dl></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="impintro"></a>6.1. Introduction</h2></div></div><p>The importance sampling acts on particles crossing boundaries
+between "importance cells". The action taken depends on the importance 
+values assigned to the cells. In general a particle history is split 
+or Russian roulette is played if the importance increases or decreases
+respectively. A weight assigned to the history is changed according to 
+the action taken.</p><p>The tools provided for importance sampling require the user 
+to have a good understanding of the physics in the problem. This is 
+because the user has to decide which particle types have to be importance
+sampled, define the
+cells and assign importance values to that cells. If this is not done 
+properly it can not be expected that the results describe a real 
+experiment.</p><p>The assignment of importance values to a cell is done using an
+importance store described in the next section. A description 
+of how to specify a customized algorithm for importance sampling
+and the default algorithm are described in the sections
+<a href="#VImportanceAlgorithm" title="6.4. The importance sampling algorithm">Section 6.4</a> and 
+<a href="#defaultalgorithm" title="6.5. The default importance algorithm">Section 6.5</a>.</p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="importancestore"></a>6.2. The importance store</h2></div></div><p>An "importance store" with the interface 
+<tt>G4VIStore</tt> is used to store importance values 
+related to cells. In order to do importance sampling the user has to 
+create an object (e.g. of class <tt>G4IStore</tt>) of type 
+<tt>G4VIStore</tt>. The samplers may be given  
+a <tt>G4VIStore</tt>. The user fills the store with cells 
+and their importance values.</p><p>A importance store has to be constructed with a reference to
+the world volume of the geometry used for importance sampling. This may 
+be the world volume of the mass or of a parallel geometry. Importance 
+stores derive from: the interface <tt>G4VIStore</tt>:</p><a name="G4VIStore"></a><pre class="programlisting">
+class  G4VIStore {
+public:
+  G4VIStore(G4VPhysicalVolume &amp;worldVolume){}
+  virtual  ~G4VIStore(){}
+  virtual G4double GetImportance(const G4GeometryCell &amp;gCell) const = 0;
+  virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const = 0;
+  virtual G4VPhysicalVolume &amp;GetWorldVolume() = 0;
+};
+	</pre><p>A concrete implementation of an importance store is provided
+by the class <tt>G4VStore</tt>. The 
+<span class="emphasis"><em>public</em></span> part of the class is:</p><pre class="programlisting">
+class G4IStore : public G4VIStore
+{
+public:  // with description
+
+  explicit G4IStore(const G4VPhysicalVolume &amp;worldvolume);
+    // initialise the importance store for the given geometry
+
+  virtual ~G4IStore();
+    // destruct
+
+  virtual G4double GetImportance(const G4GeometryCell &amp;gCell) const;
+    // derive a importance value of a "cell" addressed by a G4GeometryCell
+    // from the store.
+
+  virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const;
+    // returns true if the gCell is in the store, else false 
+
+
+  virtual const G4VPhysicalVolume &amp;GetWorldVolume() const;
+    // return a reference to the world volume of the 
+    // "importance" geometry
+
+  void AddImportanceGeometryCell(G4double importance,
+                           const G4GeometryCell &amp;gCell);
+  void AddImportanceGeometryCell(G4double importance,
+                           const G4VPhysicalVolume &amp;,
+                           G4int aRepNum = 0);
+    // Add a "cell" together with a importance value to the store.
+
+  void ChangeImportance(G4double importance,
+                        const G4GeometryCell &amp;gCell);
+  void ChangeImportance(G4double importance,
+                        const G4VPhysicalVolume &amp;,
+                        G4int aRepNum = 0);
+    // Change a importance value of a "cell".
+
+  G4double GetImportance(const G4VPhysicalVolume &amp;,
+                         G4int aRepNum = 0) const ;
+  
+...
+
+};
+</pre><p>The member function 
+<tt>AddImportanceGeometryCell</tt> adds a cell together 
+with a importance value to the importance store. The importance values 
+may be returned either according to a physical volume and a replica 
+number or according to a <tt>G4GeometryCell</tt>. The 
+user has to be aware of the interpretation 
+<a href="#importancevalues" title="6.3. Interpretation of importance values">Section 6.3</a> of assigning importance values to a 
+cell.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>An importance value has to be assigned to every
+cell.</p><p>In Geant4 the world volume has 
+	  the replica number -1.</p></div><p>A diagram showing how the importance values 
+are assigned:
+<a href="http://dressel.home.cern.ch/dressel/biasscore/html/ImportanceValuesB06.html" target="_top">
+<i>Setting importance values</i></a></p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="importancevalues"></a>6.3. Interpretation of importance values</h2></div></div><p>The different cases:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Cell is not in store</em></span></p><p>Not filling a certain cell into the store
+will cause an exception.</p></li><li><p><span class="emphasis"><em>Importance value = zero</em></span></p><p>Tracks of the chosen particle type will be
+killed.</p></li><li><p><span class="emphasis"><em>importance values &gt; 0</em></span></p><p>Normal allowed values</p></li><li><p><span class="emphasis"><em>Importance value smaller zero</em></span></p><p>Not allowed!</p></li></ul></div></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="VImportanceAlgorithm"></a>6.4. The importance sampling algorithm</h2></div></div><p>The importance sampling supports using a customized
+importance sampling algorithm. To this end the sampler interface
+<a href="#G4VSampler"><tt>G4VSampler</tt></a> may be given a pointer to the interface
+<tt>G4VImportanceAlgorithm</tt>:</p><a name="G4VImportanceAlgorithm"></a><pre class="programlisting">      
+class G4VImportanceAlgorithm
+{
+public: 
+  virtual ~G4VImportanceAlgorithm() {}
+  virtual G4Nsplit_Weight Calculate(G4double ipre,
+                                    G4double ipost,
+                                    G4double init_w) const = 0;
+};
+</pre><p>The method <tt>Calculate</tt> takes the arguments:
+</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>ipre, ipost</em></span>: are the 
+importance of the  previous cell and the importance of the current cell
+respectively.</p></li><li><p><span class="emphasis"><em>init_w</em></span>: the particles weight</p></li></ul></div><p>It returns the struct:</p><pre class="programlisting">
+struct G4Nsplit_Weight
+{
+  G4int fN;
+  G4double fW;
+};
+</pre><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>fN</em></span>: the calculated number of 
+particles to exit the importance sampling</p></li><li><p><span class="emphasis"><em>fW</em></span>: the weight of the particles
+</p></li></ul></div><p>The user may have a customized algorithm used
+by providing a class inheriting from <tt>G4VImportanceAlgorithm
+</tt></p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="defaultalgorithm"></a>6.5. The default importance algorithm</h2></div></div><p>If no customized algorithm is given to the sampler the
+default importance sampling algorithm is used. This algorithm 
+is implemented in <tt>G4ImportanceAlgorithm</tt>.</p><p>The default algorithm implements the so called expected value 
+splitting:</p><p>When crossing from cell "m" with importance
+"Im" to cell "n" with importance "In" calculate "r=In/Im". If:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>r = 1</em></span>: continue tracking</p></li><li><p><span class="emphasis"><em>r &lt; 1</em></span>: play Russian roulette 
+with probability for killing the track"pk=1-r"</p></li><li><p><span class="emphasis"><em>r &gt; 1</em></span>: split into "r" track,
+if "r" is an integer</p></li></ul></div><p>After splitting the particles will get the 
+new weight <span class="emphasis"><em>w_new = init_w * 1/r</em></span>.</p><p>Importance values may be real numbers. If "r" is not an 
+integer the algorithm for case "r &gt; 1" is:</p><p>Two values "n" for the number of particles after splitting
+are chosen with different probabilities:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>n = int(r)+1</em></span>: with probability: 
+"p = r-int(r)"</p></li><li><p><span class="emphasis"><em>n = int(r)</em></span>: with the probability:
+"1+int(r)-r"</p></li></ul></div></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="weighwindow"></a>Chapter 7. Weight window technique</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>7.1. <a href="#wwintro">Introduction</a></dt><dt>7.2. <a href="#wwconcept">Weight window concept</a></dt><dt>7.3. <a href="#wwimp">Weight window implementation</a></dt></dl></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="wwintro"></a>7.1. Introduction</h2></div></div><p> The weight window technique is a weight based alternative to 
+importance sampling:</p><div class="itemizedlist"><ul type="disc"><li><p>apply splitting and Russian roulette 
+dependent on space (cells) and energy</p></li><li><p>user defines weight windows in contrast to defining  
+importance values as in importance sampling</p></li></ul></div><p> In contrast to importance sampling this technique is not
+weight blind. Instead the technique is applied according to the particle 
+weight with respect to the current energy-space cell.</p><p>Therefore the technique is convenient to apply in combination
+with other variance reduction techniques like e.g.cross-section biasing
+and implicit capture.</p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="wwconcept"></a>7.2. Weight window concept</h2></div></div><p>A weight window can be specified for every cell and for 
+several energy regions: <span class="emphasis"><em>space-energy cell</em></span>.</p><div class="informalfigure"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td><img src="figures/wwconcept.gif" alt="Weight window concept&#xA;"></td></tr></table><div class="caption"><p>Weight window concept</p></div></div></div><p>The user specifies a <span class="emphasis"><em>lower weight bound W_L </em></span>
+for every space-energy cell.</p><div class="itemizedlist"><ul type="disc"><li><p>The upper weight bound W_U  and the survival weight W_S 
+are calculated as: </p><p>W_U = C_U   <span class="emphasis"><em>W_L</em></span></p><p>and</p><p>W_S = C_S   <span class="emphasis"><em>W_L</em></span>.</p></li><li><p>The user specifies C_S and C_U once for the whole 
+problem.</p></li><li><p>The user may give different sets of energy bounds for 
+every cell or one set for all geometrical cells </p></li><li><p>Special case: if C_S = C_U = 1 for all energies than 
+weight window is equivalent to importance sampling</p></li><li><p>The user can chose to apply the technique: on boundaries, 
+on collisions or on boundaries and collisions</p></li></ul></div></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="wwimp"></a>7.3. Weight window implementation</h2></div></div><p>The energy-space cells are realized by  
+<tt>G4GeometryCell</tt> as in importance sampling. The cells are
+stored in an weight window store defined by 
+<tt>G4VWeightWindowStore</tt>:</p><a name="G4VWeightWindowStore"></a><pre class="programlisting">
+ class  G4VWeightWindowStore {
+  public:  
+    G4VWeightWindowStore();
+    virtual  ~G4VWeightWindowStore();
+    virtual G4double GetLowerWeitgh(const G4GeometryCell &amp;gCell, 
+			          G4double partEnergy) const = 0;
+    virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const = 0;
+    virtual const G4VPhysicalVolume &amp;GetWorldVolume() const = 0;
+ };
+</pre><p>A concrete implementation is provided:</p><a name="G4WeightWindowStore"></a><pre class="programlisting">
+  class G4WeightWindowStore: public G4VWeightWindowStore {
+   public:  
+     explicit G4WeightWindowStore(const G4VPhysicalVolume &amp;worldvolume);
+     virtual ~G4WeightWindowStore();
+     virtual G4double GetLowerWeitgh(const G4GeometryCell &amp;gCell, 
+			             G4double partEnergy) const;
+     virtual G4bool IsKnown(const G4GeometryCell &amp;gCell) const;
+     virtual const G4VPhysicalVolume &amp;GetWorldVolume() const;
+     void AddLowerWeights(const G4GeometryCell &amp;gCell,
+		          const std::vector&lt;G4double&gt; &amp;lowerWeights);
+     void AddUpperEboundLowerWeightPairs(const G4GeometryCell &amp;gCell,
+				         const G4UpperEnergyToLowerWeightMap&amp;
+				         enWeMap);
+     void SetGeneralUpperEnergyBounds(const 
+         std::set&lt;G4double, std::less&lt;G4double&gt; &gt; &amp; enBounds);
+  
+   private::
+   ...  
+  };
+</pre><p>The user may chose equal energy bounds for all cells. In this 
+case a set of upper energy bounds have to be given to the store
+using the method <tt>SetGeneralUpperEnergyBounds</tt>. 
+If a general set of energy bounds have been set the 
+<tt>AddLowerWeights</tt> can be used to add the cells.</p><p>Alternative the user may chose different energy regions for
+different cells. In this case the user has to give a map of upper
+energy bounds to lower weight bounds for every cell using the method
+<tt>AddUpperEboundLowerWeightPairs</tt>.</p><p>Weight window algorithms 
+implementing the interface class 
+<tt>G4VWeightWindowAlgorithm</tt> can be used to define a
+customized algorithm:</p><a name="G4VWeightWindowAlgorithm"></a><pre class="programlisting">
+ class G4VWeightWindowAlgorithm {
+  public:  
+    G4VWeightWindowAlgorithm();
+    virtual ~G4VWeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+				      G4double lowerWeightBound) const = 0;
+ };
+</pre><p>A concrete implementation is provided and used as
+default:</p><a name="G4WeightWindowAlgorithm"></a><pre class="programlisting">
+ class G4WeightWindowAlgorithm : public G4VWeightWindowAlgorithm {
+  public:  
+    G4WeightWindowAlgorithm(G4double upperLimitFaktor = 5,
+			    G4double survivalFaktor = 3,
+			    G4int maxNumberOfSplits = 5);
+    virtual ~G4WeightWindowAlgorithm();
+    virtual G4Nsplit_Weight Calculate(G4double init_w,
+				      G4double lowerWeightBound) const;
+  private:
+   ...
+};
+</pre><p>The constructor takes three parameters for specifying the
+factors used in calculating the upper weight bound (upperLimitFaktor),
+the survival weight (survivalFaktor) and for introducing a maximal number 
+(maxNumberOfSplits) of copies to be created in one go.</p><p>The inverse of the maxNumberOfSplits is used in addition 
+to specify the minimum survival probability in case
+of Russian roulette.</p></div></div><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="weightroulette"></a>Chapter 8. Weight roulette</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt>8.1. <a href="#wintro">Introduction</a></dt><dt>8.2. <a href="#wconcept">The weight roulette concept</a></dt></dl></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="wintro"></a>8.1. Introduction</h2></div></div><p>Weight roulette (also called weight cutoff) is usually
+applied if importance sampling and implicit capture are used together.
+Implicit capture is not described here only note the following:
+Implicit capture reduces a particle weight in every
+collision instead of killing the particle with some probability.</p><p>Together with importance sampling the weight of a particle may
+become so low that it doesn't change any result significantly. So tracking
+a very low weight particle means wasting computing time. Weight roulette
+is applied in order to solve this problem.</p></div><div class="section"><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="wconcept"></a>8.2. The weight roulette concept</h2></div></div><p>Weight roulette has to take the importance "Ic" of the current
+cell and the importance "Is" of the cell the source is located in into 
+account by using the ratio "R=Is/Ic".</p><p>Weight roulette uses a relative minimal weight limit and a 
+relative survival weight. When a particle falls below the weight limit 
+Russian roulette is plaid. If the particle survives tracking will be 
+continued and the particle weight will be set to the survival 
+weight.</p><p>The weight roulette uses the following parameters
+with  their default values:</p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>wsurvival</em></span>: 0.5</p></li><li><p><span class="emphasis"><em>wlimit</em></span>: 0.25</p></li><li><p><span class="emphasis"><em>isource</em></span>: 1</p></li></ul></div><p>The following algorithm is applied:</p><p>If a particle weight "w" is lower than R*wlimit:</p><div class="itemizedlist"><ul type="disc"><li><p>the weight of the particle will be changed to 
+"ws = wsurvival*R"</p></li><li><p>the probability for the particle to survive is 
+"p = w/ws"</p></li></ul></div></div></div></div></body></html>
Index: trunk/Documentation/geant4/collaboration/working_groups/geometry/index.shtml
===================================================================
--- trunk/Documentation/geant4/collaboration/working_groups/geometry/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/collaboration/working_groups/geometry/index.shtml	(revision 901)
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <title>Geant4 Geometry working group</title>
+  <link rel="stylesheet" type="text/css" href="../../../includes/geantstyle.css">
+</head>
+<body>
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+<tr>
+<td id="breadcrumb"><a href="../../../index.shtml">Home</a> &gt;
+                    <a href="../../index.shtml">Collaboration</a> &gt;
+                    <a href="../../working_groups.shtml">Working Groups</a> &gt;
+                    Geometry
+</td>
+</tr>
+<tr>
+<td id="main">
+
+<p><center>
+<h1><b>Geometry & Transport Working Group</b></h1>
+</center></p>
+
+<p align="center">
+    [&nbsp;<b><u><A HREF="docs/SRD_geom.pdf">Software Requirements Document</A></u></b>&nbsp;] 
+    &nbsp;&nbsp;&nbsp;&nbsp;
+    [&nbsp;<b><u><a href="docs/URD_geom.pdf">Users Requirements Document</a></u></b>&nbsp;] 
+    &nbsp;&nbsp;&nbsp;&nbsp;
+    [&nbsp;<b><u><a href="witems.html">Planned Activities</a></u></b>&nbsp;] 
+</p>
+
+<hr>
+<i><small>
+<center>
+   The Geant4 geometry working group is responsible for the development and
+   maintenance of the geometry modeller in the Geant4 toolkit. The development
+   in the Geant4 geometry modeller spawns within the following areas:
+   geometrical shapes, navigation algorithms, detector modelling techniques
+   (volumes positioning), transportation in field and importance biasing
+   techniques.
+</center>
+   <p></p>
+   The Working Group is currently composed by:
+   <ul>
+   <li>Gabriele Cosmo, CERN (<u>coordinator</u> - management, navigation, volumes)</li>
+   <li>John Apostolakis, CERN (<u>deputy-coordinator</u> - field, navigation)</li>
+   <li>Pedro Arce Dubois, CIEMAT (navigation, volumes)</li>
+   <li>Makoto Asai, SLAC (biasing, volumes)</li>
+   <li>Vladimir Grichine, CERN (solids)</li>
+   <li>Ivana Hrivnacova, IN2P3 (g3tog4, volumes)</li>
+   <li>Tatiana Nikitina, CERN (field, solids)</li>
+   </ul>
+</small></i>
+<hr>
+
+<h2><b>Development</b></h2>
+<b>Detector Description</b>
+<ul>
+<li>GDML - Geometry Description Markup Language:
+    <a href="http://cern.ch/gdml">specifications</a><br>
+    - <i><a href="mailto:Gabriele.Cosmo@cern.ch">G.Cosmo</a></i></li>
+</ul>
+<br>
+<b>Solids</b>
+<ul>
+<li>Twisted shapes (<a href="docs/twistedtrap.pdf">PDF</a>)<br>
+    - <i><a href="mailto:Vladimir.Grichine@cern.ch">V.Grichine</a></i></li>
+<li>Using the <i>Surface-Checker</i> test (<a href="docs/surface_checker.pdf">PDF</a>)<br>
+    - <i><a href="mailto:Tatiana.Nikitina@cern.ch">T.Nikitina</a></i></li>
+<li>BREPs <a href="http://cern.ch/radoone/g4/BREPgallery.html">Gallery</a><br>
+    - <i><a href="mailto:Radovan.Chytracek@cern.ch">R.Chytracek</a>, February 2002</i></li>
+</ul>
+<br>
+<b>Cuts by detector region</b>
+<ul>
+<li>Category class diagrams:
+    <a href="docs/regions/geometry-cdiag.ps">Geometry</a>,
+    <a href="docs/regions/processes-cdiag.ps">Processes</a>,
+    <a href="docs/regions/track-cdiag.ps">Track</a>.</li>
+<li>Use cases through interaction diagrams:
+    <ol>
+    <li><a href="docs/regions/ucase1.ps">Standard initialisation</a>
+        <i>(Define region, set cuts, build physics table)</i></li>
+    <li><a href="docs/regions/ucase2.ps">Alternative initialisation</a>
+        <i>(Define production cut, add/remove region)</i></li>
+    <li><a href="docs/regions/ucase3.ps">Step computation and tracking</a>
+        <i>(PostStepDoIt, handling of material-cut-couples)</i></li>
+    </ol></li> 
+</ul>
+<br>
+<b>Parallel Navigation</b> <img src="http://cern.ch/geant4/images/new.gif">
+<ul>
+<li><a href="docs/parnav/parallel-navigation.html">Design description</a>.</li>
+<li>Category class diagrams:
+    <a href="docs/parnav/multinav.pdf">Multiple Navigators</a>,
+    <a href="docs/parnav/path_finder.pdf">Path Finder</a>.</li>
+<li>Use cases through interaction diagrams:
+    <ol>
+    <li><a href="docs/parnav/init_scenario.pdf">Standard initialisation</a></li>
+    <li><a href="docs/parnav/tracking_scenario.pdf">Tracking initialisation</a></li>
+    <li><a href="docs/parnav/stepping_scenario.pdf">Stepping interaction</a></li>
+    </ol></li> 
+</ul>
+<br>
+<b>Event biasing</b>
+<ul>
+<li>Latest development in importance sampling and scoring:
+    <a href="biasing/Sampling.html">documentation</a><br>
+     - <i><a href="mailto:Alexander.Howard@cern.ch">A.Howard</a></i></li>
+<li>Scoring and geometrical importance sampling
+    <a href="biasing/BiasScoreUseCases.html">use cases</a><br>
+    - <i><a href="mailto:Alexander.Howard@cern.ch">A.Howard</a></i></li>
+</ul>
+<br>
+<b>Tallies</b>
+<ul>
+<li>User Requirements Document
+    (<a href="docs/URD_tallies.pdf">PDF</a>, v.0.2)<br>
+     - <i><a href="mailto:Alexander.Howard@cern.ch">A.Howard</a></i></li>
+</ul>
+
+<hr>
+
+<h2><b>LXR Code Browsing</b></h2>
+<ul>
+<li><a href="http://www-geant4.kek.jp/lxr/source/geometry/">Geometry module</a></li>
+<li><a href="http://www-geant4.kek.jp/lxr/source/processes/transportation/">Transportation module</a></li>
+</ul>
+
+<hr>
+
+<h2><b>Talks</b></h2>
+<ul>
+<li>Reference-counted touchables proposal
+    (<a href="../../../reports/talks/geometry/touchables/index.htm">HTML</a>,
+     <a href="../../../reports/talks/geometry/touchables/g4touchables.ppt">PPT</a>)<br>
+    - <i><a href="mailto:Radovan.Chytracek@cern.ch">R.Chytracek</a>, May 2001</i></li>
+<li>Importance Sampling (geometrical splitting and Russian Roulette)
+    (<a href="docs/u02.pdf">PDF</a>)<br>
+    - <i><a href="mailto:Michael.Dressel@cern.ch">M.Dressel</a>, November 2002</i></li>
+</ul>
+
+<h2><b>Recent Publications</b></h2>
+<ul>
+<li><a href="docs/geometry-chep2006.pdf">CHEP-2006 Proceedings</a>
+    (<i>May 2006</i>)</li>
+</ul>
+
+<h2><b>Tutorial</b></h2>
+<ul>
+<li><a href="training/geo_unit.pdf">School course</a> (<i>May 2005</i>)</li>
+</ul>
+
+</td>
+</tr>
+</table>
+<div id="bottom">
+<br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   28 Nov 2008
+  </p>
+  </div>
+</div>
+</body>
+</html>
Index: trunk/Documentation/geant4/collaboration/working_groups/geometry/witems.html
===================================================================
--- trunk/Documentation/geant4/collaboration/working_groups/geometry/witems.html	(revision 901)
+++ trunk/Documentation/geant4/collaboration/working_groups/geometry/witems.html	(revision 901)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<title>Geometry Working Group - work plan</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<pre> </pre>
+<center> 
+  <img src="http://cern.ch/geant4/images/g4_small.gif" alt="GEANT4" width="312" height="76"> 
+  <h1><font color="#006666">Geometry working group</font><br>
+    <br>
+    <font color="#FF00FF">Work Plan for 2009</font> </font></h1>
+    <blink><i>Version 0.1</i></blink>
+</center>
+
+<p></p>
+
+<b>NOTE: Dates assigned to items are to be considered just indicative</b>.<br>
+Items marked with <img src="http://cern.ch/geant4/images/new.gif"> refer to
+  new developments.<br>
+Items marked with <img src="http://cern.ch/geant4/images/dot-red.gif"> will
+  involve new man-power or contribution from external sources interested in
+  the project.<br>
+Items marked with <img src="http://cern.ch/geant4/images/dot-green.gif"> will
+  require coordination with more than one Working Group.
+
+<ol>
+<li><b>Navigation & optimisation</b>:
+    <ul>
+    <li>Usage of safety on exiting surfaces in navigator</li>
+    <li>Implementation of precise ComputeSafety() in navigation for EM use</li>
+    <li>Interoperability of multiple navigators/geometries
+        <img src="http://cern.ch/geant4/images/dot-green.gif"></li>
+    <li>Improvement in verbosity and control at step number in navigation</li>
+    <li>Study adoption of direction in replica navigation</li>
+    </ul>
+<li><b>Robustness checking & performance tuning</b>:
+    <ul>
+    <li>Review response precision of solids on points close to surface
+        and normals. Verify accuracy of 2<sup>nd</sup> order equations</li>
+    <li>Focus on tests for solids on complex cases
+        <img src="http://cern.ch/geant4/images/dot-red.gif"></li>
+    <li>Analysis of challenging test cases for Boolean solids
+        <img src="http://cern.ch/geant4/images/dot-red.gif"></li>
+    </ul>
+<li><b>General code review and improvements</b>:
+    <ul>
+    <li>Continue code review for selected CSG shapes
+        <img src="http://cern.ch/geant4/images/dot-green.gif"></li>
+    <li>Extension of <tt>G4Region</tt> to local magnetic fields
+        <img src="http://cern.ch/geant4/images/new.gif"></li>
+    <li>Prototype new interface for field accuracy settings
+        <img src="http://cern.ch/geant4/images/new.gif"></li>
+    <li>Code review of field intersection locator classes</li>
+    </ul></li>
+<li><b>New features</b>:
+    <ul>
+    <li>First prototype of BREPS solids by surface extrusion and rotation
+        <img src="http://cern.ch/geant4/images/new.gif">
+        <img src="http://cern.ch/geant4/images/dot-red.gif"></li>
+    </ul></li>
+<li><b>Detector description persistency</b>:
+    <ul>
+    <li>Customised GDML writer for schema extensions</li>
+    </ul></li>
+</ol>
+
+<ul>
+<li><b>Routine activities</b>
+    <ul>
+    <li>Extend testing suite for solids (CSG/specific/Boolean/BREPS)</li>
+    <li>Review of user documentation and publication of a paper on a
+        refereed journal</li>
+    </ul></li>
+</ul>
+
+<hr>
+<p></p>
+
+<b>
+<a href="wpitems.html">Major items above prioritized and with description</a><br>
+<a href="witems-future.html">Items for 2010 & beyond</a><br>
+</b>
+
+<p></p>
+<hr>
+
+<h3>Previous years planned activities</h3>
+<p></p>
+<a href="witems-2001.html">2001</a> <b>|</b>
+<a href="witems-2002.html">2002</a> <b>|</b>
+<a href="witems-2003.html">2003</a> <b>|</b>
+<a href="witems-2004.html">2004</a> <b>|</b>
+<a href="witems-2005.html">2005</a> <b>|</b>
+<a href="witems-2006.html">2006</a> <b>|</b>
+<a href="witems-2007.html">2007</a> <b>|</b>
+<a href="witems-2008.html">2007</a>
+<p></p>
+
+<hr>
+
+<p>
+<i>Created: 28 November 2008<br>
+   Modified: 28 November 2008</i>, 
+   <a href="http://consult.cern.ch/xwho/people/20341"><i>GC</i></a>
+</p>
+</body>
+</html>
Index: trunk/Documentation/geant4/gallery/index.html
===================================================================
--- trunk/Documentation/geant4/gallery/index.html	(revision 901)
+++ trunk/Documentation/geant4/gallery/index.html	(revision 901)
@@ -0,0 +1,250 @@
+<html>
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html">
+<title>Geant4 Picture Gallery</title>
+<link rel="shortcut icon" href="http://cern.ch/geant4/images/g4.gif">
+</head>
+
+<body>
+<pre>&nbsp;</pre>
+
+<center>
+<img SRC="http://cern.ch/geant4/images/g4_small.gif" ALT="GEANT4" height=76 width=312>
+<h1>Picture Gallery</h1>
+<i>Click on the picture to get its full-size version</i>
+</center>
+
+<pre>&nbsp;</pre>
+
+<table border="1" width="100%">
+  <tbody>
+  <tr>
+    <td width=420 align="left"><img src="TTpictures_files/CoverHalf.jpg" border="0" height="278" width="369"></td>
+    <td align="left" valign="top"><font face="Arial Narrow">Cover page of the
+      June 2002 CERN Courier:<br>
+      The top image shows an Artist's impression of the BepiColombo spacecraft
+      arrriving at the planet Mercury.
+      <p>
+      <i>ESA, European Space Agency</i>
+      <p>
+      The central image shows the geometry of the CMS detector in preparation
+      for CERN's Large Hadron Collider visualized with the Iguana system.
+      <p>
+      <i>The CMS Collaboration</i>
+      <p>
+      The bottom image is a cancer brachytherapy applicator together with the
+      dose distribution in human tissue.</font>
+      <p>
+      <i>National Institute for Cancer Research, Genova & INFN Genova</i></td>
+  </tr>
+  <tr>
+    <td><img src="TTpictures_files/AtlasHalf.jpg" border="0" height="270" width="383"></td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+     The ATLAS collaboration is using Geant4 to simulate its detector and
+     its test beams.   A large collections of comparison of test beam data
+     with Geant4 have been undertaken.  This picture shows a view of the
+     ATLAS detector's outer muon chambers.
+     <p>
+     <i>The ATLAS Collaboration</i>
+     </font>
+    </td>
+  </tr>
+  <tr>
+     <td><a href="http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/simulation/geant4/photoalbum.html"
+     target="ext"><img src="Atlas-more.png" border="0" height="211" width="314"></a></td>
+     <td align="left" valign="top"><font face="Arial Narrow">
+     <a href="http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/simulation/geant4/photoalbum.html"
+     target="ext">More pictures</a> of the ATLAS experiment
+     for CERN's forthcoming LHC (links to pages of the ATLAS web site).
+     <p>
+     <i>The ATLAS Collaboration</i>
+     </font>
+    </td>
+  </tr>
+  <tr>
+     <td><a href="fullsize/LXeOpticalPhotonExample.jpg" target="ext"><img
+     src="fullsize/LXeOpticalPhotonExample.jpg"  border="0" height="270" width="360"></a></td>
+     </td>
+     <td align="left" valign="top"><font face="Arial Narrow">
+     Optical photons in Geant4
+     <p>
+     <i>T.MacPhail, P.Gumplinger (TRIUMF)</i>
+     </font> 
+    </td>
+  </tr>
+  <tr>
+    <td><img src="TTpictures_files/ApplicatorHalf.gif" border="0" height="271" width="241"></td>
+    <td align="left" valign="top"><font face="Arial Narrow">A superficial
+      brachytherapy device and the resulting dose distribution, simulated with
+      Geant4 and analysed with CERN's Anaphe analysis tool.
+      <p>
+      <i>National Institute for Cancer Research, Genova & INFN Genova</i>
+      </font>
+     </td>
+  </tr>
+  <tr>
+    <td><img src="TTpictures_files/XMMsmall.jpg" border="0" height="306" width="413"></td>
+    <td align="left" valign="top"><font face="Arial Narrow">Two
+      years in orbit and over 1200 observations so far, XMM-Newton is now
+      preparing a second round of observations. An assembly of 51 mirrors,
+      carefully sized, formed and nested one inside another, makes XMM the most
+      sensitive X-ray telescope ever built.&nbsp; ESA's XMM-Newton derives its
+      name from its X-ray multi-mirror design and honours Sir Isaac Newton. This
+      unique X-ray observatory was launched by Ariane 5 from the European
+      spaceport in French Guiana on 10 December 1999.
+      <p>
+      <i>Photo: ESA-Ducros</i>
+      </font>
+     </td>
+  </tr>
+  <tr>
+    <td>
+     <a href="fullsize/ZepIII_general.gif" target="ext"><img
+         src="fullsize/ZepIII_general.gif" border="0" height="260" width="260">
+     <a href="fullsize/ZepIII_hits.jpg" target="ext"><img
+         src="fullsize/ZepIII_hits.jpg" border="0" height="140" width="140">
+    </td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+       ZEPLIN III (picture on the left) is a two-phase xenon experiment being built by the UK Dark 
+       Matter Collaboration which will try to detect dark matter WIMPs from 
+       their elastic scattering in a liquid xenon target. ZEPLIN III will 
+       measure both the scintillation and ionisation signals produced by nuclear 
+       recoils potentially caused by WIMPs. The Geant4  model simulates 
+       particle interactions in the detector, prompt scintillation as well 
+       as the production and emission of ionisation charge at the surface 
+       of the liquid by means of an applied electric field. In the gaseous xenon
+       above the liquid, this charge is converted into electroluminescence photons
+       which are tracked and detected by an array of photomultiplier tubes
+       (picture on the right).
+       <p>
+       <i>H.Araujo (Imperial College London & UK Dark Matter Collaboration)</i>
+       </font>
+    </td> 
+  </tr>
+  <tr>
+    <td>
+    <a href="fullsize/LISASpacecraft.jpg" target="ext"><img
+        src="fullsize/LISASpacecraft.jpg" border="0" height="400" width="400"></a>
+    </td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+      Geant4 geometry model of a LISA Science Module spacecraft (picture on the
+      left) used for test-mass charging simulations. LISA is a joint ESA/NASA
+      mission (launch in 2013) designed to detect gravitational waves by means of
+      interferometric measurements in space. These are performed between
+      three spacecraft flying 5 million km apart in a triangular constellation.
+      Exposed to energetic particles in the space environment, the isolated 
+      test masses aboard the LISA spacecraft will accumulate electrostatic 
+      charge, which can affect the sensitivity to gravitational waves.
+      <p>
+      <i>H.Araujo, P.Wass (Imperial College London)<br>
+         Work supported by the European Space Agency (ESA)<br>
+         through the SEPTIMESS project under Contract No.16339/02/NL/FM</i>
+      </font>
+    </td>
+  </tr>
+  <tr>
+    <td>
+     <a href="fullsize/LISAEvent.jpg" target="ext"><img
+         src="fullsize/LISAEvent.jpg" border="0"  height="255" width="255"></a>
+    <a href="fullsize/LISAInertialSensor.jpg" target="ext"><img
+        src="smallsize/LISAInertialSensor.jpg" border="0" height="255" width="160"></a>    
+    </td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+      Picture on the left:<br> 
+      Simulation of the nuclear reaction of a cosmic-ray proton in one 
+      of the LISA inertial sensors. These events can lead to a large number of 
+      charged particles being ejected from, or imparted into the test masses.
+      <p>
+      Picture on the right:<br> 
+      Geant4 geometry model of the inertial sensors which may be used in 
+      LISA (see above) and its demonstrator mission LISA Pathfinder (see below).
+      The simulations tally the charge entering and leaving each test mass (yellow)
+      as a result of the interaction of energetic cosmic rays with the spacecraft.
+      <p>
+      <i>H.Araujo, P.Wass (Imperial College London)<br>
+         Work supported by the European Space Agency (ESA)<br>
+         through the SEPTIMESS project under Contract No.16339/02/NL/FM</i>
+      </font>
+    </td>
+  </tr>
+  <tr>
+    <td>
+     <a href="fullsize/Pathfinder.jpg" target="ext"><img
+         src="fullsize/Pathfinder.jpg" border="0" height="205" width="205"></a>
+     <a href="fullsize/LTP.jpg" target="ext"><img
+         src="fullsize/LTP.jpg" border="0" height="205" width="205"></a>
+    </td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+      Picture on the left:<br> 
+      Geant4 geometry of the LISA Pathfinder spacecraft. The Pathfinder is
+      an ESA mission (launch in 2008) aimed at demonstrating key technologies
+      required for the success of LISA. The model was used to simulate 
+      test-mass charging in the inertial sensors of the LISA Technology Package 
+      (LTP).
+      <p>
+      Picture on the right:<br> 
+      Model of the LISA Technology Package payload; each vessel contains one 
+      inertial sensor similar to the one shown previously.
+      <p>
+      <i>P.Wass and H.Araujo (Imperial College London)<br>
+         Work supported by the European Space Agency (ESA)<br>
+         through the SEPTIMESS project under Contract No.16339/02/NL/FM</i>
+      </font>
+    </td>
+  </tr>
+  <tr>
+    <td>
+     <a href="fullsize/Baksan-1.jpg" target="ext"><img
+         src="fullsize/Baksan-1.jpg" border="0" height="205" width="205"></a>
+     <a href="fullsize/Baksan-2.jpg" target="ext"><img
+         src="fullsize/Baksan-2.jpg" border="0" height="205" width="205"></a>    
+    </td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+      Using Geant4 to simulate the response 
+      of Baksan Underground Scintillation Telescope (BUST) for both 
+      single cosmic ray muons and their bundles. The goal of this 
+      calculations is to check a technique for Very High Energy (VHE)
+      (100 TeV) muons selection and to compare results with
+      experimental data. Excess of VHE muons can be the evidence for 
+      new physics existence at PeV energies (that corresponds to TeV 
+      energies in the center-of-mass system).
+      <p>
+      <i>V.N. Bakatanov et al. "Study of very high energy 
+         muons on the basis of data of the Baksan Underground 
+         Scintillation Telescope"<br>
+         26<sup>th</sup> Russian Cosmic Ray Conference</i>
+      </font>
+    </td>
+  </tr>
+</tbody>
+<table>
+
+<hr width=100%>
+
+<p>&nbsp;</p>
+
+<table border="1" width="100%">
+  <tbody>
+  <tr>
+    <td><a href="fullsize/geant4-poster.pdf" target="ext"><img src="smallsize/geant4-poster.jpg">
+    </td>
+    <td align="left" valign="top"><font face="Arial Narrow">
+      Poster prepared by CERN technology transfer for Geant4.
+      <p>
+      <i>CERN, Geneva</i>
+      </font>
+    </td>
+  </tr>
+  </tbody>
+</table>
+
+<p>
+<hr WIDTH="100%">
+<br>
+
+<i>Thursday, 9 June 2005,
+   <a href="http://consult.cern.ch/xwho/people/1342">GF</a>
+</i>
+</body>
+</html>
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/A01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/A01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/A01/README/index.html	(revision 901)
@@ -0,0 +1,219 @@
+$Id: README,v 1.9 2005/06/01 18:10:15 duns Exp $
+
+    =========================================================
+    Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+    =========================================================
+
+                       Extended Example A01
+                       -------------------- 
+
+  Example A01 implements a double-arm spectrometer with wire chambers, 
+  hodoscopes and calorimeters.  Event simulation and collection are 
+  enabled, as well as event display and analysis.  This example is
+  extensively documented on the Geant4 Workshop Tutorial CD available at:
+  http://geant4.slac.stanford.edu/g4cd/Welcome.html
+
+
+  1. GEOMETRY
+
+     The spectrometer consists of two detector arms.  One arm provides 
+     position and timing information of the incident particle while the 
+     other collects position, timing and energy information of the particle
+     after it has been deflected by a magnetic field centered at the 
+     spectrometer pivot point.
+ 
+       - First arm:  box filled with air, also containing:
+
+           1 hodoscope (15 vertical strips of plastic scintillator)
+           1 drift chamber (5 horizontal argon gas layers with a 
+                            "virtual wire" at the center of each layer)
+
+       - Magnetic field region: air-filled cylinder which contains
+                                the field
+
+       - Second arm:  box filled with air, also containing:
+
+           1 hodoscope (25 vertical strips of plastic scintillator)
+           1 drift chamber (5 horizontal argon gas layers with a 
+                            "virtual wire" at the center of each layer)
+           1 electromagnetic calorimeter: 
+                 a box sub-divided along x,y and z
+                 axes into cells of CsI 
+           1 hadronic calorimeter: 
+                 a box sub-divided along x,y, and z axes
+                 into cells of lead, with a layer of 
+                 plastic scintillator placed at the center 
+                 of each cell
+
+
+  2. PHYSICS
+
+     This example uses the following physics processes:
+
+       - electromagnetic:
+           photo-electric effect
+           Compton scattering
+           pair production
+           bremsstrahlung
+           ionization
+           multiple scattering
+           annihilation
+
+       - decay
+
+       - transportation in a field
+
+     and defines the following particles:
+        geantino, charged geantino, gamma, all leptons, 
+        pions, charged kaons
+
+     Note that even though hadrons are defined, no hadronic processes 
+     are invoked in this example.
+
+
+
+
+  3. EVENT:
+
+     An event consists of the generation of a single particle which is 
+     transported through the first spectrometer arm.  Here, a scintillator 
+     hodoscope records the reference time of the particle before it passes
+     through a drift chamber where the particle position is measured. 
+     Momentum analysis is performed as the particle passes through a magnetic
+     field at the spectrometer pivot and then into the second spectrometer 
+     arm.  In the second arm, the particle passes through another hodoscope
+     and drift chamber before interacting in the electromagnetic calorimeter.
+     Here it is likely that particles will induce electromagnetic showers.  
+     The shower energy is recorded in a three-dimensional array of CsI 
+     crystals.  Secondary particles from the shower, as well as primary 
+     particles which do not interact in the CsI crystals, pass into the 
+     hadronic calorimeter.  Here, the remaining energy is collected in a 
+     three-dimensional array of scintillator-lead sandwiches.
+
+     Several aspects of the event may be changed interactively by the user:
+
+       - initial particle type
+       - initial momentum and angle
+       - momentum and angle spreads
+       - type of initial particle may be randomized
+       - strength of magnetic field
+       - angle of the second spectrometer arm
+
+
+  4. DETECTOR RESPONSE:
+
+     All the information required to simulate and analyze an event is 
+     recorded in HITS.  This information is recorded in the following 
+     sensitive detectors:
+
+       - hodoscope: 
+           particle time
+           particle position
+           strip ID
+
+       - drift chamber: 
+           particle time
+           particle position
+           layer ID
+ 
+       - electromagnetic calorimeter: 
+           particle position 
+           energy deposited in cell
+           cell ID
+  
+       - hadronic calorimeter:   
+           particle position 
+           energy deposited in cell
+           cell ID
+
+
+  5. VISUALIZATION:
+  
+     Simulated events can be displayed on top of a representation of 
+     the spectrometer.
+
+     vis.mac outputs HepRep version 1 files suitable for viewing in WIRED.
+     Change the /vis/open line from HepRepFile to DAWNFILE to instead
+     make .prim files suitable for viewing in DAWN.
+
+     heprep2-000-gz.mac outputs a series of gzipped HepRep version 2 files
+     each containing a single event, suitable for viewing in WIRED (there
+     is no need to ungzip them since WIRED can do this itself).
+
+     heprep2zip.mac outputs a single zip file that unzips to a series of
+     HepRep version 2 files, each each containing a single event (unzip
+     the single file by hand, then view the resulting individial HepRep
+     files in WIRED 3).
+
+     heprep2-000-zip.mac outputs a series of zipped HepRep version 2 files
+     each containing a single event (not yet viewable in WIRED unless you
+     explicitly unzip them before viewing).
+
+     heprep2.mac outputs a HepRep version 2 file with multiple events
+     appended to a single file in an experimental manner (not yet viewable
+     in WIRED).
+
+     heprep2gz.mac outputs a HepRep version 2 file with multiple events
+     appended to a single file in an experimental manner (not yet viewable
+     in WIRED).
+
+     Any of the heprep mac files above with the name bheprep (for instance
+     bheprep2zip.mac) will write a Binary HepRep version 2 file, readable 
+     by WIRED 4.
+     
+     WIRED 4 can read Binary HepRep and XML HepRep version 2 files without 
+     the need for manual unzipping.
+
+     For more information on visualization with this A01 example,
+     see the visualization tutorials on the Geant4 Workshop Tutorial CD
+     available at:
+     http://geant4.slac.stanford.edu/g4cd/Welcome.html
+
+  6. ANALYSIS:
+
+     This example implements an AIDA-compliant analysis system which
+     creates histograms, ntuples and plotters.  At the completion of a 
+     simulation run a file A01.aida is produced which contains these
+     data structures.  This file can be used as an input to the Java
+     Analysis Studio (JAS) which allows the histograms and ntuples to 
+     examined, manipulated, saved and printed.  For further details,
+     see README.JAIDA.
+
+
+  7. GETTING STARTED:
+
+     Build the A01 executable:
+
+         cd to A01
+         gmake clean
+         gmake
+
+     gmake will create tmp and bin directories in your work directory. 
+     The executable, named A01app, will be in /bin/$G4SYSTEM/
+ 
+     While in directory A01, run the executable:
+
+         ../bin/$G4SYSTEM/A01app
+
+     which will bring up the interactive prompt:
+
+         Idle>
+
+     To run 10 events you can now enter:
+
+         /run/beamOn 10
+
+     If all goes well, a JAS window will appear containing two histograms 
+     and three scatterplots.
+
+     To terminate the job, at the prompt enter:
+
+         exit
+
+     Currently you must also close the JAS-AIDA window to get the job to stop.
+
+
+     In the A01 directory will be a file A01.aida which contains the plots. 
+     To examine them
+
+         /usr/local.bin/jas3 & or jas3 & 
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/AnaEx01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/AnaEx01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/AnaEx01/README/index.html	(revision 901)
@@ -0,0 +1,112 @@
+$Id: README,v 1.15 2006/08/16 15:42:16 gcosmo Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            AnaEx01
+                            -------
+
+  This example shows the usage of histogram and tuple manipulations using 
+ an AIDA compliant system. In this example, all analysis manipulations 
+ (hooking an AIDA implementation, histo booking, filling, etc...) are 
+ concentrated in one class : AnaEx01AnalysisManager.
+
+  To use an AIDA compliant analysis system with this example, the environment 
+ variables :
+    G4ANALYSIS_USE
+    G4ANALYSIS_AIDA_CONFIG_CFLAGS
+    G4ANALYSIS_AIDA_CONFIG_LIBS
+ must be properly set.
+
+  The first one permits to validate/devalidate the AIDA analysis code
+ in the example code. The two others permit to give the compilation 
+ and link flags of the AIDA compliant system used.
+
+  The variable G4ANALYSIS_USE must be defined in the environment, and the
+ the system properly configured to use one of the AIDA compliant analysis
+ tools (i.e. path set to retrieve the 'aida-config' command).
+
+ Working with the OpenScientist/Lab package :
+ ------------------------------------------
+  To reconstruct this example by using the OpenScientist/Lab 
+ package (assuming that OpenScientist is installed ! ) you have
+ first to "setup" the environment of the Lab package and Geant4.
+ The Lab package (and all OpenScientist packages) being handled 
+ by the CMT tools, you may have to setup the environment
+ variable "CMTSITE" to execute site specific things in the chain
+ of setup files of the OpenScientist packages. Then for example at CERN :
+   csh> setenv CMTSITE CERN
+  (DOS> set CMTSITE=CERN_WIN32   (for Windows))
+ When done then do :
+   csh> source <some directory>/Lab/<version>/cmt/setup.csh
+   csh> source <your Geant4 setup script>.csh
+   csh> setenv G4ANALYSIS_USE 1
+   csh> cd $G4INSTALL/examples/extended/analysis/AnaEx01
+   csh> gmake
+
+ To run :
+   csh> cd analyis/Lab
+   csh> $G4WORKDIR/bin/$G4SYSTEM/AnaEx01
+
+  It must produce an AnaEx01.aida file that contains some histograms 
+ and a tuple.
+
+  To plot some histograms, spawn the Lab interactive tool with :
+   csh> onx
+  (DOS> onx     (for Windows))
+ click in 'File/Open AIDA file...' to map a file chooser, 
+ then choose AnaEx01.aida. The file name should appear in the left
+ tree widget beside the plotting area. Use the tree widget to browse
+ the file. You can visualize histos by selecting them with the mouse.
+
+  If the OpenScientist/OnX and Lab Python drivers had been
+ reconstructed at installation of OpenScientist, then 
+ you can also work with the OpenScientist/Lab/AIDA Python API. 
+ You can execute AnaEx01.py by doing :
+    OS> python AnaEx01.py
+ or : 
+    OS> python
+   (>>> import AIDA)
+    >>> import AnaEx01
+  The AnaEx01 file contains a Python script that
+ does some analysis over the AnaEx01.aida file by using the AIDA interfaces.
+ This script gets an histo (EAbs) and  plots it in a first drawing region.
+ Then it gets the 'AnaEx01' tuple, books and fills another histo
+ from the tuple colum 'EAbs' and plots it a secon drawing region.
+
+  If exporting a AnaEx01.root file (see src/AnaEx01AnalysisManager.cc),
+ the AnaEx01.C file could also be used, within the ROOT tool. 
+ To see a projection of the first column of the tuple contained
+ in the AnaEx01.root file. For example :
+     csh> root
+     root[0] .X AnaEx01.C
+
+  The OpenScientist URL is : http://OpenScientist.lal.in2p3.fr.
+ OpenScientist is installed at CERN under /afs/cern.ch/sw/contrib.
+
+ Working with the Falsetto package :
+ ---------------------------------
+  Falsetto is a little package containing a dummy 
+ AIDA analysis factory. It permits to check compilation
+ and link of some user AIDA code without embarquing a 
+ full analysis system.
+
+  To reconstruct this example by using the Falsetto
+ package (assuming that it is installed !), do :
+   csh> source <your Geant4 setup script>.csh
+   csh> source <some directory>/Falsetto/<version>/cmt/setup.csh
+   csh> setenv G4ANALYSIS_USE 1
+   csh> cd $G4INSTALL/examples/extended/analysis/AnaEx01
+   csh> gmake
+
+ To run :
+   csh> cd analyis/Falsetto
+   csh> $G4WORKDIR/bin/$G4SYSTEM/AnaEx01
+ At the beginning of output ;should appear :
+   AIDA analysis factory not found.
+
+ The Falsetto URL is : http://www.lal.in2p3.fr/SI/Falsetto
+ Falsetto is installed at CERN under /afs/cern.ch/sw/contrib.
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/N03Con/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/N03Con/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/analysis/N03Con/README/index.html	(revision 901)
@@ -0,0 +1,88 @@
+
+Example of Convergence Tester 
+
+          Koi, Tatsumi
+          SLAC / SCCS
+          tkoi@slac.stanford.eedu
+
+This example shows how to use convergece tester in Geant4.
+The aim of Convergence Tester
+After a Monte Carlo simulation, we get an answer. However how to estimate quality of the answer.
+    What we must remember is
+	Large number of history does not valid result of simulation.
+	Small Relative Error does not valid result of simulation
+To provide statistical information to assist establishing valid confidence intervals for Monte Carlo results for users.
+
+Geometry and Physics are same to exampleN03. Please see README.N03
+
+***********************************************************************************************************************
+Output example
+
+// Part I.A
+// Basic statistics values 
+
+EFFICIENCY = 0.99438477
+MEAN = 78.477718
+VAR = 225.50178
+SD = 15.016717
+R = 0.0029898448
+SHIFT = -13.902917
+VOV = 0.0019924127
+FOM = 909.19362
+
+// Part I.B
+// If the largeset scored events happen at next to the last event, 
+// then how much the event effects the statistics values of the calculation
+
+THE LARGEST SCORE = 117.3797 and it happend at 510th event
+Affected Mean = 78.487213 and its ratio to orignal is 1.000121
+Affected VAR = 225.81611 and its ratio to orignal is 1.0013939
+Affected R = 0.0029912008 and its ratio to orignal is 1.0004535
+Affected SHIFT = -13.862598 and its ratio to orignal is 0.99709995
+Affected FOM = 908.89814 and its ratio to orignal is 0.99967501
+
+// Part I.C
+// Convergence tests results
+
+MEAN distribution is not RANDOM
+r follows 1/sqrt(N)
+r is monotonically decrease 1
+r is less than 0.1. r = 0.0029898448
+VOV follows 1/sqrt(N)
+VOV is monotonically decrease 1
+FOM distribution is RANDOM
+SLOPE is large enough
+This result passes 7 / 8 Convergence Test.
+
+// Part II
+// Profile of statistics values in the history 
+
+i/16 till_ith  mean  var  sd  r  vov  fom  shift  e  r2eff  r2int
+1 255 76.935633 252.45045 15.888689 0.012907453 0.038596366 787.70557 -17.661167 0.984375 6.2003968e-05 0.00010394759
+2 511 77.389232 257.4632 16.04566 0.0091630923 0.017298474 773.88648 -16.441348 0.98632812 2.707302e-05 5.6725251e-05
+3 767 77.665817 248.62651 15.767895 0.0073259372 0.012144321 826.64625 -16.585523 0.98828125 1.5439723e-05 3.8159751e-05
+4 1023 77.969112 245.54395 15.669842 0.0062804686 0.0086792682 841.98653 -16.027547 0.99023438 9.6307939e-06 2.9774973e-05
+5 1279 78.061919 228.9236 15.130221 0.0054175269 0.0067481801 897.34046 -14.687306 0.9921875 6.1515748e-06 2.3175093e-05
+6 1535 77.870133 231.84589 15.226486 0.004989226 0.0054405699 879.44272 -14.43874 0.99283854 4.6960383e-06 2.0180132e-05
+7 1791 78.045703 224.72573 14.990855 0.004537414 0.0046643478 908.22153 -14.045519 0.99386161 3.446599e-06 1.7130038e-05
+8 2047 78.107287 226.09338 15.036402 0.0042539011 0.0041397452 902.08658 -14.202387 0.99365234 3.1192414e-06 1.4967598e-05
+9 2303 78.129941 222.08125 14.902391 0.0039737195 0.0036662056 916.62223 -13.945849 0.99392361 2.6534449e-06 1.3130148e-05
+10 2559 78.225505 223.59764 14.953181 0.0037780287 0.0032772248 910.22344 -13.934949 0.99414062 2.3023084e-06 1.1965617e-05
+11 2815 78.250797 222.51845 14.917052 0.003592344 0.0029353727 915.19704 -13.768958 0.99431818 2.0292208e-06 1.0871132e-05
+12 3071 78.377339 220.83103 14.860385 0.0034208098 0.002628038 928.36413 -13.3624 0.99479167 1.7042976e-06 9.9938329e-06
+13 3327 78.364284 221.49591 14.882739 0.0032921001 0.0024634602 923.51719 -13.660307 0.99489183 1.5427886e-06 9.2918778e-06
+14 3583 78.464175 220.63749 14.853871 0.0031621629 0.0022668889 928.57248 -13.539324 0.99497768 1.4083908e-06 8.5880937e-06
+15 3839 78.420541 224.71581 14.990524 0.0030847599 0.002080651 911.9934 -13.68267 0.99479167 1.363438e-06 8.1498278e-06
+16 4095 78.477718 225.50178 15.016717 0.0029898448 0.0019924127 909.4893 -13.902917 0.99438477 1.3786483e-06 7.5583414e-06
+
+
+**************************************************************************************************************************
+
+Reference of this Convergence tests
+MCNP(TM) -A General Monte Carlo N-Particle Transport Code
+Version 4B
+Judith F. Briesmeister, Editor
+LA-12625-M, Issued: March 1997, UC 705 and UC 700
+CHAPTER 2. GEOMETRY, DATA, PHYSICS, AND MATHEMATICS
+       VI. ESTIMATION OF THE MONTE CARLO PRECISION
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/biasing/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/biasing/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/biasing/README/index.html	(revision 901)
@@ -0,0 +1,150 @@
+
+                        Examples for event biasing
+                        --------------------------
+
+This directory includes example applications to demonstrate the usage of
+different variance reduction techniques supported in Geant4, or possible 
+from the user applications.
+
+
+General remark to variance reduction
+------------------------------------
+The tools provided for importance sampling (or geometrical splitting and
+Russian roulette) and for the weight window technique require the user to 
+have a good understanding of the physics in the problem. This is because 
+the user has to decide which particle types have to be biased, define the 
+cells (physical volumes, replicas) and assign importances or weight 
+windows to that cells. If this is not done properly it can not be 
+expected that the results describe a real experiment. The examples given 
+here only demonstrate how to use the tools technically. They don't intend 
+to produce physical correct results.
+
+General remark to scoring
+-------------------------
+A interface G4VScorer is provided for the user. The user may create his 
+own class to perform the desired scoring. The user defined class 
+therefore should inherit from the interface G4VScorer. 
+An example of an implementation of a scorer is G4Scorer
+which may be found in source/event. 
+The scoring in these examples is done with a G4Scorer.
+The variance reduction techniques and scoring do not support all options
+of the Geant4 geometry. It only supports physical volumes and simple 
+replicas.
+To identify a physical volume (or replica) objects of the class
+G4GeometryCell are used. Scoring is done according to these
+cells and importance values or the weight windows  may be assigned to 
+them.
+When scoring is done in a parallel geometry special action has to be taken
+to prevent counting of "collisions" with boundaries of the mass geometry 
+as interactions. This is differently handled when scoring is done in the 
+mass geometry.
+
+--> G4GeometryCell of the parallel geometry must not share boundaries with
+the world volume! <--
+
+Known problems
+--------------
+In the following scenario it can happen that a particle is not
+biased and it's weight is therefore not changed even if it crosses
+a boundary where biasing should happen.
+Importance and weight window sampling create particles on boundaries 
+between volumes. If the GPIL method of a physical process returns 
+0 as step length for a particle on a boundary and if the PostStepDoIt of
+that process changes the direction of the particle to go back in the 
+former volume the biasing won't be invoked. 
+This will produce particles with weights that do not correspondent to the
+importance of the current volumes.
+
+Further information:
+--------------------
+Short description of importance sampling and scoring:
+http://cern.ch/geant4/working_groups/geometry/biasing/Sampling.html
+
+Example B01
+===========
+
+The example uses importance sampling or the weight window technique 
+according to an input parameter. It uses scoring in both cases. 
+Importance values or weight windows are defined according to the mass 
+geometry. In this example the weight window technique is configured such 
+that it behaves equivalent to importance sampling: The window is actually 
+not a window but simply the inverse of the importance value and only
+one energy region is used that covers all energies in the problem.
+The user may change the weight window configuration by changing the
+initialization of the weight window algorithm in example,cc. 
+Different energy bounds for the weight window technique may be specified 
+in B01DetectorConstruction.
+
+The executable takes one optional argument: 0 or 1. Without argument or
+with argument: 0, the importance sampling is applied with argument: 1,
+the weight window technique is applied.
+
+
+Example B02
+===========
+
+This example uses a parallel geometry to define G4GeometryCell objects
+for scoring and importance sampling. In addition it customizes
+the scoring. In this example one scorer creates a histogram.
+
+Compiling and running
+---------------------
+Can be compiled and executed on a RedHat-7.3 system with gcc-3.2.3
+compiler and the tcsh shell.
+To compile this example you need AIDA 3.2.1 installed. To link 
+and run it you need a AIDA compliant analysis package. The
+GNUmakefile of this example shows how to use AIDA through PI as
+analysis interface.
+Histograms are saved in HBOOK format. It can be displayed with PAW or
+compatible packages.
+You need to set the following variables in your environment:
+   "G4ANALYSIS_USE"
+   "PI_BASE_DIR" (where PI has been installed)
+Finally, source the script setupPI.csh.
+
+Now you should be able to run gmake and to run exampleB02.
+
+The example stores the plot in the file b02.hbook.
+To look at the histogram using lizard you also may use PI 1.2.1
+http://cern.ch/PI.
+
+
+Example B03
+===========
+
+This example uses Geant4 and in particular importance sampling and
+scoring through python. It creates a simple histogram. It's meant
+to demonstrate how to use a customized scorer and importance sampling 
+in combination with a scripting language, python.
+Geant4 code is executed from a python session. Therefore, swig is used 
+to create python shadow classes and to generate the code necessary to 
+use the Geant4 libraries from a python session.
+It can be built and run using PI:  http://cern.ch/PI.
+At the end a histogram called "trackentering.hbook" is created and can be 
+displayed using standard packages (such as PAW).
+
+Building, compiling and running
+-------------------------------
+
+You need to set the following variables in your environment:
+   "G4ANALYSIS_USE"
+   "PI_BASE_DIR"    (where PI has been installed)
+   "SWIG_BASE_DIR"  (where SWIG 1.3.15 has been installed)
+Finally source the script setupPI.csh.
+
+You may run gmake now.
+You should be able to execute the file B03RunApplication.py from your 
+shell or from a lizard session now.
+  
+At the moment the plotting is not available using a python script, but
+it is planned in future releases. A histogram is created and later displayed
+using standard analysis packages.
+
+To clean all the added files, just type gmake clean_all.
+
+Files in B03;
+B03Application.py: Is a example class utilizing importance sampling
+   and scoring using python.
+B03RunApplication.py: Is a python script running the example. 
+   It may be executed from the shell or in a python session.
+B03App.py: Is created by swig using swig.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm0/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm0/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm0/README/index.html	(revision 901)
@@ -0,0 +1,42 @@
+$Id: README,v 1.2 2006/03/20 11:54:02 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm0
+                            -------
+
+  This program is not a simulation. It prints the cross sections and stopping
+  power used by the standard electromagnetic package, via G4EmCalculator
+  which extracts these data from the PhysicsTables.
+	
+  The program can be used in batch or interactively.	
+ 
+  - compile and link to generate an executable
+	% cd geant4/examples/extended/electromagnetic/TestEm0
+	% gmake
+ 		
+  - execute TestEm0 in 'batch' mode from macro files :
+	% TestEm0   TestEm1.in
+ 		
+  - Interactively, a typical sequence will be :
+	% TestEm0
+	....
+	Idle> /testem/det/setMat Silicon
+	Idle> /testem/phys/setCuts 100 um	
+ 	Idle> /gun/particle e-
+        Idle> /gun/energy 10 MeV
+        Idle> /run/beamOn
+	 
+  The last command triggers BuildPhysicsTable() and executes the program.
+  
+   
+                            DirectAccess
+                            ------------
+			    
+  DirectAccess is a small batch program which shows how to compute the same
+  basic data directly from the processes (indeed the models).
+  
+  To run it, change name in the first line on GNUmakefile before to compile.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm1/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm1/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm1/README/index.html	(revision 901)
@@ -0,0 +1,170 @@
+$Id: README,v 1.22 2007/11/12 15:48:58 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm1
+                            -------
+  How to count processes.
+  How to activate/inactivate processes.
+  How to survey the tracking, in perticular the range of charged particles.
+  How to define a maximum step size.
+	
+ 1 - GEOMETRY DEFINITION
+ 
+  It is a simple box which represente an 'semi infinite' homogeneous medium.
+ 	
+  Two parameters define the geometry :
+   - the material of the box,
+   - the full size of the box.
+	 	
+  In addition a transverse uniform magnetic field can be applied.
+ 	
+  The default geometry is constructed in DetectorConstruction class, but all of 
+  the above parameters can be changed interactively via the commands defined in 
+  the DetectorMessenger class.
+ 	
+ 2 - PHYSICS LIST
+ 
+  The particle list is the one of novice/exampleN03.
+  The physics list contains the 'standard' electromagnetic processes, and decay.
+ 		
+  Few commands have been added to PhysicsList, in order to set the production 
+  threshold for secondaries for gamma and e-/e+.
+ 	 
+ 3 - AN EVENT : THE PRIMARY GENERATOR
+ 
+  The primary kinematic consists of a single particle starting at the left face 
+  of the box. The type of the particle and its energy are set in the 
+  PrimaryGeneratorAction class, and can be changed via the G4 build-in commands 
+  of ParticleGun class (see the macros provided with this example).
+	
+  In addition one can choose randomly the impact point of the incident particle.
+  The corresponding interactive command is built in PrimaryGeneratorMessenger.	
+ 				
+ 4 - VISUALIZATION
+ 
+  The Visualization Manager is set in the main().
+  The initialisation of the drawing is done via the commands /vis/... in the 
+  macro vis.mac. To get visualisation:
+	> /control/execute vis.mac
+ 	
+  The detector has a default view which is a longitudinal view of the box.
+ 	
+  The tracks are drawn at the end of event, and erased at the end of run.
+  Optionaly one can choose to draw all particles, only the charged, or none. 
+  This command is defined in EventActionMessenger class.
+ 	
+ 5 - PHYSICS SURVEY
+ 
+  The particle's type and the physic processes which will be available in this 
+  example are set in PhysicsList class.
+ 	
+  A set of macros defining various run conditions are provided. The processes 
+  are actived/inactived together with differents cuts, in order to survey the 
+  processes one by one.
+
+  The number of produced secondaries are counted, the number of steps, and the 
+  number of process calls responsible of the step.
+ 	
+ 6 - HOW TO START ?
+ 
+  - compile and link to generate an executable
+	% cd geant4/examples/extended/electromagnetic/TestEm1
+	% gmake
+ 		
+  - execute TestEm1 in 'batch' mode from macro files
+	% TestEm1   run10.mac
+ 		
+  - execute TestEm1 in 'interactive mode' with visualization
+	% TestEm1
+	....
+	Idle> type your commands
+	....
+	Idle> exit
+		
+ 7 - TRACKING : StepMax
+ 
+  In order to control the accuracy of the deposition, the user can limit
+  'by hand' the maximum  step size of charged particles.
+  As an example, this limitation is implemented as a 'full' process :
+  see StepMax class and its Messenger. The 'StepMax process' is registered
+  in the Physics List. 
+  	
+ 8 - HISTOGRAMS
+ 
+  Testem1 produces several histo which are saved as testem1.hbook by default.
+  Content of these histo:  
+      1 : track length of primary particle
+      2 : number of steps primary particle
+      3 : step size of primary particle
+      
+   The histograms are managed by the HistoManager class and its Messenger. 
+   The histos can be individually activated with the command :
+   /testem/histo/setHisto id nbBins  valMin valMax unit 
+   where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
+   
+   One can control the name of the histograms file with the command:
+   /testem/histo/setFileName  name  (default testem1)
+   
+   It is possible to choose the format of the histogram file (hbook, root, XML)
+   with the command /testem/histo/setFileType (hbook by default)
+   
+   It is also possible to print selected histograms on an ascii file:
+   /testem/histo/printHisto id
+   All selected histos will be written on a file name.ascii  (default testem1) 
+
+  Note that, by default, histograms are disabled. To activate them, uncomment
+  the flag G4ANALYSIS_USE in GNUmakefile.
+ 
+  Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake 
+
+ 9 - USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 9a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 9b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm10/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm10/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm10/README/index.html	(revision 901)
@@ -0,0 +1,166 @@
+$Id: README,v 1.5 2006/05/18 08:16:42 grichine Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm10 
+                            --------
+
+    Test for investigation of ionisation in thin absorbers, transition 
+    and synchrotron radiations. Default setup for "TestEm10.in" and "TestEm10.large_N.in" is 
+    the experiment for XTR with NIM A294 (1990) 465-472 (fig. 11) setup
+
+
+ 0- INTRODUCTION
+	
+	The parameterisations models can be changed simply with:
+
+	Idle> /XTRdetector/setModel i (i = 1 to 10)
+
+	It is NOT needed (and not recommended) to issue the command
+	/XTRdetector/update if just the model is changed.
+
+	See macro file "TestEm10.in" for an example.
+
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	The "absorber" is a tube made of a given material.                
+ 	
+ 	Three parameters define the absorber :
+ 	- the material of the absorber,
+	- the thickness of an absorber,
+ 	- the transverse size of the absorber (the input face is a square). 
+    
+        The volume "World" contains the "absorber". 
+        In this test the parameters of the "World" can be changed , too.
+
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all the parameters can be changed via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle which hits the
+ 	absorber perpendicular to the input face. The type of the particle
+ 	and its energy are set in the PrimaryGeneratorAction class, and can
+ 	be changed via the G4 build-in commands of ParticleGun class (see
+ 	the macros provided with this example).
+ 	
+ 	A RUN is a set of events.
+ 	
+ 3- DETECTOR RESPONSE
+
+        Here we test G4PAIionisation , G4IonisationByLogicalVolume and 
+        transition radiation processes
+ 
+ 	A HIT is a record, event per event , of all the 
+ 	informations needed to simulate and analyse the detector response.
+ 	
+ 	In this example a CalorHit is defined as a set of 2 informations:
+ 	- the total energy deposit in the absorber,
+ 	- the total tracklength of all charged particles in the absorber,  
+ 	
+ 	Therefore  the absorber is declared
+ 	'sensitive detector' (SD), which means they can contribute to the hit.
+ 	
+ 	At the end of a run, from the histogram(s), one can study 
+	different physics quantities such as :
+                                - angle distribution,
+				- energy deposit,
+ 				- transmission/backscattering,
+ 				-  ...
+        
+        The test contains 10 built-in histograms, which can be activated by
+        interactive commands (see the macros runxx.mac for details).
+
+        The histogram files can be viewed using PAW e.g with the commands 
+
+                paw> h/file 1 geant4.plot01 or g4.p11
+                paw> option stat
+                paw> h/pl 1
+
+
+ 				
+ 4- PHYSICS DEMO
+ 
+ 	The particle's type and the physic processes which will be available
+ 	in this example are set in PhysicsList class.
+ 	
+ 	The  messenger classes introduce interactive commands . Using these
+        commands the geometry of the detector, the data of the primary
+        particle, the limits of the histograms , etc. can be changed.
+ 	
+
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd TestEm10
+ 		% gmake
+ 		
+ 	- execute TestEm10 in 'batch' mode from macro files e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm10   run11.mac
+		
+ 	- execute TestEm10 in 'interactive' mode with visualization e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm10
+		....
+		Idle> type your commands
+		....
+		
+ List of the built-in histograms
+ -------------------------------
+
+        1.   number of (tracking) steps/event
+        2.   energy deposit distribution in the absorber (in MeV)
+        3.   angle distribution of the primary particle at the exit
+             of the absorber (deg)
+        4.   distribution of the lateral displacement at exit(mm)
+        5.   kinetic energy of the transmitted primaries (MeV)
+        6.   angle distribution of the backscattered primaries (deg)
+        7.   kinetic energy of the backscattered primary particles (MeV)
+        8.   kinetic energy of the charged secondary particles (MeV)
+        9.   z distribution of the secondary charged vertices (mm)
+       10.   kinetic energy of the photons escaping the absorber (MeV)
+
+
+ Using histograms
+ ---------------- 
+
+By default the histograms are not activated. To activate histograms
+the environment variable G4ANALYSIS_USE should be defined. For instance
+uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+
+To use histograms any of implementations of AIDA interfaces should
+be available (see http://aida.freehep.org).
+
+A package including AIDA and extended interfaces also using Python
+is PI, available from: http://cern.ch/pi .
+
+Once installed PI or PI-Lite in a specified local area $MYPY, it is
+required to add the installation path to $PATH, i.e. for example,
+for release 1.2.1 of PI:
+
+setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+CERN users can use the PATH to the LCG area on AFS.
+
+Before compilation of the example it is optimal to clean up old 
+files:
+
+gmake histclean
+gmake
+
+Before running the example the command should be issued:
+
+eval `aida-config --runtime csh`
+
+It is possible to choose the format of the output file with 
+histograms using UI command:
+
+/testem/histo/setFileType type
+
+The following types are available: hbook, root, xml.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm11/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm11/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm11/README/index.html	(revision 901)
@@ -0,0 +1,184 @@
+$Id: README,v 1.7 2007/11/07 17:22:15 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm11
+                            -------
+
+     How to plot a depth dose profile in a rectangular box.    
+
+	
+ 1- GEOMETRY DEFINITION
+ 
+	The geometry consists of a single block of an homogenous material.
+	Optionally, the block can be divided in thinner layers (replica)
+     	
+	4 parameters define the geometry :
+ 	- the material of the box,
+	- the thickness of the box (sizeX),
+	- the tranverse dimension of the box (sizeYZ).
+	- the number of layers (nbOfLayers)
+	 	
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all of the above parameters can be changed interactively via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The particle list is the one of novice/exampleN02.
+ 	The physics list contains the 'standard' electromagnetic processes,
+ 	and decay.
+ 		
+ 	Few commands have been added to PhysicsList, in order to set the
+ 	production threshold for secondaries either in range for gamma, e-/e+.
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle starting at the
+ 	left face of the box. The type of the particle and its energy are set 
+ 	in the PrimaryGeneratorAction class, and can be changed via the G4 
+ 	build-in commands of ParticleGun class (see the macros provided with 
+ 	this example).
+	
+ 	In addition one can choose randomly the impact point of the incident
+ 	particle. The corresponding interactive command is built in
+ 	PrimaryGeneratorMessenger class.
+	 	
+ 	A RUN is a set of events.
+ 	
+ 				
+ 4- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/... in the macro vis.mac. To get visualisation:
+ 	> /control/execute vis.mac
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	box.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+ 	Optionaly one can choose to draw all particles, only the charged one,
+ 	or none. This command is defined in EventActionMessenger class.
+ 	
+ 	
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd geant4/examples/extended/electromagnetic/TestEm1
+ 		% gmake
+ 		
+ 	- execute TestEm11 in 'batch' mode from macro files
+ 		% TestEm11   run01.mac
+ 		
+ 	- execute TestEm11 in 'interactive mode' with visualization
+ 		% TestEm11
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+		
+
+ 6- TRACKING  and STEP MAX
+ 
+     Testem11 computes the total energy deposited along the trajectory of 
+     the incident particle : the so-called longitudinal energy profile,
+     or depth dose distribution.
+     The energy deposited (edep) is randomly distribued along the step (see
+     SteppingAction).
+     
+     In order to control the accuracy of the deposition, the maximum  step size 
+     of charged particles is computed automatically from the binning of 
+     histogram 1 and 8 (see HistoManager).
+     
+     As an example, this limitation is implemented as a 'full' process :
+     see StepMax class and its Messenger. The 'StepMax process' is registered
+     in the Physics List.
+     
+     In RunAction::BeginOfRun() the stepMax value is passed from the 
+     HistoManager to the StepMax process. 
+     A boolean UI command allows to desactivate this mechanism.
+     	
+ 7- HISTOGRAMS
+ 
+   Testem11 has several predefined 1D histograms : 
+  
+      1 : longitudinal energy profile (in MeV/mm and per event)
+      2 : total energy deposited in the absorber
+      3 : total track length of the primary track
+      4 : step size of the primary track      
+      5 : projected range of the primary track
+      6 : total track length of charged secondary tracks
+      7 : step size of charged secondary tracks      
+      8 : longitudinal energy profile (in MeV.cm2/g), as a function of x/r0
+          where r0 is the range of the primary particle 
+	       
+   The histograms are managed by the HistoManager class and its Messenger. 
+   The histos can be individually activated with the command :
+   /testem/histo/setHisto id nbBins  valMin valMax unit 
+   where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
+   
+   One can control the name of the histograms file with the command:
+   /testem/histo/setFileName  name  (default testem11)
+   
+   It is possible to choose the format of the histogram file (hbook, root, XML)
+   with the command /testem/histo/setFileType (hbook by default)
+   
+   It is also possible to print selected histograms on an ascii file:
+   /testem/histo/printHisto id
+   All selected histos will be written on a file name.ascii  (default testem11) 
+       
+   Note that, by default, histograms are disabled. To activate them, uncomment
+   the flag G4ANALYSIS_USE in GNUmakefile.
+   
+ 
+ 8- USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm12/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm12/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm12/README/index.html	(revision 901)
@@ -0,0 +1,183 @@
+$Id: README,v 1.7 2007/11/09 17:35:06 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm12
+                            --------
+
+
+     How to plot a depth dose profile in spherical geometry.        
+
+	
+ 1- GEOMETRY DEFINITION
+ 
+	The geometry consists of a single sphere of an homogenous material.
+	Optionally, the sphere can be divided in thin shells.
+     	
+	3 parameters define the geometry :
+ 	- the material of the sphere,
+	- the radius of the sphere (absorRadius),
+	- the number of shells (nbOfLayers)
+	 	
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all of the above parameters can be changed interactively via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The particle list is the one of novice/exampleN02.
+ 	The physics list contains the 'standard' electromagnetic processes,
+ 	and decay.
+ 		
+ 	Few commands have been added to PhysicsList, in order to set the
+ 	production threshold for secondaries either in range for gamma, e-/e+.
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle randomly shooted at
+	the centre of the sphere. The type of the particle and its energy are set 
+ 	in the PrimaryGeneratorAction class, and can be changed via the G4 
+ 	build-in commands of ParticleGun class (see the macros provided with 
+ 	this example).
+	
+ 	In addition one can desactivate the randomness of the direction of the 
+	incident particle. The corresponding interactive command is built in
+ 	PrimaryGeneratorMessenger class.
+	 	
+ 	A RUN is a set of events.
+ 	
+ 				
+ 4- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/... in the macro vis.mac. To get visualisation:
+ 	> /control/execute vis.mac
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	box.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+ 	Optionaly one can choose to draw all particles, only the charged one,
+ 	or none. This command is defined in EventActionMessenger class.
+ 	
+ 	
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd geant4/examples/extended/electromagnetic/TestEm1
+ 		% gmake
+ 		
+ 	- execute TestEm12 in 'batch' mode from macro files
+ 		% TestEm12   run01.mac
+ 		
+ 	- execute TestEm12 in 'interactive mode' with visualization
+ 		% TestEm12
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+		
+ 6- TRACKING  and STEP MAX
+ 
+     Testem12 computes the total energy deposited along the trajectory of 
+     the incident particle : the so-called longitudinal energy profile,
+     or depth dose distribution.
+     The energy deposited (edep) is randomly distribued along the step (see
+     SteppingAction).
+     
+     In order to control the accuracy of the deposition, the maximum  step size 
+     of charged particles is computed automatically from the binning of 
+     histograms 1 and 8 (see HistoManager).
+     
+     As an example, this limitation is implemented as a 'full' process :
+     see StepMax class and its Messenger. The 'StepMax process' is registered
+     in the Physics List.
+     
+     In RunAction::BeginOfRun() the stepMax value is passed from the 
+     HistoManager to the StepMax process. 
+     A boolean UI command allows to desactivate this mechanism.
+     	
+ 7- HISTOGRAMS
+ 
+   Testem12 has several predefined 1D histograms : 
+  
+      1 : energy profile dE/dr (in MeV/mm per event)
+      2 : total energy deposited in the absorber
+      3 : total track length of the primary track
+      4 : step size of the primary track      
+      5 : projected range of the primary track
+      6 : total track length of charged secondary tracks
+      7 : step size of charged secondary tracks      
+      8 : normalized energy profile d(E/E0)/d(r/r0), where r0 is the range of
+          the primary particle of energy E0
+            
+   The histograms are managed by the HistoManager class and its Messenger. 
+   The histos can be individually activated with the command :
+   /testem/histo/setHisto id nbBins  valMin valMax unit 
+   where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
+   
+   One can control the name of the histograms file with the command:
+   /testem/histo/setFileName  name  (default testem12)
+   
+   It is possible to choose the format of the histogram file (hbook, root, XML)
+   with the command /testem/histo/setFileType (hbook by default)
+   
+   It is also possible to print selected histograms on an ascii file:
+   /testem/histo/printHisto id
+   All selected histos will be written on a file name.ascii  (default testem12) 
+        
+   Note that, by default, histograms are disabled. To activate them, uncomment
+   the flag G4ANALYSIS_USE in GNUmakefile.
+   
+ 
+ 8- USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm13/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm13/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm13/README/index.html	(revision 901)
@@ -0,0 +1,84 @@
+$Id: README,v 1.4 2006/05/15 14:42:42 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm13
+                            --------
+
+	How to compute cross sections from the tramsmition coefficient
+	( see below, item Physics).
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	It is a single box representing a layer of finite thickness of
+	homogeneous material.
+ 	Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+ 	
+ 	The default geometry (1 cm of water) is constructed in 
+	DetectorConstruction, but the above parameters can be changed 
+	interactively via the commands defined in DetectorMessenger.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The physics list contains the standard electromagnetic processes.
+	In order not to introduce 'articicial' constraints on the step size, the
+	multiple scattering is not instanciated, and there is no limitation from
+	the maximum energy lost per step.  
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle starting at the edge
+	of the box. The type of the particle and its energy are set in 
+	PrimaryGeneratorAction (1 MeV gamma), and can be changed via the G4 
+ 	build-in commands of ParticleGun class (see the macros provided with 
+ 	this example).
+ 	
+ 4- PHYSICS
+ 
+	An event is killed at the first step of the incident paticle.
+	Either the particle has interacted or is transmitted through the layer.
+	The cross section, also called absorption coefficient, is computed from 
+	the rate of unaltered transmitted incident particles.
+	
+	The result is compared with the 'input' data, i.e. with the cross
+	sections stored in the PhysicsTables and used by Geant4.
+ 	
+ 	A set of macros defining various run conditions are provided.
+ 	The processes are actived/inactived in order to survey the processes 
+	individually.
+
+ 	 				
+ 6- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/... in the macro vis.mac. To get visualisation:
+ 	> /control/execute vis.mac
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	box.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+	
+ 7- HOW TO START ?
+ 
+	compile and link to generate an executable
+ 		% cd geant4/examples/extended/electromagnetic/TestEm13
+ 		% gmake
+ 		
+	execute TestEm13 in 'batch' mode from macro files :
+ 		% TestEm13   compt.mac
+ 		
+	execute TestEm13 in 'interactive mode' with visualization :
+ 		% TestEm13
+		Idle> control/execute vis.mac
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+ 
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm14/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm14/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm14/README/index.html	(revision 901)
@@ -0,0 +1,173 @@
+$Id: README,v 1.6 2007/11/13 12:13:32 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm14
+                            --------
+
+	How to compute cross sections from the direct evaluation of the mean
+	free path ( see below, item Physics).
+	How to plot final state of a process.	 
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	It is a single box representing a 'semi infinite' homogeneous medium.
+ 	Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+ 	
+ 	The default geometry (100 m of water) is constructed in 
+	DetectorConstruction, but the above parameters can be changed 
+	interactively via the commands defined in DetectorMessenger.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The physics list contains the standard electromagnetic processes.
+	In order not to introduce 'artificial' constraints on the step size, the
+	multiple scattering is not instanciated, and there is no limitation from
+	the maximum energy lost per step.  
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle starting at the edge
+	of the box. The type of the particle and its energy are set in 
+	PrimaryGeneratorAction (1 MeV gamma), and can be changed via the G4 
+ 	build-in commands of ParticleGun class (see the macros provided with 
+ 	this example).
+ 	
+ 4- PHYSICS
+ 
+	An event is killed at the first interaction of the incident paticle.
+	The absorption length, also called mean free path, is computed as 
+	the mean value of the track length of the incident particle.
+	This is why the medium must be 'infinite' : to be sure that interaction
+	occurs at any events.
+	
+	The result is compared with the 'input' data, i.e. with the cross
+	sections stored in the PhysicsTables and used by Geant4.
+	
+	The energy spectrum and the angular distribution of the scattered
+	particle (if any) and of the created secondaries are plotted (see
+	SteppingAction).
+ 	
+ 	A set of macros defining various run conditions are provided.
+ 	The processes are actived/inactived in order to survey the processes 
+	individually.
+
+ 5- HISTOGRAMS
+         
+	The test contains 6 built-in 1D histograms, which are managed by the
+	HistoManager class and its Messenger. The histos can be individually 
+	activated with the command :
+	/testem/histo/setHisto id nbBins  valMin valMax unit 
+	where unit is the desired unit for the histo (MeV or keV, etc..)
+	(see the macros xxxx.mac).
+ 
+	1	"scattered primary particle: energy spectrum"
+	2	"scattered primary particle: costheta distribution"
+	3	"charged secondaries: energy spectrum"
+	4	"charged secondaries: costheta distribution"
+	5	"neutral secondaries: energy spectrum"
+	6	"neutral secondaries: costheta distribution"			
+
+	See below the note on histogram tools.
+	
+ 	One can control the name and the type of the histograms file with 
+	the commands:
+ 	/testem/histo/setFileName  name  (default testem14)
+   	/testem/histo/setFileType  name  (default hbook)
+   
+        It is also possible to print selected histograms on an ascii file:
+        /testem/histo/printHisto id
+        All selected histos will be written on a file name.ascii  
+	(default testem14) 
+	
+	Note that, by default, histograms are disabled. To activate them, 
+	uncomment the flag G4ANALYSIS_USE in GNUmakefile. 	
+ 	 				
+ 6- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/... in the macro vis.mac. To get visualisation:
+ 	> /control/execute vis.mac
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	box.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+	
+ 7- HOW TO START ?
+ 
+	compile and link to generate an executable
+ 		% cd geant4/examples/extended/electromagnetic/TestEm14
+ 		% gmake
+ 		
+	execute TestEm14 in 'batch' mode from macro files :
+ 		% TestEm14   compt.mac
+ 		
+	execute TestEm14 in 'interactive mode' with visualization :
+ 		% TestEm14
+		Idle> control/execute vis.mac
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+ 
+
+ 8- USING HISTOGRAMS
+ 
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+  
+  Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake
+	 
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm15/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm15/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm15/README/index.html	(revision 901)
@@ -0,0 +1,170 @@
+$Id: README,v 1.4 2007/11/13 14:13:31 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm15
+                            --------
+
+	How to compute and plot the final state of Multiple Scattering 
+	considered as an isolated process.
+	The method is exposed below : see item Physics. 
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	It is a single box representing a 'semi infinite' homogeneous medium.
+ 	Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+ 	
+ 	The default geometry (100 m of water) is constructed in 
+	DetectorConstruction, but the above parameters can be changed 
+	interactively via the commands defined in DetectorMessenger.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The physics list contains the standard electromagnetic processes.
+	In order not to introduce 'articicial' constraints on the step size, 
+	there is no limitation from the maximum energy lost per step.  
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle starting at the edge
+	of the box. The type of the particle and its energy are set in 
+	PrimaryGeneratorAction (1 MeV electron), and can be changed via the G4 
+ 	build-in commands of ParticleGun class (see the macros provided with 
+ 	this example).
+ 	
+ 4- PHYSICS
+ 
+        All discrete processes are inactivated (see provided macros),
+	so that Multiple Scattering is 'forced' to determine the first step of 
+	the primary particle. The step size and the final state are computed 
+	and plotted. Then the event is immediately killed.
+	
+	The result is compared with the 'input' data, i.e. with the cross
+	sections stored in the PhysicsTables and used by Geant4.
+	
+	The stepMax command provides an additionnal control of the step size of
+        the multiple scattering.
+ 	
+
+ 5- HISTOGRAMS
+         
+	The test contains 9 built-in 1D histograms, which are managed by the
+	HistoManager class and its Messenger. The histos can be individually 
+	activated with the command :
+	/testem/histo/setHisto id nbBins  valMin valMax unit 
+	where unit is the desired unit for the histo (MeV or keV, etc..)
+	(see the macros xxxx.mac).
+ 		
+        1       Multiple Scattering. True step length
+	2	Multiple Scattering. Geom step length
+	3	Multiple Scattering. Ratio geomSl/trueSl
+	4	Multiple Scattering. Lateral displacement: radius
+	5	Multiple Scattering. Lateral displac: psi_space
+	6	Multiple Scattering. Angular distrib: theta_plane
+	7	Multiple Scattering. Phi-position angle
+	8	Multiple Scattering. Phi-direction angle
+	9	Multiple Scattering. Correlation: cos(phiPos-phiDir)
+	
+	See below the note on histogram tools.
+	
+ 	One can control the name and the type of the histograms file with 
+	the commands:
+ 	/testem/histo/setFileName  name  (default testem15)
+   	/testem/histo/setFileType  name  (default hbook)
+	
+        It is also possible to print selected histograms on an ascii file:
+        /testem/histo/printHisto id
+        All selected histos will be written on a file name.ascii  
+        (default testem15)
+    	
+	Note that, by default, histograms are disabled. To activate them, 
+	uncomment the flag G4ANALYSIS_USE in GNUmakefile. 	
+ 	 				
+ 6- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/... in the macro vis.mac. To get visualisation:
+ 	> /control/execute vis.mac
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	box.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+	
+ 7- HOW TO START ?
+ 
+	compile and link to generate an executable
+ 		% cd geant4/examples/extended/electromagnetic/TestEm15
+ 		% gmake
+ 		
+	execute TestEm15 in 'batch' mode from macro files :
+ 		% TestEm15   compt.mac
+ 		
+	execute TestEm15 in 'interactive mode' with visualization :
+ 		% TestEm15
+		Idle> control/execute vis.mac
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+ 
+
+ 8- USING HISTOGRAMS
+ 
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+  
+  Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake
+	 
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm16/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm16/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm16/README/index.html	(revision 901)
@@ -0,0 +1,124 @@
+$Id: README,v 1.3 2007/01/18 09:07:20 hbu Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm16
+                            --------
+      Simulate synchrotron radiation
+	
+ 1- GEOMETRY DEFINITION
+
+     The geometry consists of a single block of a homogenous material.
+
+     Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+     The default is 500 m of vacuum.
+
+     A transverse uniform magnetic field can be applied.
+
+     The default geometry is constructed in DetectorConstruction class,
+     but all of the above parameters can be changed interactively via
+     the commands defined in the DetectorMessenger class.
+
+ 2- PHYSICS LIST
+
+     The particle list is the one of novice/exampleN03 and TestEm6
+     with in addition synchrotron radiation.
+     To make the synchrotron radiation easily visible, a very low
+     pressure "vaccuum" and a magnetic field of by default 1 Tesla
+     in z-direction is used.
+
+ 3- AN EVENT : THE PRIMARY GENERATOR
+
+     The primary kinematic consists of a single particle which hits the
+     block perpendicular to the input face. The type of the particle
+     and its energy are set in the PrimaryGeneratorAction class, and can
+     changed via the G4 build-in commands of ParticleGun class (see
+     the macros provided with this example).
+     The default is an positron of 10 GeV.
+     	
+     In addition one can choose randomly the impact point of the incident
+     particle. The corresponding interactive command is built in
+     PrimaryGeneratorMessenger class.
+	 	
+     A RUN is a set of events.
+
+
+ 4- VISUALIZATION
+
+     The Visualization Manager is set in the main().
+     The initialisation of the drawing is done via the command
+     > /control/execute vis.mac
+     > /run/beamOn 1
+
+     The detector has a default view which is a longitudinal view of the box.
+
+     The tracks are drawn at the end of event, and erased at the end of run.
+     Optionaly one can choose to draw all particles, only the charged one,
+     or none. This command is defined in EventActionMessenger class.
+
+ 5- PHYSICS DEMO
+
+     The particle's type and the physic processes which will be available
+     in this example are set in PhysicsList class.
+
+     In addition a build-in interactive command (/process/inactivate proname)
+     allows to activate/inactivate the processes one by one.
+
+     The threshold for producing secondaries can be changed.
+     eg: /run/particle/setCut 100 micrometer
+         /run/initialize
+	
+     To visualize the Synchrotron radiation :
+	 /control/execute vis.mac
+		  	
+ 6- HOW TO START ?
+
+     - compile and link to generate an executable
+	% cd geant4/examples/extended/electromagnetic/TestEm16
+ 	% make
+
+     - execute Test  in 'batch' mode from macro files
+ 	% TestEm16    run01.mac
+
+     - execute Test  in 'interactive mode' with visualization
+ 	% TestEm16
+ 		....
+ 	Idle> type your commands
+ 		....
+ 	Idle> exit
+
+ 7 - TRACKING : stepMax and setMaxStepLength
+
+  In order to control the accuracy of the deposition, the user can limit
+  'by hand' the maximum  step size stepMax of charged particles.
+
+  The maximum tracking step length for computing of magnetic field lines
+  is by default set to 1 km.
+  Synchrotron radiation in very weak magnetic fields of the order of 1 Gauss
+  may require longer pathlength.
+  This can be achieved with using setMaxStepLength like
+  /testem/tracking/setMaxStepLength 100 km
+
+8- HISTOGRAMS
+
+  TestEm16 produces 3 histograms which illustrate synchrotron radiation.
+  The photon energy spectrum (photons / energy bin) and the power spectrum
+  (photon spectrum weighted with the photon energy) and a histogram
+  of the path length between photon radiation is produced.
+
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+
+  Before compilation of the example it is optimal to clean up old files:
+	make histclean
+	make
+
+  By default the histograms are saved as testem16.hbook
+  It is possible to choose the format of the histogram file (hbook, root, XML)
+  and the binning using /testem/histo/ command, see run01.mac
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm17/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm17/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm17/README/index.html	(revision 901)
@@ -0,0 +1,167 @@
+$Id: README,v 1.1 2006/05/09 16:22:19 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm17
+                            --------
+        This example is intended to check implementation of the processes 
+        of muon interactions: ionization, direct (e+,e-) production,
+	bremsstrahlung, mu-nuclear interaction.
+	It allows to compute differential cross sections (as function of the
+	energy tranfered to secondaries), total cross sections and to compare
+	with analytic calculations.
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	It is a single box of homogeneous medium.
+ 	Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+ 	
+ 	The default geometry (1 m of Iron) is constructed in 
+	DetectorConstruction, but the above parameters can be changed 
+	interactively via the commands defined in DetectorMessenger.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The physics list contains only electromagnetic processes for muon,
+	adding G4MuNuclearInteraction and seting of upper energy range limit 
+	to 1000 PeV).
+	 
+        Standard (default) and g4v52 (frozen at the release Geant4 v.5.2) 
+	physics can be choosen.
+	 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle starting at the edge
+	of the box. The type of the particle and its energy are set in 
+	PrimaryGeneratorAction (mu+ 10 TeV), and can be changed via the G4 
+ 	build-in commands of ParticleGun class (see the macros provided with 
+ 	this example).
+ 	
+ 4- PHYSICS
+ 
+	The incident particle is a muon. During the tracking, secondary
+	particles are killed.
+	
+	The number of interactions are plotted as a function of the energy 
+	transfered to the secondaries.
+	The total number of interactions is recorded, and the total crossSection
+	computed from this.  
+
+        At EndOfRun, the above results are compared with analytic calculations.
+	The functions which compute the theoritical crossSections have been
+	provided by the G4 MEPhI group, and grouped in MuCrossSection class.
+
+ 5- HISTOGRAMS
+         
+	The test contains 4 built-in 1D histograms, which are managed by the
+	HistoManager class and its Messenger.
+
+        1 Monte-Carlo relative transferred energy distribution histo
+            (log10(eps/Emu kin) for knock-on electrons (ionization)
+        2  -"- direct (e+,e-) pair production
+        3  -"- bremsstrahlung
+        4  -"- nuclear interaction
+	
+	The histos can be activated individually with the command :
+	/testem/histo/setHisto id nbBins  valMin valMax : min and max values of 
+                                                          log10(eps/Emu kin).
+	
+	At EndOfRun the corresponding histos for analytic calculations are
+	automatically created anf filled (histo 6 to 9), and the comparison
+	(G4 divided by theory) is done in histos 11 to 14.
+							  
+ 	One can control the name and the type of the histograms file with 
+	the commands:
+ 	/testem/histo/setFileName  name  (default testem17)
+   	/testem/histo/setFileType  name  (default hbook)
+
+	Note that, by default, histograms are disabled. To activate them, 
+	uncomment the flag G4ANALYSIS_USE in GNUmakefile. 	
+ 	 				
+ 6- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/... in the macro vis.mac. To get visualisation:
+ 	> /control/execute vis.mac
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	box.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+	
+ 7- HOW TO START ?
+ 
+	compile and link to generate an executable
+ 		% cd geant4/examples/extended/electromagnetic/TestEm17
+ 		% gmake
+ 		
+	execute TestEm17 in 'batch' mode from macro files :
+ 		% TestEm17   allproc.mac
+ 		
+	execute TestEm17 in 'interactive mode' with visualization :
+ 		% TestEm17
+		Idle> control/execute vis.mac
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+
+  8- USING HISTOGRAMS
+ 
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+  
+  Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake
+	 
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm18/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm18/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm18/README/index.html	(revision 901)
@@ -0,0 +1,156 @@
+$Id: README,v 1.2 2007/11/13 16:43:59 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm18
+                            --------
+    This example allows to study the energy lost by a charged particle in a
+    single layer, due to ionization and bremsstrahlung. Results are compared to
+    'reference' values.
+	
+ 1- GEOMETRY DEFINITION
+ 
+    It is a single box of homogeneous medium.
+    Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+ 	
+    The default geometry (1 cm of water) is constructed in DetectorConstruction,
+    but the above parameters can be changed interactively via the commands
+    defined in DetectorMessenger.
+ 	
+ 2- PHYSICS
+ 
+    The physics list contains the 'standard' electromagnetic processes.
+    However the MultipleScattering is not registered, in order to focuse on
+    fluctuations due to energy loss alone.
+	 	 
+ 3- BEAM
+ 
+    The primary kinematic is a single particle starting at the edge
+    of the box. The type of the particle and its energy are set in 
+    PrimaryGeneratorAction (e- 10 MeV), and can be changed via the G4 
+    build-in commands of ParticleGun class.
+ 	
+ 4- RUN
+ 
+    During the tracking of the incident particle, the secondary particles 
+    are immediately killed, after that their energy has been registered
+    (see StackingAction).
+    Therefore, we study here the total energy lost by the incident particle,
+    not the energy deposited in a layer of finite thickness.
+    
+    At EndOfRun, the above results are compared with 'reference' values,
+    i.e. the values read from EnergyLoss tables.
+
+ 5- HISTOGRAMS
+         
+    The test contains 6 built-in 1D histograms, which are managed by the
+    HistoManager class and its Messenger.
+    
+         1  continuous energy loss along primary track
+         2  energy from secondaries
+         3  total energy lost by primary track (1+2)
+         4  energy spectrum of e-+
+         5  energy spectrum of gamma
+	 6  step size of primary track
+	
+    The histos can be activated individually with the command :
+    /testem/histo/setHisto id nbBins valMin valMax unit
+    where 'unit' is the desired unit for the histo (MeV or KeV, cm or mm, etc..)
+								  
+    One can control the name and the type of the histograms file with 
+    the commands:
+    /testem/histo/setFileName  name  (default testem18)
+    /testem/histo/setFileType  name  (default hbook)
+   
+    It is also possible to print selected histograms on an ascii file:
+    /testem/histo/printHisto id
+    All selected histos will be written on a file name.ascii  (default testem18) 
+
+    Note that, by default, histograms are disabled. To activate them, uncomment
+    the flag G4ANALYSIS_USE in GNUmakefile. 	
+ 	 				
+ 6- VISUALIZATION
+ 
+    The Visualization Manager is set in the main().
+    The initialisation of the drawing is done via the commands
+    /vis/... in the macro vis.mac. To get visualisation:
+    > /control/execute vis.mac
+ 	
+    The detector has a default view which is a longitudinal view of the box.
+    The tracks are drawn at the end of event, and erased at the end of run.
+	
+ 7- HOW TO START ?
+ 
+    compile and link to generate an executable
+ 	% cd geant4/examples/extended/electromagnetic/TestEm18
+ 	% gmake
+ 		
+    execute TestEm18 in 'batch' mode from macro files :
+ 	% TestEm18   electron.mac.mac
+ 		
+    execute TestEm18 in 'interactive mode' with visualization :
+ 	% TestEm18
+	Idle> control/execute vis.mac
+ 	....
+ 	Idle> type your commands
+ 	....
+ 	Idle> exit
+
+ 8- USING HISTOGRAMS
+ 
+    By default the histograms are not activated. To activate histograms
+    the environment variable G4ANALYSIS_USE should be defined. For instance
+    uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+  
+    Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake
+	 
+    To use histograms, at least one of the AIDA implementations should be 
+    available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+  On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+  On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm2/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm2/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm2/README/index.html	(revision 901)
@@ -0,0 +1,179 @@
+$Id: README,v 1.23 2006/05/15 14:38:40 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm2
+                            -------
+			    
+     How to do shower profiles in an homogenous medium, with virtual
+     voxelisation.
+
+ 1- GEOMETRY DEFINITION
+
+     The geometry consists of a cylinder of homegenous material.
+
+     The default geometry is constructed in DetectorConstruction class,
+     but all of the above parameters can be modified interactively via
+     the commands defined in the DetectorMessenger class.
+
+     Material can be choosen: Air Water lAr Al Fe BGO PbWO4 Pb.
+     eg: /testem/det/setMat PbWO4
+     
+     The cylinder is virtually sliced longitudinaly (slice) and radialy (ring).
+     The size of the slices and rings are expressed in radiation length units
+     and can be changed.
+     eg: /testem/det/setLbin 20   1.    ---> 20 slices of 1. radl
+         /testem/det/setRbin  5   0.25  --->  5 rings of 0.25 radl
+         /testem/det/update             ---> rebuild the geometry
+	 
+     (MaxBin = 500 in both directions)	 
+
+     An uniform magnetic field along the cylinder axis can be set.
+     eg: /testem/det/setField 5 tesla 
+     
+ 2- PHYSICS LISTS
+
+    Modular PhysicsList are used. The following modules can be activated:
+    1. "standard"    - (alternative) standard EM physics
+    2. "g4v52"       - (alternative) standard EM physics version G4 5.2
+    3. "high_energy" - add high energy processes
+
+    To activate a specific module the UI command can be used:
+    "/testem/phys/addPhysics  title"
+    By default "standard" module is loaded.
+
+ 3- AN EVENT : THE PRIMARY GENERATOR
+
+     The primary kinematic consists of a single particle which hits the
+     cylinder perpendicular to the input face. The type of the particle
+     and its energy are set in the PrimaryGeneratorAction class, and can
+     changed via the G4 build-in commands of ParticleGun class (see
+     the macros provided with this example).
+
+     A RUN is a set of events.
+
+ 4- VISUALIZATION
+
+     The Visualization Manager is set in the main().
+     The initialisation of the drawing is done via the commands
+     /vis/.. in the macro vis.mac. In interactive session:
+     PreInit or Idle > /control/execute vis.mac
+
+     The detector has a default view which is a longitudinal view of the
+     cylinder.
+
+     The tracks are drawn at the end of event, and erased at the end of run.
+     Optionaly one can choose to draw all particles, only the charged one,
+     or none. This command is defined in EventActionMessenger class.
+
+ 5- PHYSICS DEMO
+
+     The particle's type and the physic processes which will be available
+     in this example are set in PhysicsList class.
+
+     In addition a build-in interactive command (/process/inactivate proname)
+     allows to activate/inactivate the processes one by one.
+
+     The threshold for producing secondaries can be changed.
+     eg: /testem/phys/setCuts 100 microm
+         /run/initialize
+	 
+     The shower profiles are histogramed, if histograming is activated.
+     They can be also printed with the command /testem/run/verbose 1	 
+
+ 6- HOW TO START ?
+
+     - compile and link to generate an executable
+ 		% cd TestEm2
+ 		% gmake
+
+     - execute TestEm2 in 'batch' mode from macro files
+ 		% TestEm2   run01.mac
+
+     - execute TestEm2 in 'interactive mode' with visualization
+ 		% TestEm2
+ 		....
+ 		Idle> type your commands
+  		....
+ 		Idle> exit
+
+ 7- HISTOGRAMS
+
+   TestEm2 produces several histograms:
+
+     Content of these histo:
+
+      1 : energy deposit       per event
+      2 : charged track length per event
+      3 : neutral track length per event
+
+      4 : longitudinal energy profile
+      5 : cumulated longitudinal energy profile
+      6 : rms of cumulated longitudinal energy profile
+
+      7 : radial energy profile
+      8 : cumulated radial energy profile
+      9 : rms of cumulated radial energy profile
+
+ Note that, by default, histograms are disabled. To activate them, uncomment
+ the flag G4ANALYSIS_USE in GNUmakefile. To define the output file name with
+ histograms and the type of these file the following UI commands can be used:
+
+   "/testem/histo/setFileName name"
+   "/testem/histo/setFileType type"
+
+ The following types are available: "hbook", "root", "XML"
+ By default the name is "testem2" and the type "hbook".
+ 
+ Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake 
+
+ 8- USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm3/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm3/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm3/README/index.html	(revision 901)
@@ -0,0 +1,214 @@
+$Id: README,v 1.29 2007/11/12 17:04:55 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm3
+                            -------
+  
+ How to collect energy deposition in a sampling calorimeter.
+ How to survey energy flow.
+ how to print stopping power. 
+	
+ 1- GEOMETRY DEFINITION
+ 
+  The calorimeter is a box made of a given number of layers.
+  A layer consists of a sequence of various absorbers (maximum MaxAbsor=9).
+  The layer is replicated.
+ 	
+  Parameters defining the calorimeter :
+    - the number of layers,
+    - the number of absorbers within a layer,		
+    - the material of the absorbers,
+    - the thickness of the absorbers,
+    - the transverse size of the calorimeter (the input face is a square). 
+ 	
+  In addition a transverse uniform magnetic field can be applied.
+ 	
+  The default geometry is constructed in DetectorConstruction class, but all
+  of the above parameters can be modified interactively via the commands 
+  defined in the DetectorMessenger class.
+  
+
+	|<----layer 0---------->|<----layer 1---------->|<----layer 2---------->|
+	|			|			|			|
+	==========================================================================
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||   abs 1	| abs 2	||   abs 1	| abs 2	||   abs 1	| abs 2	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+ beam	||		|	||		|	||		|	||
+======>	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||    cell 1	| cell 2||    cell 3	| cell 4||    cell 5	| cell 6||
+	==========================================================================
+	^		^	^		^	^		^	^
+	pln1		pln2	pln3		pln4	pln5		pln6	pln7
+ 	
+  NB. The number of absorbers and the number of layers can be set to 1.
+  In this case we have a unique homogeneous block of matter, which looks like 
+  a bubble chamber rather than a calorimeter ...
+  (see the macro of commands: newgeom.mac)
+	    
+ 2- PHYSICS LISTS
+
+    The following options for EM physics are available:	 
+    - "standard"        the best standard EM physics (default)
+    - "G4standard"      recommended standard EM physics for LHC
+    - "G4standard_fast" the best CPU performance standard physics for LHC
+    - "Livermore"       low-energy EM physics using Livermore data
+    - "Penelope"        low-energy EM physics implementing Penelope models
+         	    
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+  The primary kinematic consists of a single particle which hits the calorimeter
+  perpendicular to the input face. The type of the particle and its energy are 
+  set in the PrimaryGeneratorAction class, and can be changed via the 
+  G4 build-in commands of ParticleGun class (see the macros provided with this 
+  example).
+ 	
+  In addition one can choose randomly the impact point of the incident particle.
+  The corresponding interactive command is built in PrimaryGeneratorMessenger.
+ 	
+  A RUN is a set of events.
+  
+  TestEm3 computes the energy deposited per absorber and the energy flow through
+  the calorimeter 
+ 				
+ 4- VISUALIZATION
+ 
+  The Visualization Manager is set in the main().
+  The initialisation of the drawing is done via the commands :
+  /vis/... in the macro vis.mac. In interactive session:
+  PreInit or Idle > /control/execute vis.mac
+ 	
+  The default view is a longitudinal view of the calorimeter.
+ 	
+  The tracks are drawn at the end of event, and erased at the end of run.
+  Optionaly one can choose to draw all particles, only the charged one, or none.
+  This command is defined in EventActionMessenger class.
+ 	
+ 5- PHYSICS DEMO
+ 
+  The particle's type and the physic processes which will be available
+  in this example are set in PhysicsList class.
+ 	
+  In addition a build-in interactive command (/process/inactivate processName)
+  allows to activate/inactivate the processes one by one.
+  Then one can well visualize the processes one by one, especially 
+  in the bubble chamber setup with a transverse magnetic field.
+ 
+  As a homework try to visualize a gamma conversion alone, 
+  or the effect of the multiple scattering.
+	
+  Notice that one can control the maximum step size in each absorber, via the
+  StepMax process and the command /testem/stepMax/absorber  
+  (see StepMax and PhysicsList classes)
+ 	
+ 6- HOW TO START ?
+ 
+  - compile and link to generate an executable
+ 	% cd TestEm3
+ 	% gmake
+ 		
+  - execute TestEm3 in 'batch' mode from macro files
+ 	% TestEm3   run01.mac
+ 		
+  - execute TestEm3 in 'interactive mode' with visualization
+ 	% TestEm3
+ 	....
+ 	Idle> type your commands. For instance:
+ 	Idle> /control/execute run01.mac
+ 	....
+ 	Idle> exit
+ 	
+ 7- HISTOGRAMS
+ 
+ Testem3 can produce histograms : 
+  histo 1 : energy deposit in absorber 1
+  histo 2 : energy deposit in absorber 2
+  ...etc...........
+  
+ One can control the binning of the histo with the command:
+  /testem/histo/setHisto   idAbsor  nbin  Emin  Emax  unit 
+  ...etc...........  
+  where unit is the desired energy unit for that histo (see TestEm3.in).
+  
+  histo 11 : longitudinal profile of energy deposit in absorber 1 (MeV/event)
+  histo 12 : longitudinal profile of energy deposit in absorber 2 (MeV/event)  
+  ...etc...........  
+  
+  histo 21 : energy flow (MeV/event)
+  histo 22 : lateral energy leak (MeV/event)  
+
+ One can control the name of the histograms file with the command:
+ /testem/histo/setFileName  name  (default testem3.hbook)
+ 
+  NB. Numbering scheme for histograms:
+  layer     : from 1 to NbOfLayers (inclued)
+  absorbers : from 1 to NbOfAbsor (inclued)
+  planes    : from 1 to NbOfLayers*NbOfAbsor + 1 (inclued)      
+ 	
+ It is also possible to print selected histograms on an ascii file:
+ /testem/histo/printHisto id
+ All selected histos will be written on a file name.ascii  (default testem3)
+     
+ Note that, by default, histograms are disabled. To activate them, uncomment
+ the flag G4ANALYSIS_USE in GNUmakefile.
+
+ Before compilation of the example it is optimal to clean up old files:
+  gmake histclean
+  gmake
+  
+   
+ 8- USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm4/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm4/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm4/README/index.html	(revision 901)
@@ -0,0 +1,123 @@
+$Id: README,v 1.19 2006/05/15 14:39:20 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm4
+                            -------
+
+ Plot energy deposited by 9 MeV photon beam in an homogeneous medium.
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	It is a cylinder of 5 cm radius filled with C6F6.
+ 	
+ 2- PHYSICS LIST
+ 
+ 	The particle list contains only gamma, electron,positron.
+ 	The physics list contains the 'standard' electromagnetic processes.
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic is a single 9 MeV gamma randomly shooted at the
+ 	middle of the cylinder. 
+ 	 				
+ 4- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via the commands
+ 	/vis/.. in the macro vis.mac. This macro is
+ 	automatically read from the main in case of interactive running mode.
+ 	
+ 	The detector has a default view which is a transversal view of the 
+ 	cylinder.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+ 	Optionaly one can choose to draw all particles, only the charged one,
+ 	or none. This command is defined in EventActionMessenger class.
+ 	
+ 5- PHYSICS SURVEY
+ 
+   The energy deposited in C6F6 is histogramed.
+ 	
+ 6- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd examples/extended/electromagnetic/TestEm4
+ 		% gmake
+ 		
+ 	- execute TestEm4 in 'batch' mode from macro files
+ 		% TestEm4   TestEm4.in
+ 		
+ 	- execute TestEm4 in 'interactive mode' with visualization
+ 		% TestEm4
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+ 		
+ 	- visualize the histogram (paw)
+ 		paw> h/file 1 testem4.hbook
+ 		paw> option stat
+ 		paw> option logy
+ 		paw> h/pl 1 	
+  
+
+ 7- USING HISTOGRAMS
+
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+
+  Before compilation of the example it is optimal to clean up old files:
+	gmake histclean
+	gmake
+
+  It is possible to choose the format of the histogram file (hbook, root, XML):
+  comment/uncomment 1 line in the constructor of RunAction. 
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 7a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 7b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm5/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm5/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm5/README/index.html	(revision 901)
@@ -0,0 +1,222 @@
+$Id: README,v 1.21 2007/11/28 12:37:56 maire Exp $
+-----------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm5   
+                            -------
+ How to study the transmission, absorption and reflexion of particles through
+ a single, thin or thick, layer of material.
+ In perticular, the effects of the multiple scattering can be ploted.  
+	
+ 1- GEOMETRY DEFINITION
+ 
+ The "absorber" is a box made of a given material.                
+ 	
+ Three parameters define the absorber :
+ - the material of the absorber,
+ - the thickness of an absorber,
+ - the transverse size of the absorber (the input face is a square). 
+    
+ A volume "World" contains the "absorber". 
+
+ In addition a transverse uniform magnetic field can be applied.
+ 	
+ The default geometry is constructed in DetectorConstruction class, but all the
+ parameters can be changed via commands defined in the DetectorMessenger class.
+ The parameters of the "World" can be changed, too.
+ 
+ 2- PHYSICS LIST
+
+ The following EM physics lists are available in this example:	 
+ - "standard"     standard EM physics (default)
+ - "livermore"    low-energy EM physics using Livermore data
+ - "penelope"     low-energy EM physics implementing Penelope models
+ - "standardSS"   standard EM physics with single Coulomb scattering 
+                  instead of multiple scattering
+    
+ Alternatively, the user may use predefined Geant4 builders:
+ - "emstandard"        G4EmStandardPhysics builder
+ - "emstandard_opt1"   G4EmStandardPhysics_option1 builder
+ - "emstandard_opt2"   G4EmStandardPhysics_option2 builder
+ See geant4/source/physics_lists/History for details 
+         	
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ The primary kinematic consists of a single particle which hits the absorber 
+ perpendicular to the input face. The type of the particle and its energy are 
+ set in the PrimaryGeneratorAction class, and can be changed via the G4 build-in
+ commands of ParticleGun class (see the macros provided with this example).
+	
+ In addition one can choose randomly the impact point of the incident particle.
+ The interactive command is built in PrimaryGeneratorMessenger class.
+ 
+ 4- VISUALIZATION
+ 
+ The Visualization Manager is set in the main().
+ The initialisation of the drawing is done via the commands in vis.mac
+ In interactive session:
+ PreInit or Idle > /control/execute vis.mac
+ 	
+ The example has a default view which is a longitudinal view of the detector.
+ 	
+ The tracks are drawn at the end of event, and erased at the end of run.
+ Optionaly one can choose to draw all particles, only the charged, or none.
+ This command is defined in EventActionMessenger class.
+ 
+ 5- TRACKING
+ 
+ During the tracking, one can keep or not the secondaries : see StackingAction
+ class and its Messenger.
+ One can also limit 'by hand' the step lenght of the particle. As an example,
+ this limitation is implemented as a 'full' process : see StepMax class and its
+ Messenger. The 'StepMax process' is registered in the Physics List. 
+  	
+ 6- DETECTOR RESPONSE
+  	
+ At the end of a run, from the histogram(s), one can study different
+ physics quantities such as :
+ - energy deposit in the absorber,
+ - energy spectrum of secondaries at creation, 
+ - energy spectrum and angle distribution of particles at exit,
+ - transmission and backscattering coefficients,
+ -  ...
+ 
+ 7- List of the built-in histograms
+ ----------------------------------
+        
+ The test contains more than 20 built-in 1D histograms, which are managed by the
+ HistoManager class and its Messenger. The histos can be individually activated
+ with the command :
+ /testem/histo/setHisto id nbBins  valMin valMax unit 
+ where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
+ (see the macros xxxx.mac).
+ 
+	1	"energy deposit in absorber"
+	2	"energy of charged secondaries at creation"
+	3	"energy of gammas at creation (log10(Ekin/MeV))"
+	4       "x_vertex of charged secondaries (all)"
+	5       "x_vertex of charged secondaries (not absorbed)"
+	10	"(transmit, charged) : kinetic energy at exit"
+        11	"(transmit, charged) : ener fluence: dE(MeV)/dOmega"	
+	12	"(transmit, charged) : space angle dN/dOmega"
+	13	"(transmit, charged) : projected angle at exit"
+	14	"(transmit, charged) : projected position at exit"
+	15	"(transmit, charged) : radius at exit"	
+	20	"(transmit, neutral) : kinetic energy at exit"
+	21	"(transmit, neutral) : ener fluence: dE(MeV)/dOmega"	
+	22	"(transmit, neutral) : space angle dN/dOmega"
+	23	"(transmit, neutral) : projected angle at exit"
+	30	"(reflect , charged) : kinetic energy at exit"
+	31	"(reflect , charged) : ener fluence: dE(MeV)/dOmega"	
+	32	"(reflect , charged) : space angle dN/dOmega"
+	33	"(reflect , charged) : projected angle at exit"
+	40	"(reflect , neutral) : kinetic energy at exit"
+	41	"(reflect , neutral) : ener fluence: dE(MeV)/dOmega"	
+	42	"(reflect , neutral) : space angle dN/dOmega"
+	43	"(reflect , neutral) : projected angle at exit"
+
+ The histograms can be viewed using PAW. See below the note on ANAPHE+AIDA.
+ 
+ One can control the name of the histograms file with the command:
+ /testem/histo/setFileName  name  (default testem5.hbook) 
+   
+ It is also possible to print selected histograms on an ascii file:
+ /testem/histo/printHisto id
+ All selected histos will be written on a file name.ascii  (default testem5) 
+ 	
+ Note that, by default, histograms are disabled. To activate them, uncomment 
+ the flag G4ANALYSIS_USE in GNUmakefile. 	
+ 				
+ 8- GEANT4/GEANT3/DATA COMPARISON
+
+ A Geant4/Geant3/exp. data comparison is given here for a few cases.
+ These cases can be classified as follow:
+ - e-/e+ incident particles versus protons and others. 
+ - 3 energy regimes: low: < 1MeV; medium: 1MeV -> few 10MeV; high: > 100MeV
+ 
+ We indicate here the corresponding macros.
+ 
+ 	      |	low energy   |	medium energy	|  high energy
+	--------------------------------------------------------
+	      | acosta.mac   |                  |
+	e-+   |	berger.mac   |	hanson.mac      |
+	      |	hunger.mac   |	kulchi.mac      |
+	      | tavola.mac   |			|
+	--------------------------------------------------------
+	others|	bichsel.mac  | 	vincour.mac	|  shen1.mac shen2.mac
+	      | 	     |	gottsch.mac	|  tramu.mac
+	--------------------------------------------------------
+
+ The relevant part of the GEANT3 code is in the subdirectory geant3 together 
+ with the xxxx.dat input files.
+	
+ 9- HOW TO START ?
+ 
+ - compile and link to generate an executable
+ 	% cd TestEm5
+ 	% gmake
+ 		
+ - execute TestEm5 in 'batch' mode from macro files e.g.
+ 	% $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm5   myMacro.mac
+		
+ - execute TestEm5 in 'interactive' mode with visualization e.g.
+ 	% $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm5
+	Then type your commands, for instance :
+	Idle> control/execute vis.mac
+	Idle> run/beamOn 5
+	....
+
+ 10- USING HISTOGRAMS
+	
+  Note that, by default, histograms are disabled. To activate them, uncomment
+  the flag G4ANALYSIS_USE in GNUmakefile.
+ 
+  Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake 		    
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm6/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm6/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm6/README/index.html	(revision 901)
@@ -0,0 +1,184 @@
+$Id: README,v 1.15 2005/11/22 16:58:54 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm6 
+                            -------
+     This example is intended to test the processes of gamma conversion
+     to a pair of muons and annihilation of positrons with atomic
+     electrons to a pair of muons.
+     To make these process more visible, the usually much more frequent
+     gamma conversion to a pair of electrons and the standard positron
+     processes are not selected in the physics list.
+	
+ 1- GEOMETRY DEFINITION
+ 
+     The geometry consists of a single block of a homogenous material.
+     	
+     Two parameters define the geometry :
+ 	- the material of the box,
+	- the (full) size of the box.
+     The default is 500 m of iron.
+     	 	
+     In addition a transverse uniform magnetic field can be applied.
+ 	
+     The default geometry is constructed in DetectorConstruction class,
+     but all of the above parameters can be changed interactively via
+     the commands defined in the DetectorMessenger class.
+ 	
+ 2- PHYSICS LIST
+ 
+     The particle list is the one of novice/exampleN03.
+     The physics list contains the 'standard' electromagnetic processes,
+     and decay.
+     
+     For Gamma, only the GammaConversionToMuons has been registered.
+     Futhermore, a high production cut (1 km, which gives infinity in energy)
+     prevent any production of delta-electrons from ionization or gamma
+     from bremsstrahlung.
+     For Positrons, only the annihilation process is selected.
+ 		
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+     The primary kinematic consists of a single particle which hits the
+     block perpendicular to the input face. The type of the particle
+     and its energy are set in the PrimaryGeneratorAction class, and can
+     changed via the G4 build-in commands of ParticleGun class (see
+     the macros provided with this example).
+     The default is a Gamma of 100 TeV.
+     	
+     In addition one can choose randomly the impact point of the incident
+     particle. The corresponding interactive command is built in
+     PrimaryGeneratorMessenger class.
+	 	
+     A RUN is a set of events.
+ 	
+ 				
+ 4- VISUALIZATION
+ 
+     The Visualization Manager is set in the main().
+     The initialisation of the drawing is done via the command
+     > /control/execute vis.mac
+ 	
+     The detector has a default view which is a longitudinal view of the box.
+ 	
+     The tracks are drawn at the end of event, and erased at the end of run.
+     Optionaly one can choose to draw all particles, only the charged one,
+     or none. This command is defined in EventActionMessenger class.
+
+ 5- PHYSICS DEMO
+
+     The particle's type and the physic processes which will be available
+     in this example are set in PhysicsList class.
+
+     In addition a build-in interactive command (/process/inactivate proname)
+     allows to activate/inactivate the processes one by one.
+
+     The threshold for producing secondaries can be changed.
+     eg: /run/particle/setCut 100 micrometer
+         /run/initialize
+	 
+     To visualize the GammaConversionToMuons :
+        /control/execute run01.mac
+	/control/execute vis.mac
+	/run/beamOn
+		 
+     To visualize the AnnihiToMuPair :
+        /control/execute run11.mac
+	/control/execute vis.mac
+	/run/beamOn
+		  	
+ 6- HOW TO START ?
+ 
+     - compile and link to generate an executable
+	% cd geant4/examples/extended/electromagnetic/TestEm6 
+ 	% gmake
+ 		
+     - execute Test  in 'batch' mode from macro files
+ 	% TestEm6    run01.mac
+ 		
+     - execute Test  in 'interactive mode' with visualization
+ 	% TestEm6 
+ 		....
+ 	Idle> type your commands
+ 		....
+ 	Idle> exit
+ 
+ 7- HOW TO INCREASE STATISTICS ON gamma -> mu+mu- ?
+ 
+     The processes of gamma -> mu+mu-  and e+e- -> mu+mu-
+     have a low cross section but can be important
+     for leakage through thick absorbers and calorimeters.
+     Straight forward simulation will be quite time consuming.
+     To make the processes more visible, the cross section can be
+     artificially increased by some factor (here 1000)
+     using the commands  (only effective after  /run/initialize)
+
+     /testem/phys/SetGammaToMuPairFac  1000
+     /testem/phys/SetAnnihiToMuPairFac 1000
+ 
+	
+ 8- HISTOGRAMS
+ 
+  Testem6 produces 6 histograms which illustrate the final state of 
+  the GammaConversionToMuons process. See their definitions in RunAction.cc   
+
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+
+  Before compilation of the example it is optimal to clean up old files:
+	gmake histclean
+	gmake
+	
+  By default the histograms are saved as testem6.hbook
+  It is possible to choose the format of the histogram file (hbook, root, XML):
+  comment/uncomment 1 line in the constructor of RunAction. 
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm7/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm7/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm7/README/index.html	(revision 901)
@@ -0,0 +1,196 @@
+$Id: README,v 1.17 2007/12/04 12:06:28 vnivanch Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm7 
+                            -------
+
+     How to produce a Bragg curve in a water phantom.
+     How to compute the dose in small 'test volumes' called tallies.
+     How to define a maximum step size.
+	
+ 1- GEOMETRY DEFINITION
+ 
+     The geometry consists of a single block of a homogenous material,
+     placed in a world.
+     	
+     Three parameters define the geometry :
+ 	- the material of the box,
+	- the thickness of the box (sizeX),
+	- the  tranverse dimension of the box (sizeYZ).
+	
+     The default is 20 cm of water.
+     	 	
+     In addition a transverse uniform magnetic field can be applied.
+ 	
+     The default geometry is constructed in DetectorConstruction class,
+     but all of the above parameters can be changed interactively via
+     the commands defined in the DetectorMessenger class.
+     
+     The size, matter, positions of several test-volumes (tallies) can be
+     defined via UI commands : /testem/det/tally...    
+ 	
+ 2- PHYSICS LIST
+
+    The following EM physics lists are available in this example:	 
+    - "standard"     standard EM physics (default)
+    - "livermore"    low-energy EM physics using Livermore data
+    - "penelope"     low-energy EM physics implementing Penelope models
+    - "standardSS"   standard EM physics with single Coulomb scattering 
+                     instead of multiple scattering; G4ionIonisation is 
+                     substituted by G4ionGasIonisation for GenericIons
+    - "standardNR"   standard EM physics with single Coulomb scattering 
+                     process G4ScreenedNuclearRecoil instead of the 
+                     multiple scattering; the new process was developed 
+                     by M.H. Mendenhall and R.A. Weller from Vanderbuilt 
+                     University and published in NIM B 277 (2005) 420.
+                     In later Geant4 releases the process will be a part
+                     of Geant4 source, currently it is released together
+                     with its mathematical tool c2_functions in current 
+                     example
+    
+    Alternatively, the user may use predefined Geant4 builders:
+    - "emstandard"        G4EmStandardPhysics builder
+    - "emstandard_opt1"   G4EmStandardPhysics_option1 builder
+    - "emstandard_opt2"   G4EmStandardPhysics_option2 builder
+    See geant4/source/physics_lists/History for details        
+
+    Optional components can be added:
+    - "elastic"       elastic scattering of hadrons
+    - "HElastic"
+    - "QElastic"    
+    - "binary"        QBBC configuration of hadron inelastic models
+    - "binary_ion"    Binary ion inelastic models 		
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+     The primary kinematic consists of a single particle which hits the
+     block perpendicular to the input face. The type of the particle
+     and its energy are set in the PrimaryGeneratorAction class, and can
+     changed via the G4 build-in commands of ParticleGun class (see
+     the macros provided with this example).
+     The default is proton 160 MeV
+     	
+     In addition one can define randomly the impact point of the incident
+     particle. The corresponding interactive command is built in
+     PrimaryGeneratorMessenger class.
+	 	
+     A RUN is a set of events.
+ 	
+ 				
+ 4- VISUALIZATION
+ 
+     The Visualization Manager is set in the main().
+     The initialisation of the drawing is done via the command
+     > /control/execute vis.mac
+ 	
+     The detector has a default view which is a longitudinal view of the box.
+ 	
+     The tracks are drawn at the end of event, and erased at the end of run.
+     Optionaly one can choose to draw all particles, only the charged one,
+     or none. This command is defined in EventActionMessenger class.
+     
+		  	
+ 5- HOW TO START ?
+ 
+     - compile and link to generate an executable
+	% cd geant4/examples/extended/electromagnetic/TestEm7 
+ 	% gmake
+ 		
+     - execute Test  in 'batch' mode from macro files
+ 	% TestEm7    proton.mac
+ 		
+     - execute Test  in 'interactive mode' with visualization
+ 	% TestEm7 
+ 		....
+ 	Idle> type your commands
+ 		....
+ 	Idle> exit
+
+
+ 6- HISTOGRAM OF THE BRAGG PEAK
+ 
+     Testem7 computes the total energy deposited along the trajectory of 
+     the incident particle : the so-called Bragg peak.
+     
+     In order to control the accuracy of the deposition, the user can limit
+     the maximum allowed for the step size of charged particles.
+     (command /testem/stepMax )
+ 
+     The result is a 1D histogram  which is the total energy deposited along 
+     the trajectory of the incident particle.
+     
+     The histogram is saved in hbook format (testem7.hbook) 
+     
+     The bin size is egal to stepMax. The number of bins is determined by 
+     the thickness of the absorber (with a minimum of 100 bins).
+     The total energy deposited is plotted in MeV/mm per incident particle.  
+
+     Note that, by default, histograms are disabled. To activate them, uncomment
+     G4ANALYSIS_USE in GNUmakefile.
+     
+  7- DOSE IN 'TEST-VOLUMES'
+  
+     The energy deposited in the test-volumes (tallies) defined in
+     DetectorConstruction are printed at EndOfRun, both in MeV and gray.
+ 
+
+ 8- USING HISTOGRAMS
+
+  By default the histograms are not activated. To activate histograms
+  the environment variable G4ANALYSIS_USE should be defined. For instance
+  uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+
+  It is possible to choose the format of the histogram file (hbook, root, XML):
+  comment/uncomment 1 line in  RunAction::bookHisto().
+  
+  Before compilation of the example it is optimal to clean up old files:
+  	gmake histclean
+  	gmake 
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm8/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm8/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm8/README/index.html	(revision 901)
@@ -0,0 +1,103 @@
+$Id: README,v 1.4 2003/11/24 18:09:22 vnivanch Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm8  
+                            -------
+
+    Test for investigation of ionisation in thin absorbers, transition 
+    and synchrotron radiations.
+
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	The "absorber" is a tube made of a given material.                
+ 	
+ 	Three parameters define the absorber :
+ 	- the material of the absorber,
+	- the thickness of an absorber,
+ 	- the transverse size of the absorber (the input face is a square). 
+    
+        The volume "World" contains the "absorber". 
+        In this test the parameters of the "World" can be changed , too.
+
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all the parameters can be changed via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle which hits the
+ 	absorber perpendicular to the input face. The type of the particle
+ 	and its energy are set in the PrimaryGeneratorAction class, and can
+ 	be changed via the G4 build-in commands of ParticleGun class (see
+ 	the macros provided with this example).
+ 	
+ 	A RUN is a set of events.
+ 	
+ 3- DETECTOR RESPONSE
+
+        Here we test G4PAIionisation , G4IonisationByLogicalVolume and 
+        transition radiation processes
+ 
+ 	A HIT is a record, event per event , of all the 
+ 	informations needed to simulate and analyse the detector response.
+ 	
+ 	In this example a CalorHit is defined as a set of 2 informations:
+ 	- the total energy deposit in the absorber,
+ 	- the total tracklength of all charged particles in the absorber,  
+ 	
+ 	Therefore  the absorber is declared
+ 	'sensitive detector' (SD), which means they can contribute to the hit.
+ 	
+ 	At the end of a run, from the histogram(s), one can study 
+	different physics quantities such as :
+                                - angle distribution,
+				- energy deposit,
+ 				- transmission/backscattering,
+ 				-  ...
+        
+        The test contains 10 built-in histograms, which can be activated by
+        interactive commands (see the macros runxx.mac for details).
+
+        The histogram files can be viewed using PAW e.g with the commands 
+
+                paw> h/file 1 geant4.plot01 or g4.p11
+                paw> option stat
+                paw> h/pl 1
+
+
+ 				
+ 4- PHYSICS DEMO
+ 
+ 	The particle's type and the physic processes which will be available
+ 	in this example are set in PhysicsList class.
+ 	
+ 	The  messenger classes introduce interactive commands . Using these
+        commands the geometry of the detector, the data of the primary
+        particle, the limits of the histograms , etc. can be changed.
+ 	
+
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd TestEm8
+ 		% gmake
+ 		
+ 	- execute TestEm8 in 'batch' mode from macro files e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm8   run11.mac
+		
+ 	- execute TestEm8 in 'interactive' mode with visualization e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/TestEm8
+		....
+		Idle> type your commands
+		....
+		
+ 	
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm9/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm9/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/electromagnetic/TestEm9/README/index.html	(revision 901)
@@ -0,0 +1,140 @@
+$Id: README,v 1.10 2006/11/22 18:58:25 vnivanch Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestEm9
+                            -------
+     Demonstrate electromagnetic physics in crystal calorimeters.
+     How to define cut-per-region.
+     
+ 1- GEOMETRY DEFINITION
+
+     The geometry consists of the vertex detector (VD), the electromagnetic
+     calorimeter (EM), and the muon identifier (MU). Detector layout along
+     the axis Z.
+
+     VD consisted of 3 layers of Si with pads structured along the axis X.
+     Between VD and EM there are 2 active absorbers (scintillators).
+     EM is the matrix 5x5 of heavy crystals. MU consist of 2 active absorbers
+     (scintillators) and the iron plate between.
+
+     2 additional to the World regions are defined: VertexDetector and
+     MuonDetector. For testing purposes first absorber of MU is included in
+     the region of VD.
+
+     Material of calorimiter and absorber can be choosen:
+          Air Water lAr Al Fe BGO PbWO4 Pb.
+     eg: /testem/det/CalMat PbWO4
+         /testem/det/AbsMat Al
+
+     The size of the detector can be changed also.
+
+     eg: /testem/det/EcalLength   20  cm
+         /testem/det/EcalWidth     5  cm
+         /testem/det/update             ---> rebuild the geometry
+
+ 2- PHYSICS LISTS
+
+    Physics Lists are based on modular design. Few modules are instantiated:
+    1. Transporatation
+    2. EM physics
+    3. Decays
+    4. StepMax - for steplimitation
+
+    The following options for EM physics are available:	 
+    - "standard"        the best standard EM physics (default)
+    - "G4standard"      recommended standard EM physics for LHC
+    - "G4standard_fast" the best CPU performance standard physics for LHC
+    - "G4standard_exp"  experimental standard physics for LHC
+    - "Livermore"       low-energy EM physics using Livermore data
+    - "Penelope"        low-energy EM physics implementing Penelope models
+
+    Optional components can be added:
+    - "elastic"       elastic scattering of hadrons
+    - "binary"        QBBC configuration of hadron/ion inelastic models
+    - "gamma_nuc"     gamma- and electro-nuclear processes
+    - "stopping"      stopping processes
+
+ 3- AN EVENT : THE PRIMARY GENERATOR
+
+     The primary kinematic consists of a single particle which hits the
+     cylinder perpendicular to the input face. The type of the particle
+     and its energy are set in the PrimaryGeneratorAction class, and can
+     changed via the G4 build-in commands of ParticleGun class.
+
+ 4- OUTPUT
+
+     The batch regime of simulation can be started 
+       $G4WORKDIR/bin/$G4SYSTEM/TestEm9 TestEm9.in
+     where TestEm9.in is the example of macro file for batch job.
+
+     As a result of simulation the number of secondaries produced
+     in different regions are averaged. The average energy depositions
+     in active absorbers and EM as well as RMS of these values are shown.
+     The number of hits in pads of VD is printed out.
+
+ 5- VISUALISATION
+
+     To use visualisation the environment variable G4_VIS_USE should be 
+     defined. An interactive session starts if no macro file is specified 
+     in the command line:
+       $G4WORKDIR/bin/$G4SYSTEM/TestEm9
+
+     To start visualisation one can issur 
+     >/control/execute vis.mac
+     >/run/beamOn 1
+
+ 6- ANALYSIS
+
+     To create histograms/ntuple for further analysis one should define
+     environment variable G4ANALYSIS_USE and setup local AIDA implementation.
+     The example should be recompiled:
+
+     gmake histclean
+     gmake
+      
+     The macro file csi.mac can be used as exmple of macro for analysis. It
+     can be executed in the following way:
+     $G4WORKDIR/bin/$G4SYSTEM/TestEm9 csi.mac
+
+ 
+ 7- Using histograms
+ ------------------- 
+
+By default the histograms are not activated. To activate histograms
+the environment variable G4ANALYSIS_USE should be defined. For instance
+uncomment the flag G4ANALYSIS_USE in GNUmakefile.
+
+To use histograms any of implementations of AIDA interfaces should
+be available (see http://aida.freehep.org).
+
+A package including AIDA and extended interfaces also using Python
+is PI, available from: http://cern.ch/pi .
+
+Once installed PI or PI-Lite in a specified local area $MYPY, it is
+required to add the installation path to $PATH, i.e. for example,
+for release 1.2.1 of PI:
+
+setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+CERN users can use the PATH to the LCG area on AFS.
+
+Before compilation of the example it is optimal to clean up old 
+files:
+
+gmake histclean
+gmake
+
+Before running the example the command should be issued:
+
+eval `aida-config --runtime csh`
+
+It is possible to choose the format of the output file with 
+histograms using UI command:
+
+/testem/histo/setFileType type
+
+The following types are available: hbook, root, xml.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/errorpropagation/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/errorpropagation/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/errorpropagation/README/index.html	(revision 901)
@@ -0,0 +1,33 @@
+This is an example illustrating the use of the error propagation utility. 
+
+A G4ErrorFreeTrajState is created to simulate a muon track of 20 GeV along the X axis. Then the track is propagated until the target is reached.
+
+The geometry is a simplified typical HEP detector:
+  An air beamline ( BEAM )
+  An air central detector ( CDET )
+  A copper calorimeter, divided in four ( ECAL )
+  An aluminium calorimeter, divided in ten ( HCAL )
+  An air muon detector ( MUON )
+
+It is inmersed in a magnetic field along the Z axis with default value -1 kilogauss. This value can be changed with the command "/exerror/setField.
+
+
+The type of target can be chosen with the enviromental variable G4ERROR_TARGET:
+
+  PLANE_SURFACE :  use a G4ErrorPlaneSurfaceTarget perpendicular to X at (2241. mm, 0, 0)
+  CYL_SURFACE : use a G4ErrorCylSurfaceTarget parallel to Z of radius 2220 mm
+  VOLUME : use a G4ErrorGeomVolumeTarget with volume name "MUON"
+  TRKLEN : use a G4ErrorTrackLengthTarget with track length 2230 mm
+ 
+
+The user may also choose if the propagation is done forwards (the natural way, loosing energy) or backwards (in opposite direction, gaining energy), with the enviromental variable G4ERROR_MODE:
+ 
+  FORWARDS : propagate in the forward direction
+  BACKWARDS : propagate in the backward direction
+
+
+There are also two modes of propagation, that can be chosen with the enviromental variable G4ERROR_PROP
+
+  UNTIL_TARGET : propagate until target, all steps in one go
+  STEP_BY_STEP  propagate until target, returning control to the user at each step
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx01/README/index.html	(revision 901)
@@ -0,0 +1,54 @@
+$Id: README,v 1.3 2006/07/05 11:53:02 gcosmo Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            HepMCEx01
+                            ---------
+
+ HepMCEx01 is based on ExampleN04, which has a simplified collider detector 
+geometry. Only part of the primary generator action is replaced with new one. 
+This example demonstrates the following features.
+
+1. HepMC interface
+
+ ExN04PrimaryGeneratorAction has HepMCG4Interface as the generator.
+There are two types of generators provided as samples. One generator reads 
+primary information from a HepMC Ascii file (data/example_MyPythia.dat).
+The other one generates primaries directly invoking PYTHIA routines 
+in every event.
+
+2. Readout geometry
+
+ ExN04DetectorConstruction defines a simplified collider detecor
+geometry, tracker made of cylindrical tubes, calorimeter made of
+cylindrical tubes, and muon trackers made of planes.
+ Cylindrical calorimeter is made of tubes of lead and scintirator
+without cut in phi nor z direction. Energy deposition in scintirator
+is accumulated by ExN04CalorimeterSD sensitive detector, which has
+a readout geometry to find the phi-z cell.
+
+3. Full set of "ordinary" physics processes
+
+ ExN04PhysicsList defines almost all of leptons and hadrons which
+Geant4 has dedicated classes for. Also almost all physics processes 
+Geant4 has are defined.
+
+4. Event filtering by the stacking mechanism.
+
+ Higgs events in "pythia_event.data" have two lepton pairs produced
+by the Higgs decay via Z0. At the first stage of each event, only the
+primary muons are tracked without tracking secondaries. then the number
+of hits on the muon trackers are examined. At the next stage, only
+the primary charged particles are tracked only inside the barrel
+tracking area and the isolation of the primary muons are examined.
+At the third stage, all particles in the RoI (Region of Interest) along
+the isolated muons are tracked. All these examinations are applied in
+ExN04StackingAction.
+
+NOTE: it requires the installation of:
+      - CERNLIB 2005 and proper access to the "/cern/pro/bin" path included
+        in $PATH.
+      - HepMC, version 1.27 or greater and proper path defined in $HEPMC_DIR.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx02/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx02/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/HepMCEx02/README/index.html	(revision 901)
@@ -0,0 +1,42 @@
+$Id: README,v 1.1 2002/05/28 14:20:36 murakami Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            HepMCEx02
+                            ---------
+
+  This example demonstrates how to interface primary particles in Geant4
+with various event generators via the HepMC Monte Carlo event interface.
+This is another example having the same generator action as HepMCEx01, 
+but much simpler user control.
+
+1. Primary Generator
+
+ H02PrimaryGeneratorAction has HepMCG4Interface as the generator.
+There are two types of generators provided as samples. One generator reads 
+primary information from a HepMC Ascii file (data/example_MyPythia.dat).
+The other one generates primaries directly invoking PYTHIA routines 
+in every event.
+
+2. Geometry
+
+  A simplified collider-type geometry, which consists of 
+    - endcap calorimeter (a set of tubes filled with lead), 
+    - barrel calorimeter (tube filled with lead),
+    - barrel muon detector (8 sets of plates filled with Ar),
+    - endcap muon detecror, (a set of tubes filled with Ar) and
+    - uniform magnetic field along the z axis of 3 Tesla at the 
+      central region.
+
+3. Physics List 
+
+  Full set of "ordinary" physics processes, which is the same one as
+ExN04PhysicsList.
+
+4. User actions
+
+  All particles except muons are killed in the calorimeter section.
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/MCTruth/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/MCTruth/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/HepMC/MCTruth/README/index.html	(revision 901)
@@ -0,0 +1,167 @@
+$Id: README,v 1.1 2006/11/22 14:51:26 gcosmo Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                          MCTRUTH using HepMC
+                          -------------------
+
+This example demonstrates a mechanism for Monte Carlo truth handling
+using HepMC as the event record. The user does not interact directly
+with the HepMC classes but with the MCTruthManager class which takes
+care with storing all the necessary information about particles,
+vertices and relations between them. A specialized tracking action is
+used to test whether given particle is to be stored or not. The
+decision criteria for storing particle are configurable via the
+MCTruthConfig class. 
+
+HOW TO BUILD THE EXAMPLE ?
+
+- install HepMC event record (version 1.27)
+
+- set HEPMC_DIR variable to point to the directory where HepMC is installed;
+  add the path "$HEPMC_DIR/lib" to your LD_LIBRARY_PATH variable.
+
+- compile and link to generate the executable:
+        % gmake
+
+- execute the application:
+        % mctruthex
+
+DESCRIPTION OF THE MCTRUTH HANDLING MECHANISM
+ 
+The main element of the MC truth handling machinery is the
+MCTruthManager class. This class is responsible for all the
+interaction with the HepMC event and does not depend on Geant4. It is
+a singleton, therefore it is guaranteed to be instanciated only once
+and the static 'GetInstance' method allows to access it from anywhere
+in the code. It contains methods like 'NewEvent' to start a new event,
+'AddParticle' to add particle to the current event, as well as
+'PrintEvent' for the purpose of the debugging.  The core of the
+algorithm which deals with building up the MC truth event tree within
+the HepMC event is implemented in AddParticle method.
+ 
+The AddParticle method is called with the following arguments:
+four-momentum, production position and 'end' position of the particle,
+PDG code of the particle, as well as the particle ID (unique identifier,
+as we will see later, corresponding to Geant4 TrackID) and the ID of
+the mother. Finally, there is a boolean flag specifying whether the
+direct mother of the given particle has been stored, or not.
+ 
+The first step, which always takes place, is to instanciate a new
+HepMC::GenParticle with the barcode corresponding to particle ID, as
+well as to instanciate a new HepMC::GenVertex which will represent the
+'end' vertex of the particle. The barcode of the 'end vertex' is equal
+to minus the barcode of the particle.
+ 
+We can now distinguish several cases:
+ 
+1) the particle is a primary in the Geant4 language, i.e. its
+   mother ID is 0
+ 
+   This is the simplest case, we just instanciate a new 'primary'
+   (without any incoming particles) GenVertex, we add to it the
+   particle and we put it all in the event. Additionally we store the
+   ID of the particle in a special vector, where all the IDs of
+   primary particles will be stored, allowing quick access to each of
+   the main 'branches' of the event. We return from the method.
+ 
+2) the particle is not a primary
+
+   We use the 'event->barcode_to_particle(motherID)' method to get the
+   pointer to its mother.
+    
+   We check if the 'end vertex' of the mother corresponds to the
+   'production vertex' of the particle in question.
+ 
+   2.1) If the two vertices do match, we attach the new particle to
+        the 'end vertex' of the mother. We return from the method.
+ 
+   2.2) If the two vertices do not match, i.e. the new particle is not
+        a product of the 'end vertex' of the mother particle, we can
+        have two cases:
+                
+        2.2.1) The boolean flag says that the direct mother of the
+               particle has _not_ been stored. This means that the
+               particle has been 'adopted' by one of its ancestors, or
+               in other words, the mother ID of the particle does not
+               correspond to its direct mother (so clearly the
+               vertices cannot match). This for instance could happen
+               if we decided not to store gamma coming from pi0 decay
+               but did decide to store e+/- coming from the gamma
+               conversion (so the gamma between pi0 and e+/- was
+               missing). In such a case we instanciate (or use one of
+               the existing ones, if vertices match) a 'dummy'
+               particle (with pdg = -999999) which then acts as the
+               link between the 'adopted' particle and the
+               (non-direct) mother. In such a way, the navigability up
+               in the event is still possible, but in the same time,
+               we can clearly see that the link is not a direct
+               one. We return from the method.
+ 
+        2.2.2) The boolean flag says that direct mother of the
+               particle _has_ been stored. Taking into account that
+               the vertices do not match, it can mean only one
+               thing. The new particle has been produced 'on the
+               flight', i.e. somewhere 'before' the 'end vertex' of
+               the mother. This can be the case, for instace, for
+               delta electrons, bremsstrahlung gammas, etc.  In such a
+               situation, we 'split' the mother particle in two
+               particles and create a new vertex from which the
+               secondary will be going out. The complication, however,
+               arises when we have more than one generated 'on the
+               flight' particle attached to the same mother. In such a
+               case, for each secondary we need to locate the right
+               'segment' of the mother particle (i.e. we need to find
+               between which two vertices we need to add a new
+               one). To keep track of those segmentations we introduce
+               a map where each particle ID we map into the number of
+               existing segments (in the normal case one). Each new
+               'segment' gets barcode equal to the barcode of the
+               original particle + N*10000000, where N is the segment
+               number. In such a way, one can easily follow the
+               'segmentation' (if any) of each particle.  We return
+               from the method.
+ 
+This concludes the description of MCTruthManager. The MCTruthConfig
+class is a collection of criteria (minimal energy, PDG, creator
+process, etc) that we want to apply when deciding whether to store or
+not given particle. These values are used by the
+'MCTruthTrackingAction' which we describe below. This class can
+certainly be extended with other members.
+ 
+The actual Geant4-dependent part of the MCTruth handling machinery
+consists of a few 'G4 user actions' as well as an implementation of
+G4VUserTrackInformation. The later one is, for the moment, used only
+to store one boolean flag indicating whether the direct mother of the
+given track has been stored or not.
+ 
+The first user action is MCTruthEventAction which is only reponsible
+for calling MCTruthManager::GetInstance()->NewEvent() at the beginning
+of each event. It can also be used for printing out events for the
+purpose of debugging.
+ 
+The actual 'decision making' concerning which particle to store is
+done in MCTruthTrackingAction. At the end of each track the method
+trackToBeStored(track) is called to check for various characteristics
+of the particle. These, for instance can be energy, particle ID,
+creator process, etc.
+ 
+If the particle satisfies the conditions the
+MCTruthManager::GetInstance()->AddParticle is called and all the
+procedure described above is performed. The important element here is
+that the Geant4 TrackID is used as the unique particle ID in
+MCTruthManager and eventually as the barcode of the
+HepMC::GenParticle.
+ 
+If the particle does not qualify to be stored, there are two actions
+performed. First the 'ParentID' of the _daughters_ is set to the
+'ParentID' of the currenly processed particle. In other words, the
+'ParentID' of the daughters is set to the ID of the last stored
+particle. Second, the 'directParent' flag from MCTruthTrackInformation
+of the __daughters__ is set to FALSE. In such a way, one is still able
+to navigate up in the event (to get the ancestors of the particle),
+but in the same time, the particle is flagged as 'not having direct
+parent'.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/exgps/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/exgps/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/eventgenerator/exgps/README/index.html	(revision 901)
@@ -0,0 +1,124 @@
+
+    =========================================================
+    Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+    =========================================================
+
+                       Extended Example for G4GeneralParticleSource (GPS)
+                       --------------------------------------- 
+
+  exGPS is created to demonstrate the usage of G4GeneralParticleSource for generating 
+  primary incident particle according to user defined distributions. These range from simple 
+  monocromatic point source to complicated mutiple sources with various biasing schemes. 
+  
+  More detailed information on the usage of GPS are available on its home site: 
+	http://reat.space.qinetiq.com/gps
+
+  -------------------------------------------------------------------------------------------
+  1. GEOMETRY
+
+     Simple geometry consists of a "Vacuum" world and, in it with two other components:	     
+ 
+       - An alunimium box : 20 x 20 x 20 cm in size, cerntered at the origin.
+		  
+       - A SiO2 sphere: 5 cm in radius and is placed in the centre of the aluminium box. 
+
+  2. PHYSICS
+
+	Tranportation process only for all particles.
+
+  3. EVENT:
+
+     The event generator is the G4GeneralParticleSource (GPS). The instantiation of G4GeneralParticleSource
+     is same as that for G4ParticleGun. See the exGPSPrimaryGeneratorAction.cc file for details .  
+  
+  5. VISUALIZATION:
+ 
+     Visualisation of the geometry and the tracks is possible with many of the G4 visualisation packages. An
+     example of displaying the geometry and tracks using VRML is given in the macro file display_vrml.mac.  
+
+  6. ANALYSIS:
+
+     This example implements an AIDA-compliant analysis manager which creates histograms and ntuples. 
+     If user has an AIDA-compliant tool such as AIDAJNI, ANAPHE, or PI installed on his/her system, 
+     the analysis part of this example can be activated by: 
+
+	setenv G4ANALYSIS_USE 1
+
+     This needs to be done before building the executable.  
+
+     At the end of an excution, an xml file "exgps.aida" is created by default which contains 
+     histograms and ntuples. User can change the name and type of this output file with the commands
+	
+	/analysis/filetype new-type
+	/analysis/fileName new-filename
+
+	e.g.
+
+	/analysis/filetype hbook
+	/analysis/filename exgps.hbook
+
+     these change the output file type to "hbook" and name to "exgps.hbbok"
+
+     The output file conatins 6 histograms and one ntuple:
+
+	histogram 1: The energy spectrum of the primary particles.
+	histogram 2: 2d histogram of primary particle incident position distribution in the X-Y plane.
+	histogram 3: 2d histogram of primary particle incident position distribution in the X-Z plane.
+	histogram 4: 2d histogram of primary particle incident position distribution in the Y-Z plane.
+	histogram 5: 2d histogram of primary particle incident angle distribution in terms of Phi/Cos(Theta).
+	histogram 6: 2d histogram of primary particle incident angle distribution in terms of Phi/Theta.
+
+     The binnings of the histograms can be changed with the UI commands avialable under the 
+     /analysis directory.
+ 
+     In the ntuple the following data are recorded for each incident particle:  
+
+	Particle Name
+	Incident Position (x,y,z);
+	Incident Angle (theta,phi);
+	Particle weight;
+
+
+  7. GETTING STARTED:
+
+     i) If you have an AIDA-compliant analysis package installed, then you should switch on the analysis 
+     part of the example by: 
+
+	setenv G4ANALYSIS_USE 1
+
+     otherwise make sure the G4ANALYSIS_USE is not defined:
+ 
+	unsetenv G4ANALYSIS_USE
+ 
+     ii) Build the exGPS executable:
+
+         cd to exgps
+         gmake clean
+         gmake
+
+     gmake will create tmp and bin directories in your $G4TMP and $G4BIN directories. 
+     The executable, named exGPS, will be created in the $G4BIN/$G4SYSTEM/ directory.
+
+     iii) Run the executable: 
+
+     while in the exgps directory do 
+
+         $G4BIN/$G4SYSTEM/exGPS exrgps.in
+
+     If G4ANALYSIS_USE is defined, one should see a display of the six histograms. If JAIDA is used, one has 
+     to close the plotter window in order to terminate the execution. After the termination one will find 
+     the "exgps.aida", as well as a vrml file "g4_00.wrl" in the directory.
+
+ 8. FURTHER EXAMPLES of MACRO FILES:
+
+    There are a number of g4mac files in the ./macros subdirectory, to show the various features of GPS. 
+    Most of them will lead to the creation of an aida file in the same name as the macro file. 
+    These aida files can be examed and analysed with an analysis tool such as JAS3.
+
+	Please see the README file there for further information.
+
+
+ 
+
+
+  
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/BlineTracer/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/BlineTracer/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/BlineTracer/README/index.html	(revision 901)
@@ -0,0 +1,155 @@
+README file for the Geant4 BlineTracer module
+ 
+Author : Laurent Desorgher (desorgher@phim.unibe.ch) - 04/10/2003
+
+              -------------------------------------------------
+
+The BlineTracer module allows to trace and visualise magnetic field 
+lines in a Geant4 application where particle are tracked through the
+magnetic field (in future, these functionalities may be integrated in
+the Geant4 kernel).
+To use the tracer, the user should copy the classes provided here in
+his/her own application/example and create somewhere in his/her code
+an instance of a G4BlineTracer object.
+It can be anywhere (for example in the main code or in the user class
+defining the magnetic field):
+
+  #include "G4BlineTracer.hh"
+  G4BlineTracer* theBlineTool = new G4BlineTracer();
+
+
+Design principles:
+
+The core of the tool is the method ComputeBlines() of G4BlineTracer class.
+In this method a bline is computed by tracking a ChargedGeantino in the user
+defined magnetic field and by using a Bline equation of motion (class
+G4BlineEquation, motion along the field) instead of a Lorentz equation.   
+
+During the execution of this method :
+ 	
+	-The user defined  equations of motion associated to the different
+	 global  and local fields are replaced by instances of G4BlineEquation 
+	 associated to the same fields.
+	 The G4BlineEquation class defines the differential equation of a 
+	 magnetic field line. 
+
+	-User defined ChordFinders are replaced by new ChordFinders 
+	 associated to the G4BlineEquation object.
+
+	-The user primary generator action, run action, event action and
+	 stepping action are replaced by instances of the classes
+	 G4BlinePrimaryGeneratorAction, G4BlineTracer, G4BlineEventAction
+	 and G4BlineSteppingAction respectively. Other actions are set to
+	 a NULL pointer.
+
+After the execution of the method, the original user defined actions, equation
+of motions and chord-finders are restored.	 
+	 
+In other words, the deafult run-action is temporarly replaced by a
+G4BlineTracer run-action using the same Geometry, physics and magnetic fields
+but with a different equation of motion and user actions.
+
+The  GeneratePrimaries() method of the G4BlinePrimaryGeneratorAction class
+call the GeneratePrimaries() method of the user defined PrimaryGeneratorAction 
+for defining the start position and start time of tracking. 
+Start position for user application and for Bline tracking are therefore
+controlled by the same UI commands. 
+The type of particles to be tracked when tracing Blines is always set 
+to Charged-Geantino. This allows to switch off the effect of electromagnetic
+and hadronics physics when tracing field lines. 
+
+
+The G4BlineEventAction class is responsible to store computed magnetic field
+lines as a vector of Polylines and Polymarkers for later visualisation.
+These vectors can be drawn and reset at any time.
+
+The stepping action does nothing in this implementation but it can be used 
+in future versions to limit field line tracing to physical volumes defined
+by the user. For this purpose a G4BlineStackingAction could also be
+implemented. 
+
+User Manual:
+  
+  General description:
+
+The BlineTracer is controlled by the UI commands contained in the directory
+/vis/blineTracer. By calling the command 'computeBline', several magnetic field
+lines passing through user defined start positions are computed.
+Start positions are generated by the user primary generator action.
+By doing so, the definition of start positions is the same for usual particles
+tracking and magnetic field line tracking. 
+
+A magnetic field line is computed as a track of a charged geantino that moves 
+along the field line. The user can define the maximum length of a tracking step
+(only valid for Bline tracing purposes) by the use of the 'setMaxStepLength'
+command.
+By using small enough maximum step length, smooth magnetic field lines are 
+obtained. By using the command 'stockLines' and 'stockPoints' the user 
+can decide to store the series of tracking step positions defining  
+a magnetic field line as a Polyline object and/or a PolyMarker object
+(circles) respectively.
+These objects are stored in vectors of PolyLines and PolyMarkers.
+By using the command 'draw', these vectors are added to the scene
+of the visualisation manager, provided that a scene handler and 
+visualisation driver have been properly created.
+The scene is visualised by invoking the vis command '/vis/show'.
+Polyline objects are visualised as line segments joining the different 
+step positions defining a line, while for a Polymarker object markers
+(here circles), are  drawn at each step positions.
+By using the 'setColour' the user defines the visualisation colour 
+that will be associated to the next computed magnetic field lines. 
+By calling 'setPointSize' the user defines the size of visualisation markers
+that will be  associated to the next computed magnetic field lines. 
+The user can remove the vector of Polymarker and Polyline from the memory 
+by invoking 'resetMaterialToBeDrawn'.
+When using small max step size and polymarkers for visualisation purposes, the
+thickness of a smooth magnetic field line is obtained. It is controlled by the
+Marker size parameter ('setPointSize')  
+
+ Command description: 
+	/vis/blineTracer/computeBline  nb_of_lines :  
+		Parameters: integer nb_of_lines      
+		Description: Compute nb_of_lines different magnetic field lines
+	
+	/vis/blineTracer/setMaxStepLength max_step_length : 
+		Parameters: double max_step_length 
+		Description: Set the maximum tracking step length for computing 
+		             magnetic field lines
+			     
+        /vis/blineTracer/setColour  red green blue
+		Parameters: double red, green, blue
+		Description: Define  the colour for visualisation of the 
+			    next computed magnetic field lines. The color is
+			    defined by a  RGB code (red,green,blue)  with all
+			    parameters smaller than 1.
+			    
+ 	/vis/blineTracer/stockLines aBool
+		Parameters: boolean aBool
+		Desscription: If true the next computed field lines are stored
+			      as Polylines for further visualisation
+	/vis/blineTracer/stockLines aBool
+		Parameters: boolean aBool
+		Desscription: If true the next computed field lines are stored
+			      as Polymarkers for further visualisation
+			      
+  	/vis/blineTracer/setPointSize point_size
+		Parameters: double point_size
+		DEscription: set the size of the visualisation  markers
+			     that will be associated with the next computed
+			     magnetic field lines
+   
+        /vis/blineTracer/resetMaterialToBeDrawn
+		Parameters: none
+		Description: The vector of Polyline and Polymarker representing 
+			     magnetic field lines to be visualised are removed
+			     from memory
+	
+	/tracking/storeTrajectory 1 :
+	       If the storeTrajectory parameter is not set no field lines are
+	       stored.		     
+			     
+Current limitations & known problems:
+
+	The tool is working properly only for detectors parts where magnetic
+        field are defined. It is planned in the future to stop the tracking of
+	field lines in regions where no fields are existing.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field01/README/index.html	(revision 901)
@@ -0,0 +1,84 @@
+$Id: README,v 1.4 2004/12/02 11:20:27 japost Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            field01
+                            -------
+
+    Example enabling investigation of tracking in a magnetic field.
+    Electromagnetic processes also included.
+
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	The "absorber" is a solid made of a given material.                
+ 	
+ 	Three parameters define the absorber :
+ 	- the material of the absorber,
+	- the thickness of an absorber,
+ 	- the transverse size of the absorber (the input face is a square). 
+    
+        The volume "World" contains the "absorber". 
+        In this test the parameters of the "World" can be changed , too.
+
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all the parameters can be changed via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle (proton, Ekin = 1 GeV)
+        which hits the
+ 	absorber perpendicular to the input face. The type of the particle
+ 	and its energy are set in the PrimaryGeneratorAction class, and can
+ 	be changed via the G4 build-in commands of ParticleGun class (see
+ 	the macros provided with this example).
+ 	
+ 	A RUN is a set of events.
+ 	
+ 3- DETECTOR RESPONSE
+
+        The spatial distribution of charged particles transported in magnetic
+        field is envistigated.
+ 	A HIT is a record, event per event , of all the 
+ 	informations needed to simulate and analyse the detector response.
+ 	
+ 	In this example a CalorHit is defined as a set of 2 informations:
+ 	- the total energy deposit in the absorber,
+ 	- the total tracklength of all charged particles in the absorber,  
+ 	
+ 	Therefore  the absorber is declared
+ 	'sensitive detector' (SD), which means they can contribute to the hit.
+ 				
+ 4- PHYSICS DEMO
+ 
+ 	The particle's type and the physic processes which will be available
+ 	in this example are set in PhysicsList class.
+ 	
+ 	The  messenger classes introduce interactive commands . Using these
+        commands the geometry of the detector, the data of the primary
+        particle, etc. can be changed.
+ 	
+
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd $G4INSTALL/example/extended/field/field01
+ 		% gmake
+ 		
+ 	- execute field01 in 'batch' mode from macro file e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/field01 field01.in
+		
+ 	- execute field01 in 'interactive' mode with visualization e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/field01
+		....
+		Idle> type your commands
+		....
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field02/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field02/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field02/README/index.html	(revision 901)
@@ -0,0 +1,88 @@
+$Id: README,v 1.5.2.1 2008/05/05 09:23:47 gcosmo Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            field02 
+                            -------
+
+    Test for investigation of tracking in electric field 
+    and field dependent electromagnetic processes.
+
+ 1- FIELD DEFINITION
+        The field is a constant electric field.
+
+        Technical note: in order to use any electric field, it is
+ 	necessary to create the objects for its equation of motion,
+	the stepper and driver for the integration, and the 
+	chord finder.
+
+        The class that does these is F02ElectricFieldSetup.
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	The "absorber" is a solid made of a given material.                
+ 	
+ 	Three parameters define the absorber :
+ 	- the material of the absorber,
+	- the thickness of an absorber,
+ 	- the transverse size of the absorber (the input face is a square). 
+    
+        The volume "World" contains the "absorber". 
+        In this test the parameters of the "World" can be changed , too.
+
+ 	In addition a transverse uniform electric field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all the parameters can be changed via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle which hits the
+ 	absorber perpendicular to the input face. The type of the particle
+ 	and its energy are set in the PrimaryGeneratorAction class, and can
+ 	be changed via the G4 build-in commands of ParticleGun class (see
+ 	the macros provided with this example).
+ 	
+ 	A RUN is a set of events.
+ 	
+ 3- DETECTOR RESPONSE
+
+ 
+ 	A HIT is a record, event per event , of all the 
+ 	informations needed to simulate and analyse the detector response.
+ 	
+ 	In this example a CalorHit is defined as a set of 2 informations:
+ 	- the total energy deposit in the absorber,
+ 	- the total tracklength of all charged particles in the absorber,  
+ 	
+ 	Therefore  the absorber is declared
+ 	'sensitive detector' (SD), which means they can contribute to the hit.
+ 				
+ 4- PHYSICS DEMO
+ 
+ 	The particle's type and the physic processes which will be available
+ 	in this example are set in PhysicsList class.
+ 	
+ 	The  messenger classes introduce interactive commands . Using these
+        commands the geometry of the detector, the data of the primary
+        particle, etc. can be changed.
+ 	
+
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd $G4INSTALL/example/extended/field/field02
+ 		% gmake
+ 		
+ 	- execute field02 in 'batch' mode from macro file e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/field02 field02.in
+		
+ 	- execute field02 in 'interactive' mode with visualization e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/field02
+		....
+		Idle> type your commands
+		....
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field03/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field03/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field03/README/index.html	(revision 901)
@@ -0,0 +1,80 @@
+$Id: README,v 1.4 2004/10/27 11:19:13 japost Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            field03
+                            -------
+
+    Example of tracking in magnetic field where field associated
+    to selected logical volumes varies.
+
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	The "absorber" is a solid made of a given material.                
+ 	
+ 	Three parameters define the absorber :
+ 	- the material of the absorber,
+	- the thickness of an absorber,
+ 	- the transverse size of the absorber (the input face is a square). 
+    
+        The volume "World" contains the "absorber". 
+        In this test the parameters of the "World" can be changed , too.
+
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all the parameters can be changed via
+ 	the commands defined in the DetectorMessenger class.
+ 	
+ 2- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle which hits the
+ 	absorber perpendicular to the input face. The type of the particle
+ 	and its energy are set in the PrimaryGeneratorAction class, and can
+ 	be changed via the G4 build-in commands of ParticleGun class (see
+ 	the macros provided with this example).
+ 	
+ 	A RUN is a set of events.
+ 	
+ 3- DETECTOR RESPONSE
+
+ 
+ 	A HIT is a record, event per event , of all the 
+ 	informations needed to simulate and analyse the detector response.
+ 	
+ 	In this example a CalorHit is defined as a set of 2 informations:
+ 	- the total energy deposit in the absorber,
+ 	- the total tracklength of all charged particles in the absorber,  
+ 	
+ 	Therefore  the absorber is declared
+ 	'sensitive detector' (SD), which means they can contribute to the hit.
+
+ 				
+ 4- PHYSICS DEMO
+ 
+ 	The particle's type and the physic processes which will be available
+ 	in this example are set in PhysicsList class.
+ 	
+ 	The  messenger classes introduce interactive commands . Using these
+        commands the geometry of the detector, the data of the primary
+        particle, etc. can be changed.
+ 	
+
+ 5- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd $G4INSTALL/example/extended/field/field03
+ 		% gmake
+ 		
+ 	- execute field03 in 'batch' mode from macro files e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/field03 field03.in
+		
+ 	- execute field03 in 'interactive' mode with visualization e.g.
+ 		% $(G4INSTALL)/bin/$(G4SYSTEM)/field03
+		....
+		Idle> type your commands
+		....
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field04/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field04/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/field/field04/README/index.html	(revision 901)
@@ -0,0 +1,421 @@
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+
+
+                            field04 Example
+                            ---------------
+
+     This example shows how to define/use OVERLAPPING field elements 
+     in Geant4. Fields might be either magnetic, electric or both.
+
+     Credit goes to Tom Roberts and Muons Inc. since much of the code
+     and ideas were taken at liberty from the (GNU GPL) source of 
+     G4BEAMLINE release 1.12.
+
+     http://g4beamline.muonsinc.com
+
+**************
+*Classes Used*
+**************
+
+ 1 - main()
+
+        Note:
+
+        //  runManager->Initialize();
+
+        is commented out and must be executed with: /run/initialize
+        either in a macro or on the command line. Note: One can change
+        the geometry (see below) only BEFORE the initialization!
+
+        Is is possible to assign the PhysicsList via an argument to
+        program submission:
+
+        field04 -p QGSP_BERT
+
+        and an initial random number seed with:
+
+        field04 field04.in 12345
+
+        It is also possible to specify more than one macro file which are
+        then executed in succession:
+
+        field04 field04.in field04.in 12345
+
+        (Note, in this case the initial random # must also be provided)
+
+        (1) argc holds the number of arguments on the command line. Since
+            this MUST include at least the program name, argc value is >= 1!
+        (2) argv[0] is always the name of the program
+            argv[1] points to the first argument, and so on ...
+        (3) argv[argc-1] is assumed to be the intial random # seed
+        (4) the loop over macro files goes from optind = 1 to (argc-1)
+
+
+ 2- GEOMETRY DEFINITION
+
+        The geometry consists of two solenoidal magnets: a "CaptureMgnt"
+        followed by a (bloe-colored "TransferMgnt". By definition, the
+        axis and center of the "CaptureMgnt" coincide with the "World". The
+        position of the "TransferMgnt" relative to the downstream end of the
+        "CaptureMgnt", as well as its axis angle, both may vary. A cylindrical
+        "Target" is positioned inside the "CaptureMgnt". Its axis can vary
+        from 0 to 180 deg, and hence also the direction of the incoming
+        proton beam wrt the "CaptureMgnt"'s axis. A "Degrader" is located
+        inside the "TransferMgnt", its default position being at the
+        upstream end of the "TransferMgnt". Finally, also a "TestPlane" is
+        located inside the "TransferMgnt", by default at its downstream end.
+
+
+        The "World" consists of a solid cylinder made of a given material.
+          (It is the responsibility of the user to make the world
+           large enough to contain the rest of the geometry!)
+
+        Three parameters define the world :
+        - the material of the world,
+        - the world radius,
+        - the world length.
+
+        Example (default values):
+        /field04/SetWorldMat G4_AIR
+        /field04/SetWorldR  5.0 m
+        /field04/SetWorldZ 50.0 m
+
+
+        The "Target" is a solid cylinder made of a given material.
+
+        Five parameters define the target:
+        - the material of the target,
+        - the target radius,
+        - the target thickness,
+        - the target position inside the "CaptureMgnt",
+        - the target axis angle relative to that of the "CaptureMgnt".
+
+        Example (default values):
+        /field04/SetTgtMat G4_W
+        /field04/SetTgtRad    0.4 cm
+        /field04/SetTgtThick 16.0 cm
+        /field04/SetTgtPos 0.0 cm
+        /field04/SetTgtAng 170
+
+
+        The "Degrader" is a solid cylinder  made of a given material.
+
+        Four parameters define the degrader:
+        - the material of the degrader,
+        - the degrader radius,
+        - the degrader thickness,
+        - the degrader position relative to the "TransferMgnt" center.
+
+        Example (default values):
+        /field04/SetDgrMat G4_Pb
+        /field04/SetDgrRad  30.0 cm
+        /field04/SetDgrThick 0.1 cm
+        #/field04/SetDgrPos -7.4 m
+
+
+        The "CaptureMgnt" is a solenoid (vacuum cylinder). It is either
+        a two-sided or a one-sided magnetic bottle with the B field
+        varying linearly from the center value B1 to the edge value B2.
+        The one-sided 'FocusSolenoid' has the open end at +z and focuses
+        on the z < 0 side.
+
+        Four parameters define the "CaptureMgnt":
+        - the magnet radius,
+        - the magnet length,
+        - the weaker magnetic field at the center B1
+        - the stronger magnetic field at the edge B2
+
+        Example (default values):
+        /field04/SetCaptureR 0.6 m 
+        /field04/SetCaptureZ 4.0 m
+        /field04/SetCaptureB1 2.5 tesla 
+        /field04/SetCaptureB2 5.0 tesla
+
+
+        The "TransferMgnt" is a solenoid (vacuum cylinder) with a 
+        constant B-field. When the "TransferMgnt" follows immediately
+        the "CaptureMgnt", its relative position is at 0 cm.
+
+        Four parameters define the "TransferMgnt":
+        - the magnet radius,
+        - the magnet length,
+        - the magnet field,
+        - the magnet relative position
+          (its upstream face wrt the downstream face of the "CaptureMgnt".)
+
+        Example (default values):
+        /field04/SetTransferR  0.3 m
+        /field04/SetTransferZ 15.0 m
+        /field04/SetTransferB 5.0 tesla
+        /field04/SetTransferP 0.0 m
+
+        The default geometry is constructed in DetectorConstruction class,
+        but all the parameters can be changed via the commands defined in 
+        the DetectorMessenger class.
+
+
+ 3- MATERIAL DEFINITION
+
+        Material definitions are done through the singleton class Materials
+        which keeps a pointer to the G4NistManager. It has a method
+        GetMaterial by name (G4String) which in turn invokes the
+        G4NistManager::FindOrBuildMaterial, and/or G4Material::GetMaterial
+        methods. It has also a method CreateMaterials which, for materials
+        absent from the NIST data base, shows how to create them using the
+        G4NistManager::ConstructNewMaterial method.
+
+
+ 4- AN EVENT: THE PRIMARY GENERATOR
+
+        The primary kinematic consists of a single particle which hits the
+        target perpendicular to its upstream face. The type of the particle
+        and its energy are set in the PrimaryGeneratorAction class, and can
+        be changed via the G4 build-in commands of the ParticleGun class.
+        In addition, there is a rndmFlag, which once set allows the beam to
+        explore randomly the whole cross section of the target. The default
+        beam consists of 500 MeV protons, starting at the upstream face of
+        the target, directed along dx = dy = 0, dz = 1 wrt the target frame.
+        The default direction should NOT be changed! The arguments of the
+        x/y/zvertex commands are relative to the target center.
+
+        Example:
+        /gun/random on
+        #/gun/xvertex 0 mm
+        #/gun/yvertex 0 mm
+        #/gun/zvertex -100 mm
+
+
+ 5- DETECTOR RESPONSE
+
+        Information is extracted from the program via SteppingAction
+        at the TestPlane.
+
+
+ 6- PHYSICS 
+
+        The PhysicsList is adopted from examples/extended/hadronic/Hadr01.
+        It uses components which are distributed with Geant4 in
+        /geant4/physics_lists subdirectory. So, before compiling field04
+        it is necessary to compile physics_lists.
+
+        There are two std::vector<G4VPhysicsConstructor*> PhysicsListVectors;
+        one for EM- and one for HadronPHysics and a user defined process
+        "StepMax".
+
+        The choice of the physics is provided by the UI command:
+
+        /exp/phys/addPhysics emstandard_opt1
+        /exp/phys/addPhysics QGSP_BERT
+
+        To see the list of available configurations one can use:
+
+        /exp/phys/list
+
+        The command:
+
+        /exp/phys/addPhysics PHYSLIST
+
+        allows to download a physics configuration defined by an
+        environment variable PHYSLIST.
+
+        The cuts for electromagnetic phsyics can be established via:
+
+        /exp/phys/allCuts       1 mm
+        /exp/phys/gammaCut    0.1 mm
+        /exp/phys/electronCut 0.2 mm
+        /exp/phys/positronCut 0.3 mm
+
+        The cut for the StepMax process via:
+
+        /exp/phys/stepMax
+
+        The two PhysicsListVectors can be cleared via:
+
+        /exp/phys/clearEMPhysics
+        /exp/phys/clearHadronPhysics
+
+        and individual processes can be removed from the vectors via,
+        for example:
+
+        /exp/phys/removeEMPhysics msc
+        /exp/phys/removeHadronPhysics gamma_nuc
+
+        Furthermore, the following commands are also available, but
+        may only be used AFTER /run/initialize
+
+        /process/inactivate msc
+        /process/activate msc
+
+        The decay of pions can be assigned via (pi -> e nu, pi -> mu nu):
+
+        /decay/pienu
+        /decay/pimunu
+
+        The pienu assignment includes a small fraction of radiative decay:
+        e nu gamma (G4PionRadiativeDecayChannel).
+
+        The standard/default muon decay chain is modified to be 98.6%
+        G4MuonDecayChannelWithSpin and 1.4% G4MuonRadiativeDecayChannelWithSpin
+        in ConstructParticle().
+
+        The pion decay process G4PolDecay inherits from G4Decay and implements
+        the virtual method - empty in the base class - DaughterPolarization
+
+        The muon decay process is G4DecayWithSpin
+
+
+ 7- Overlapping Fields
+
+        The GlobalField (a singleton) is instantiated in DetectorConstruction()
+        and assigned to the global field manager in updateField():
+
+        fFieldManager = GetGlobalFieldManager();
+        fFieldManager->SetDetectorField(this);
+
+        The GlobalField has a std::vector<ElementField*> FieldList
+
+        The field from each individual beamline element is given by a
+        ElementField object. Any number of overlapping ElementField
+        objects can be added to the global field. Any element that
+        represents an element with an EM field must add the appropriate
+        ElementField to the global GlobalField object.
+
+        Of course, the GlobalField has the method GetFieldValue implemented.
+
+        Before /run/initialize in the macro file or command, the update
+        field command must have been issued if any of the other following
+        field commands was employed:
+
+        /field/update
+
+        Other options are:
+
+        /field/setStepperType 4
+        /field/setMinStep 10 mm
+        /field/setDeltaChord 3.0 mm
+        /field/setDeltaOneStep 0.01 mm
+        /field/setDeltaIntersection 0.1 mm
+        /field/setEpsMin 2.5e-7 mm
+        /field/setEpsMax 0.05 mm
+        
+        Each field element has a rectilinear bounding box in global
+        coordinate space which is checked before a point is verified to
+        actually be inside the ElementField (isWithin and isOutside).
+        setGlobalPoint is called 8 times for the corners of the local
+        bounding box, after a local->global coordinate transform.
+
+        The ElementField is the interface class used by GlobalField to 
+        compute the field value at a given point[].
+
+        A beamline element, for example the SimpleSolenoid, will derive
+        from ElementField and implement the computation for the element.
+
+        simpleSolenoid = new SimpleSolenoid(B, l,
+                                      logicTransferMgnt,TransferMgntCenter);
+
+        Besides the magnetic field and the length of the simple solenoid,
+        the constructor needs the knowledge of the G4LogicalVolume for
+        the beamline element and where its center is located in the
+        'World'.
+
+        The ElementField has a G4AffineTransform "global2local" which
+        allows the quick computation of coordinate transformations. It can
+        only be determined by knowing the element's coordinate origin in
+        the global frame and after all of the geometry has been defined.
+        For this reason, the object is prepared in two stages, through the
+        constructor providing it with the coordinate center and a pointer
+        to the G4LogicalVolume. Later the construct() method is called to
+        calculate the global2local and the bounding box. This can be done
+        from the RunAction::BeginOfRunAction method, for only then are we
+        certain that the geometry has been completely built:
+
+        FieldList* fields = GlobalField::getObject()->getFields();
+
+        if (fields) {
+           if (fields->size()>0) {
+              FieldList::iterator i;
+              for (i=fields->begin(); i!=fields->end(); ++i)(*i)->construct();
+           }
+        }
+
+        The ElementField constructor will also add the derived object into
+        GlobalField. Finally, its addFieldValue() will add the field value
+        for this element to field[]. 
+
+
+ 8- User Action Classes
+
+        RunActionMessenger:
+
+                     /rndm/save freq - to save rndm status in external files
+                                 0 not saved
+                                >0 saved on: beginOfRun.rndm
+                                 1 saved on:   endOfRun.rndm
+                                 2 saved on: endOfEvent.rndm
+                     /rndm/read random/run0evt8268.rndm
+
+        RunAction:  
+                     BeginOfRunAction: Deal with random number storage,
+                     initialization etc. Call the construct() method of
+                     ElementFields in the FieldList of GlobalField object.
+                     EndOfRunAction: random number storage/status printing.
+
+        EventActionMessenger:
+                     /event/setverbose
+                     /event/drawTracks none/charged/all
+                     /event/printModulo
+
+        EventAction(RunAction* RA):
+                     Customized BeginOfEvent printing (frequency: printModulo)
+                     EndofEvent: condition depending drawing of trajectories,
+                     saveEngingStatus and showEngineStatus according to flag
+                     in RunAction
+
+        TrackingAction:
+                     PreUserTrackingAction: Instantiate UserTrackInformation
+                     and set the application TrackStatus.
+                     PostUserTrackingAction: Retreive UserTrackInformation
+                     and decide to save random number status accordingly.
+
+        SteppingActionMessenger:
+
+        SteppingAction:
+                     UserSteppingAction: Kill primary if/when outside Target
+                     volume. Diagnostic/histogram filling for particles at a
+                     TestPlane. Find decay position and when particle
+                     FIRST reverses z-momentum component via using a
+                     UserTrackInformation object.
+
+        StackingAction:
+                     Track only primaries, pi+ or mu+
+
+        UserTrackInformation:
+                     Keep a application TrackStatus for the track:
+                          undefined, left, right, reverse
+
+        SteppingVerbose:
+                    Only print track header and step information for
+                    pi+ and mu+
+
+        Trajectory, TrajectoryPoint:
+                    Example of application specific implementations
+
+ 9- HOW TO START ?
+
+        - compile and link to generate an executable
+                % cd $G4INSTALL/example/extended/field/field04
+                % gmake
+
+        - execute field04 in 'batch' mode from macro files e.g.
+                % $(G4INSTALL)/bin/$(G4SYSTEM)/field04 field04.in
+
+        - execute field04 in 'interactive' mode with visualization e.g.
+                % $(G4INSTALL)/bin/$(G4SYSTEM)/field04
+                ....
+                Idle> type your commands, for example:
+                Idle> control/execute field04.in
+                ....
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/g3tog4/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/g3tog4/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/g3tog4/README/index.html	(revision 901)
@@ -0,0 +1,33 @@
+
+                         G3toG4 tool's examples
+			 ----------------------
+
+This directory includes two applications to demonstrate the usage of the
+g3tog4 tool for converting Geant 3.21 simple geometries to Geant4 ones.
+
+The environment variable G4LIB_USE_G3TOG4 should be defined.
+
+clGeometry
+----------
+Contains the code to build a detector geometry using the call list
+mechanism and also provides visualization. The name of the executable is
+clGeometry.
+
+To run the application, one must provide as input argument a call list file
+(few test samples are placed in ../data), generated by the rztog4 application
+which can be built typing "gmake bin" from $G4INSTALL/source/g3tog4.
+
+clGeometry.in is a macro to be executed either interactively or in batch.
+
+For example:
+> cd $G4INSTALL/examples/extended/g3tog4
+> clGeometry data/testmodel.dat clGeometry.in
+
+cltog4
+------
+is a simple example which simply invokes the call list interpreter method
+G4BuildGeom from G3toG4DetectorConstruction class, builds the geometry
+and exits.
+
+As for clGeometry, a call list needs to be fed to cltog4. A macro cltog4.in
+is available to be executed either interactively or in batch.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/gdml/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/gdml/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/gdml/README/index.html	(revision 901)
@@ -0,0 +1,42 @@
+$Id: README,v 1.10 2007/11/20 08:34:16 gcosmo Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                          GDML read/write
+                          ---------------
+
+This example demonstrates the usage of the GDML reader and writer. It allows
+to export geometry descriptions in an application independent format (GDML,
+Geometry Description Markup Language).
+The GDML files can be then used to interchange geometries between different
+applications and users.
+
+The detector construction consists of a call to GDMLProcessor which parses a
+GDML file and returns the pointer to the world volume. The user can also write
+her/his own GDML file and use it as the primary input format for her/his Geant4
+application.
+
+More than one simple GDML files are provided:
+- axes.gdml, showing loading and orientation of Cartesian axes;
+- diamond.gdml, a simple diamond structure made of tessellated solids;
+- modular.gdml, the combination of the two GDML files above loaded as
+  separate modules in the same setup.
+
+HOW TO BUILD THE EXAMPLE ?
+
+- You need to have built the persistency/gdml plugin module by having
+  set G4LIB_BUILD_GDML variable in your environment.
+  It is also required you specify the path where the XercesC XML parser
+  package is installed in your system, through the variable XERCESCROOT.
+
+- Compile and link to generate the executable:
+ 	      % gmake
+
+- Execute the application:
+ 	      % load_gdml [GDML-file].gdml
+  Note: if you are using dynamic libraries, you should add and
+        $XERCESCROOT/lib paths to the LD_LIBRARY_PATH directory (or
+        equivalent on your system).
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/geometry/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/geometry/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/geometry/README/index.html	(revision 901)
@@ -0,0 +1,12 @@
+
+                         Geometry tools
+			 --------------
+
+This directory includes tools and examples for the geometry setup.
+
+OLAP
+----
+Debugging tool for overlapping geometries.
+See notes included in the package for details on how to use it, known
+limitations and defined commands.
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/geometry/olap/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/geometry/olap/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/geometry/olap/README/index.html	(revision 901)
@@ -0,0 +1,430 @@
+
+                                     OLAP
+
+                    Debugging Tool for Ovelapping Geometries
+                    ----------------------------------------
+                            (Martin.Liendl@cern.ch)
+
+ 1  Abbreviations
+ 2  Introduction
+ 3  Instrumenting the example with a user-geometry
+ 4  Reference of command line commands
+ 5  Known Problems
+
+
+1 Abbreviations
+===============
+
+LV ... instance of G4LogicalVolume 
+
+PV ... instance of G4VPhysicalVolume (Placement, Replica or Parameterised) 
+
+MV ... mother volume, also referred as NewMother
+
+DV ... daughter volume 
+
+NewWorld ... a geometry consisting of one MV and several DVs. The world
+volume is a enlarged bounding box into which the MV is put. Optionally the
+MV can be rotated according to user given parameters inside the NewWorld.
+
+
+2 Introduction
+==============
+
+Intersecting DVs inside the same MV or a DV protruding from its MV
+are said to be overlapping. Thus a complete geometry is correct, if
+all direct DVs of any given MV are not intersecting mutually or whith
+their MV. To be noticed that the tool described here cannot do this in
+a perfect way, strictly speaking, but allows to identify most defects in
+the geometry if any. If the check fails, the error is located and can be
+fixed easily. Checking means, that a geantino is shot from a given point
+A to another point B and viceversa from B to A.
+At each step of the geantino's track a boundary crossing has occurred
+(only geometry limits the geantino's steps!). If the set of boundary
+crossings from A to B is different from the set going from B to A
+(within a given Geant4 tolerance), some volumes must be overlapping
+along the line connecting A and B. To locate the overlaps more easily,
+the full geometry (which can be very complex in 'depth' in a hierarchical
+sense) is not used but only a subset consisting of a user selectable
+MV and all contained DVs. Then a user defined 'grid' of geantinos
+is shot through this simple geometry and possible overlaps are detected
+and reported. Checking all MVs in this way is then equivalent to checking
+the full geometry and has the advantage of identifying the cause of
+overlap directly.
+
+
+3 Instrumenting the example with a user-geometry
+================================================
+
+A very tiny geometry (RandomDetector.hh,.cc) is provided within the example. 
+It is instantiated in the file olapex.cc.
+
+
+3.1 Configuring the user-geometry
+---------------------------------
+
+The geometry debugging tools can be used for any Geant4 geometry. The
+geometry which one wants to debug must be available as subclass of
+G4VUserDetectorConstruction and must be used to construct the OlapDetConstr.
+Just read the code in olapex.cc and see how any geometry
+has to be prepared for debugging. The only thing to do is to use the provided
+Olap-UserActions in the main() of the Geant4 program:
+
+G4RunManager * runManager = new G4RunManager;
+
+// special primary generator for geantino shooting (in a grid)
+
+runManager->SetUserAction(new OlapGenerator); 
+
+// the full geometry (which will be debugged)
+
+G4VUserDetectorConstruction * origGeom = new RandomDetector; 
+
+// wrap full geometry into Olap-Geometry class
+
+OlapDetConstr * olapGeom = new OlapDetConstr(origGeom); 
+
+// set wrapped geometry for Geant4 to use
+
+runManager->SetUserInitialization(olapGeom); 
+
+// special physics list (nothing but transportation)
+
+runManager->SetUserInitialization(new OlapPhysicsList); 
+
+// now create all UserActions ...
+
+OlapRunAction * olapRunAction = new OlapRunAction; 
+
+OlapEventAction * olapEventAction = new OlapEventAction(olapRunAction); 
+
+OlapSteppingAction * olapSteppingAction = 
+
+  new OlapSteppingAction(olapEventAction); 
+
+runManager->SetUserAction(olapRunAction); 
+
+runManager->SetUserAction(olapEventAction); 
+
+runManager->SetUserAction(olapSteppingAction);
+
+
+3.2 Navigating the geometry from command line
+----------------------------------------------
+
+Unix like navigation of the logical volume hierarchy is provided by
+the /olap/cd command. The root of the logical volume tree can be accessed
+by the character '/'.  Any node in the volume tree can be accessed by a '/' 
+separated string of regular expressions. If '/' is at the beginning of the string,
+the tree hierarchy is transversed from the root otherwise from the
+currently chosen logical volume. Further the command /olap/goto <regexp>
+can be used to jump to the first LogicalVolume matching the <regexp>.
+
+Every succesful navigational command (/olap/cd, olap/goto) results
+in the construction of a NewWorld, the MV beeing the argument of the
+navigational command and the DVs beeing the direct daughters of the MV.
+
+/olap/pwd always shows where in the full geometrical hierarchy the
+current NewWorld and MV is located.
+
+
+3.3 Detecting Overlaps
+----------------------
+
+First determine the density of the grid of geantinos using
+
+/olap/grid 7 7 7
+
+which returns the number of events (= pairs of geantinos) which will
+be shot through the NewWorld geometry (in this case 147 geantino pairs).
+
+To start overlap detection type
+
+/olap/trigger
+
+After all 147 events are processed, a summary of detected overlaps
+is given. Multiple detected overlaps are only reported once 
+
+Error reports are written to G4cerr and to a log file if this is chosen
+(see section on output). The output looks like this:
+
+===== collected overlaps of run [1] (ol=2) 
+
+--[1]-------------------------- 
+
+delta=51 
+
+vol 1: point=(-23,0,-40.02) vol 2: point=(-74,0,-40.02) axis=0 
+
+A -> B: 
+[0]: ins=[i] PVName=[NewWorld:0] Type=[N] P=(-0,-0,-0) R=[0,90,90,90,0,0]
+G4Box: x/2=1234.23 y/2=1234.23 z/2=60.06 
+[1]: ins=[o] PVName=[SiliconPatchPanel:0] Type=[N] P=(-0,-0,-0) R=[0,90,90,90,0,0]
+G4Tubs: z/2=60 rIn=74 rOut=1233 startPhi=0 deltaPhi=6.28319 
+[2]: ins=[s] PVName=[SiliconPatchPanel1:1] Type=[N] P=(-0,-0,-40) R=[0,90,90,90,0,0]
+G4Tubs: z/2=20 rIn=23 rOut=1135 startPhi=0 deltaPhi=6.28319 
+
+B -> A: 
+[0]: ins=[i] PVName=[NewWorld:0] Type=[N] P=(-0,-0,-0) R=[0,90,90,90,0,0]
+G4Box: x/2=1234.23 y/2=1234.23 z/2=60.06 
+
+'delta' denotes the detected overlap distance. Two volumes are overlapping
+at least this distance. The following coordinates of points are points
+on the boundary of the overlapping volumes. In case of no overlap
+they should be the same points. The first point was found when tracking
+from A to B, while the second point was found when tracking from B
+to A. Using the command
+/olap/delta <DELTA> <unit>
+the accuracy for detecting an overlap can be set. Overlaps will only
+be reported if two volumes overlap at least DELTA*unit on one of the
+genantino tracks scanning the volumes.
+The default value is 1 nm, which is quite tight.
+
+To identify the overlapping volumes,
+the NavigationHistories of the two points are also shown in the output.
+The format of these histories is as follows:
+
+[A]: ins=[B] PVName=[C] Type=[D] P=(E) R=[F] G
+
+A --> Level in G4Navigationhistory
+
+B --> Stepping point is 'inside' vol [2], 'on surface' [1] or 'outside'
+  [0] (mostly biased by numerical limits)
+
+C --> PhysicalVolume-name:copy-no
+
+D --> [N]..placement, [R]..repicated, [P]..parameterized
+
+E --> Position(intern.units)
+
+F --> Rotation(in deg:phiX,thetaX,phiY,..)
+
+G --> Solidtype: specification
+
+In the sample output given above, one can deduce that 'SiliconPatchPanel1'
+with copy-no 1 is overlapping its mother 'SiliconPatchPanel'.
+A schematic sketch of this situation is below:
+
+(x=0)                                                      (x=-1234*mm)
+(B) <----------------------------------------------------> (A)
+ 
+  -------------------------------------------------------
+  |NewWorld                                             |
+  |        -------------------------------------------  |
+  |        |SiliconPatchPanel                        |  |
+  |        |                                         |  |
+  |    -----------------------------------           |  |
+  |    |SiliconPatchPanel1               |           |  |
+  |    |                                 |           |  |
+  |....x...*.............................|...........|..|
+  |    |                                 |           |  |
+  |    -----------------------------------           |  |
+  |        |                                         |  |
+  |        -------------------------------------------  |
+  |                                                     |
+  -------------------------------------------------------                      
+
+... = geantino rays from (A) to (B) and from (B) to (A)
+ x  = point found when tracking from (A) to (B)
+ *  = point found wehn tracking from (B) to (A)
+ 
+ 'x' and '*' should be on the same position in case of no
+ overlaps. But they are not, because 'SiliconPatchPanel1' is
+ protruding its mother volume 'SiliconPatchPanel'. 
+ The output report always assigns a point to the volume which
+ is left behind the current direction of the geantino ray.
+ In the example 'x' is assigned to 'SiliconPatchPanel1', because
+ the tracking direction was (A) to (B). On the other hand side,
+ '*' is assigned to 'NewWorld', because the tracking direction
+ was (B) to (A).
+
+3.4 Handling the output
+-----------------------
+
+The output from the overlap detection can be written to file. The program
+provides two possibilities: 'Global logging', which creates one file,
+or 'logging by volume' where each logical volume puts its overlapping
+error into a file.
+
+To instantiate global logging type:
+
+/olap/log <path/filename>
+
+where path/filename is omittable, and the default is olap.log which
+will be created in the current directory. Alternatively one can type
+the path (must end with /), or only the filename. To stop the logging,
+type
+
+/olap/log false
+
+(or exit the program)
+
+The logging by volume command is
+
+/olap/logByVolume <path/>
+
+where the path is once again omittable. If the path is specified, it
+is important that it ends with / . Each log file will then be called
+NameOfLogicalVolume.log, for example SiliconPatchPanel.log. Again
+the logging can be stopped by typing
+
+/olap/logByVolume false
+
+Logging can be done from batch mode with a macro file, or when running
+the program. If the path is specified, it has to exist. The logging
+files are using the append format.
+
+
+4 Reference of command line commands
+====================================
+
+4.1 Terminology
+---------------
+
+NewWorld: NewWorld is the world volume of the chosen subset of the
+detector where overlap detection takes place. Its solid is a box slightly
+larger than the bounding box of the NewMother solid.
+
+NewMother(MV): The user chosen mother volume where overlap detection takes
+place. It is positioned into origin of the NewWorld. Only
+the first level of daughter volumes is then placed inside the NewMother.
+
+
+4.2 Commands for geometry navigation
+------------------------------------
+
+All command line commands are available in the Geant4 command directory
+/olap. For a short help inside Geant4 type help and choose the olap
+command directory.
+
+Commands for navigating the geometry always navigate the full logical
+hierarchy and set the current logical volume to the NewMother.
+Overlaps are detected only between the volumes of the first layer of 
+daughters of NewMother and between the daughters and their mother
+volume.
+
+/olap/ls: list all logical daughters of the current NewMother
+
+/olap/pwd: prints the position of the current NewMother within the
+logical hierarchy of the full geometry.
+
+/olap/rotate <theta> <phi> <alpha> <angle-unit>: Defines the rotation
+of the NewMother inside the NewWorld. The rotation will be applied only
+in subsequent navigational commands such as /olap/goto or /olap/cd.
+The rotation axis is defined by the angles <theta> and <phi>, the rotation
+angle around this axis by the angle <alpha>.
+Rotating the NewMother can be particulary helpfull in cases where
+boundaries of the NewMother or of the daugher volumes are parallel
+to the bounderies of the NewWorld-box. Parallesl boundaries often cause
+numierical ambiguities during tracking time resulting in fake overlap
+detections. 
+
+/olap/goto <regexp>: Sets the current NewMother to the logical Volume
+which name matches <regexp>. Search order is always descending construction
+order of volumes. If more than one volume matches the <regexp> the
+first match is chosen.
+
+/olap/cd <regexp-1>/<regexp-2>...: Unix-like changing of the current
+NewMother. The argument /olap/cd / sets the topmost logical volume
+of the full geometry to NewMother. olap/cd /Tracker sets the first
+logical daughter of the topmost logical volume which name matches
+Tracker to NewMother. olap/cd .. moves up one step in the logical
+hierarchy and sets the corresponding logical volume to NewMother.
+Combinations are possible, e.g.: /olap/cd Abc.*xy/../../cdef
+
+/olap/list <regexp>: Lists all logical volumes whose name matches <regexp>
+without changing the NewMother.
+
+
+4.2 Commands for overlap detection
+----------------------------------
+
+/olap/grid a b c: Sets a grid for geantino pairs flying through the
+NewWorld. There will be a*b geantino pairs flying parallel to the
+z-axis in a regular grid, b*c parallel to the x-axis and a*c parallel
+to the y-axis.
+
+/olap/delta value unit: Sets boundary tolerance for overlaps in units
+of length.
+
+/olap/trigger: Start geantino shooting in the current NewWorld according
+to the defined grid.
+
+/olap/triggerFull n: Starting from the current NewWorld, the trigger-command
+is applied n times, each time changing the NewWorld by traversing
+the logical volume subtree. If -1 is given as argument (or n > number
+of subtree nodes), the whole subtree is checked.
+
+
+4.3 Commands for logging
+------------------------
+
+/olap/log <path/filename>: Puts the output into one global file.
+Default-filename is olap.log.
+
+/olap/logByVolume <path/>: Each logical volume makes its own file called
+NameOfLogicalVolume.log where overlap errors for that specific volume
+are put.
+
+
+5. Known Problem
+================
+
+. Overlaps of the same two volumes are sometimes reported more the one
+  time at the end of a run
+
+. Fake overlaps are reported sometimes when many boundaries of volumes
+  are parallel to the axis of 'NewWorld'. In this case, try to
+  use /olap/rotate to rotate the volumes inside 'NewWorld', set the
+  'NewWorld' again and redo the overlap scan.
+
+. Fake overlaps can be reported when the Geant4 tracking algorithm
+  gets 'caught' between volume boundaries (many small steps ...)
+
+. Visualization of overlaps is not yet correctly supported.
+
+
+----------------------------------------------------------------------------
+END OF README
+please don't read stuff below ...
+----------------------------------------------------------------------------
+
+[[********************************** experimental ***********************
+3.3
+If visualization
+was enabled, the detected overlaps are visualized with green markers
+as shown in Fig. [fig:olap]. In this figure the NewMother is visualized
+in blue and her daughters in red.
+]]************************************************************************
+
+[[*** The following is experimental ***************************************
+Visualization can also be enabled from the command line. Simply type
+/olap/syncVis 1
+where the argument is a boolean and '0' turns the visualization off.
+If turned on every change of NewMother should also trigger a redraw
+of the chosen visualization driver. If the viewer is not updated,
+a flush can be triggered by /vis/viewer/update. Using VRML2FILE as
+visualization output, ECalBarrelAlveola_2 can be viewed in an appropriate
+VRML viewer:([fig] <fig:alv>Example of a NewWorld with a NewMother
+in red and her daughters in blue (Alveola structure and contained
+crystals of the CMS Ecal). ) 
+
+]]********************************************************************
+
+
+[[************************************** experimental **********************
+4.4 Commands for visulization
+-----------------------------
+
+/olap/syncVis 1/0: Enables visualization. Every change of NewMother
+should trigger a redraw. The argument is a boolean where '1' turns
+it on and '0' off.
+
+/olap/saveVis <filename>: Saves the current color scheme to an ASCII
+file. (The visualisation attributes can also be modified in this file
+externally.) 
+
+/olap/saveVis <filename>: Loads a color scheme from an ASCII file.
+The color scheme must be compatible with the active Geant4 geometry
+in memory.
+]]***************************************************************************
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/hadronic/Hadr01/README/index.html	(revision 901)
@@ -0,0 +1,172 @@
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+
+                                 HADR01
+
+            A.Bagulya, I.Gudowska, V.Ivanchenko, N.Starkov
+                       CERN, Geneva, Switzerland
+            Karolinska Institute & Hospital, Stockholm, Sweden
+               Lebedev Physical Institute, Moscow, Russia
+
+
+This example application is based on the application IION developed for
+simulation of proton or ion beam interaction with a water target. Different 
+aspects of beam target interaction are demonstrating in the example including 
+logitudinal profile of energy deposition, spectra of secondary  particles,
+spectra of particles leaving the target. The results are presenting in a form
+of average numbers and histograms. 
+
+
+                           GEOMETRY
+
+The Target volume is a cilinder placed inside Check cilindrical volume. The 
+Check volume is placed inside the World volume. The radius and the length of
+the Check volume are 1 mm larger than the radiaus and the length of the Target.
+The material of the Check volume is the same as the World material.  The World
+volume has the sizes 10 mm larger than that of the Target volume.  Any naterial
+from the Geant4 database can be defined. The default World  material is
+G4Galactic and the default  Target material is aluminum. The Target is
+subdivided on number of equal slices. Follwoing UI commands are available to
+modify the geometry:
+
+/testhadr/TargetMat     G4_Pb
+/testhadr/WorldMat      G4_AIR
+/testhadr/TargetRadius  10 mm
+/testhadr/TargetLength  20 cm
+/testhadr/NumberDivZ    200
+
+If geometry was changed between two runs, then the follwoing command need to
+be executed:
+
+/testhadr/Update
+
+Beam direction coinsides with the target axis and is Z axis in the global
+coordinate system. The beam starts 5 mm in front of the target. G4ParticleGun
+is used as a primary generator. The energy and the type of the beam can be
+defined via standard UI commands
+
+/gun/energy   15 GeV
+/gun/particle proton
+
+Default beam position is -(targetHalfLength + 5*mm) and direction along Z axis.
+Beam position and direction can be changed by gun UI commands:
+
+/gun/position  1 10 3 mm
+/gun/direction 1 0 0
+
+however, position command is active only if before it the flag is set
+
+/testhadr/DefaultBeamPosition false   
+ 
+                           SCORING
+
+The scoring is performed with the help of UserStackingAction class and two
+sensitive detector  classes: one associated with a target slice, another with
+the Check volume. Each secondary particle is scored by the StackingAction.  In
+the StackingAction it is also possible to kill all or one type of secondary 
+particles 
+
+/testhadr/Kill             neutron
+/testhadr/KillAllSecondaries  
+
+To control running the following options are available:
+
+/testhadr/PrintModulo      100
+/testhadr/DebugEvent       977
+
+The last command selects an events, for which "/tracking/verbose 2" level
+of printout is established.
+
+
+                           PHYSICS
+
+PhysicsList of the application uses components, which are distributed with
+Geant4 in /geant4/physics_lists subdirectory. So, before compiling hadro01 it
+is necessary to compile physics_lists
+
+The choice of the physics is provided by the UI command:
+
+/testhadr/Physics     QGSP
+
+The command 
+
+/testhadr/Physics     PHYSLIST
+
+allows allows to download a physics configuration defined by an environment
+variable PHYSLIST. 
+
+To see the list of available configurations one can use
+
+/testhadr/ListPhysics
+
+The cuts for electromagnetic phsyics can be established via
+
+/testhadr/CutsAll       1 mm
+/testhadr/CutsGamma   0.1 mm
+/testhadr/CutsEl      0.2 mm
+/testhadr/CutsPos     0.3 mm
+
+
+                          VISUALISATION
+
+For interactive mode G4 visualization options and variables should be
+defined, then the example should be recompiled:
+
+gmake visclean
+gmake
+
+The vis.mac file can be used an example of visualization. The following command can 
+be used:
+
+/testhadr/DrawTracks  charged
+/testhadr/DrawTracks  charged+n
+/testhadr/DrawTracks  neutral
+/testhadr/DrawTracks  all
+
+
+                          HISTOGRAMS
+
+To use histograms any of implementations of AIDA interfaces should
+be available (see http://aida.freehep.org).
+
+A package including AIDA and extended interfaces also using Python
+is PI, available from: http://cern.ch/pi .
+
+Once installed PI or PI-Lite in a specified local area $PI_DIR, it is
+required to add the installation path to $PATH, i.e. for example,
+for release 1.2.1 of PI:
+
+setenv PATH ${PATH}:$PI_DIR/1.3.12/app/releases/PI/PI_1_3_12/slc3_gcc323/bin
+
+CERN users can use the PATH to the LCG area on AFS.
+
+Before compilation of the example it is optimal to clean up old 
+files:
+
+gmake histclean
+setenv G4ANALYSIS_USE 1
+gmake
+
+Before running the example the command should be issued:
+
+eval `aida-config --runtime csh`
+
+It is possible to choose the format of the output file with 
+histograms using UI command:
+
+/testhadr/HistoName   name
+/testhadr/HistoType   type
+/testhadr/HistoOption "uncompress"
+
+The following types are available: hbook, root, aida. They will be 
+stored in the file "name.hbook", "name.root", or "name.aida". 
+If the environment variable HISTODIR is defined, files are stored in this 
+subdirectory.
+
+To show the contence of a histogram ID=i the commands may be applied:
+
+/testhadr/HistoPrint  i
+
+All histograms are normalised to the number of events.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/DICOM/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/DICOM/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/DICOM/README/index.html	(revision 901)
@@ -0,0 +1,139 @@
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+|                        DicomG4                          |
++                                                         +
+|                        README                           |
++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+The DICOM application has been orignal developed by the Geant4 users:
+Louis Archambault,*Luc Beaulieu, +Vincent Hubert-Tremblay.
+
+*Centre Hospitalier Universitaire de Quebec (CHUQ),
+Hotel-Dieu de Quebec, departement de Radio-oncologie
+11 cote du palais. Quebec, QC, Canada, G1R 2J6
+tel (418) 525-4444 #6720
+fax (418) 691 5268
+web : thomson.phy.ulaval.ca/phys_med 
+
++ Université Laval, Québec (QC) Canada
+
+And it has been deeply reviewed by Pedro Arce in December 2007.
+
+
+--->1) Introduction
+
+This example serves first to convert a DICOM file to a simple ASCII file, where the Hounsfield numbers are converted to materials and densities so that it can be used by GEANT4. It serves also to create a GEANT4 geometry based on the DICOM file information using the G4PhantomParameterisation. 
+
+You can find the phantom reproduced in the image PhantomCT.jpg.
+In the application the phantom is placed on a table.
+ 
+---> 2) Installation:
+
+ - A standard Geant4 example GNUmakefile is provided            
+ - Compile it with 'make' 
+
+---> 3) Run the example:
+
+ - To run the environment variable G4LEDATA needs to be set, pointing to the low energy data base, G4EMLOW4.3      
+
+ - batch mode:
+   - $G4INSTALL/bin/Linux-g++/dicom run.mac 
+
+ - interactive mode:
+   - $G4INSTALL/bin/Linux-g++/dicom
+   the file vis.mac is read in order to visualise the phantom with OpenGL
+
+--->4) Metadata:
+
+ The file Data.dat has the following information
+  - A line with the compression value (used only to create the .g4dcm, not to read it)
+  - A line with the number of files 
+  - A line for each file name (to these names it will be added the suffix .dcm to read the DICOM files in their original format, and the suffix .g4dcm to read the text files that contain the DICOM information where the Hounsfield numbers have been converted to material and densities)
+
+In case you want to convert DICOM files to text files, it must have the following lines:
+  - The number of materials you want to use
+  - A line for each material describing its name and the upper bound of the density interval. The materials should be described in increasing order of density. The voxels with a density between 0. and the first upper bound will be assigned to the first material, those with a density between the first upper bound and the second upper bound will be assigned to the second material, etc.
+
+--->5) Conversion of Hounsfield numbers to materials:
+
+After reading the name of files from Data.dat, if a file .dcm is found, then it looks for the corresponding .g4dcm file and if not found creates it. 
+Each file corresponds to a Z slice. The Z slices will be merged at runtime to form a unique patient volume; therefore the different slices have to be contiguous in Z.
+
+The DICOM images pixel values represent CT (Hounsfield) numbers and they should be converted, first, to a given density and then to a material type.  The relation between CT number and density is more or less linear. 
+The file CT2Density.dat contains the calibration curve to convert CT (Hounsfield) number to physical density
+The assignment of material densities to materials is done following the information from the file Data.dat (see below). In this case we have used:
+
+           #####################################################
+           #     Density Range                   Material      #
+           #---------------------------------------------------#
+           #       mg/cm3                            -         #
+           #---------------------------------------------------#
+           #  [ 0.    , 0.207 )                 Air            #
+           #  [ 0.207 , 0.481 )                 Lungs (inhale) #
+           #  [ 0.481 , 0.919 )                 Lungs (exhale) #
+           #  [ 0.919 , 0.979 )                 Adipose        #
+           #  [ 0.979 , 1.004 )                 Breast         #
+           #  [ 1.004 , 1.043 )                 Phantom        #
+           #  [ 1.043 , 1.109 )                 Liver          #
+           #  [ 1.109 , 1.113 )                 Muscle         #
+           #  [ 1.113 , 1.496 )                 Trabecular Bone#
+           #  [ 1.496 , 1.654 ]                 Dense Bone     #
+           #####################################################
+
+Data taken from the International Commission on Radiation Units and measurements (ICRU) report 46 was used to build the materials (lung, liver, breast, bones, ...)
+
+--->6) Splitting materials in density intervals:
+
+In the class DicomDetectorConstruction, it is defined a density interval
+
+  G4double densityDiff = 0.1;
+
+This means that the voxels of each material will be grouped in density intervals of 0.1 g/cm3 and a new material will be created for each group of voxels.
+
+--->7) Voxel colouring:
+
+The file Colormap.dat defines the colour that will be assigned to the voxels of each material.
+
+--->8) DICOM text file format:
+
+The DICOM files are converted to a simple text format. You may create your own file with the following format (see e.g. 14196616.g4dcm):
+
+- A line with the number of materials
+- A line for each material with its index and name (the same name of materials that you construct as G4Material's)
+- A line with the number of voxels in X, Y and Z
+- A line with the minimum and maximum extension in X (mm)
+- A line with the minimum and maximum extension in Y (mm)
+- A line with the minimum and maximum extension in Z (mm)
+- A number of lines containing the nVoxelX*nVoxelY*nVoxelZ material indices (one per voxel)
+- A number of lines containing the nVoxelX*nVoxelY*nVoxelZ material densities (one per voxel)
+
+As commented before the DICOM files (.dcm) are assumed to describe one Z slice per file, and therefore the GEANT4 text files (.g4dcm) created from them have also one unique Z slice per file. Nevertheless if you create your own .g4dcm file you may include as many Z slices as desired. In any case you have to respect the rule that the Z slices must be contiguous.
+
+--->9) Choosing different parameterisation/navigation options:
+
+There are four possible ways in GEANT4 to treat the navigation in regular voxelised volumes:
+
+- The non-optimised way. It will be very slow because each time a track exits a voxel it has to loop to all other voxels to know which one it may enter
+- The optimisation with G4SmartVoxel: a 3D grid is built, so that the location of voxels is fast, but it requires a lot of memory
+- Using G4NestedParameterisation. The search is done hierarchically in X, Y and Z. It is fast and does not require big memory
+- Using G4PhantomParameterisation/G4RegularNavigation: an special algorithm to navigate in regular voxelised geometries (see GEANT4 doc). This is the fastest way without any extra memory requirement (and it is the default in this example). It includes an option (default) to skip frontiers between voxels when they have the same material
+
+You can select amont the four options in the following way:
+
+- By default the example will run with G4RegularNavigation
+
+- To use the first option at RegularDicomDetectorConstruction.cc you just have to set
+
+  patient_phys->SetRegularStructureId(0);
+
+- To use the second option apart from the change above at RegularDicomDetectorConstruction.cc you have to replace (i.e. use kUndefined)
+
+  G4PVParameterised * patient_phys = new G4PVParameterised("Patient",voxel_logic,container_logic,
+			kXAxis, nVoxelX*nVoxelY*nVoxelZ, param);
+
+by 
+
+  G4PVParameterised * patient_phys = new G4PVParameterised("Patient",voxel_logic,container_logic,
+			kUndefined, nVoxelX*nVoxelY*nVoxelZ, param);
+
+- To use the third option you have to set the enviromental variable DICOM_NESTED_PARAM to 1
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/GammaTherapy/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/GammaTherapy/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/GammaTherapy/README/index.html	(revision 901)
@@ -0,0 +1,94 @@
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+
+                          GAMMA THERAPY
+
+                   I.Gudovska, V.Ivanchenko, S.Larsson
+            Karolinska Institute & Hospital, Stockholm, Sweden
+                       CERN, Geneva, Switzerland
+
+
+Electron beam of 50 MeV converted on target. All charged particles removed
+from the beam after the target. Gamma beam irradiate a water phantom.
+In front of the phantom a thin CheckVolume is placed to score gamma
+beam properties. Inside the phantom a score volume is placed to calculate 
+radial radiation dose distribution.
+
+
+                           GEOMETRY
+
+
+GammaTherapy application geometry consists of along z:
+
+1. Generator of electrons directed along z-axis
+2. Target1 (Be, W)
+3. Target2 (W, Cu)
+4. GasVolume (He)            all charged particles are killed inside 
+5. CheckVolume (Air)         is sensitive for scoring in front of thephantom
+6. Phantom (H2O)             is sensitive for radioactive dose calculation
+7. Absorber in Phantom (H2O) is sensitive for transverse dose calculation
+
+World volume consists of Air.
+
+
+                           STEERING
+
+Geometry and other parameters can be defined by G4 UI commands.
+
+Following macro files are prepared for different targets used in the real
+setup: be.in (thin Be target), be_w.in (thick BeW target), cu_w.in (thick
+Cu W target).
+
+Following Physics Lists can be activated via UI commands:
+
+/testem/phys/addPhysics       standard
+/testem/phys/addPhysics        g4v52
+/testem/phys/addPhysics       penelope
+/testem/phys/addPhysics       lowenergy
+
+For interactive mode G4 visualization options and variables should be
+defined, then the example should be recompiled:
+
+gmake visclean
+gmake
+
+The vis.mac file can be used an example of visualization.
+
+
+                          HISTOGRAMS
+
+To use histograms any of implementations of AIDA interfaces should
+be available (see http://aida.freehep.org).
+
+A package including AIDA and extended interfaces also using Python
+is PI, available from: http://cern.ch/pi .
+
+Once installed PI or PI-Lite in a specified local area $MYPI, it is
+required to add the installation path to $PATH, i.e. for example,
+for release 1.2.1 of PI:
+
+setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+CERN users can use the PATH to the LCG area on AFS.
+
+Before compilation of the example it is optimal to clean up old 
+files:
+
+gmake histclean
+setenv G4ANALYSIS_USE 1
+gmake
+
+Before running the example the command should be issued:
+
+eval `aida-config --runtime csh`
+
+It is possible to choose the format of the output file with 
+histograms using UI command:
+
+/testem/histoName type
+/testem/histoType type
+
+The following types are available: hbook, root, xml.
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity/README/index.html	(revision 901)
@@ -0,0 +1,225 @@
+$Id: README,v 1.13 2007/11/13 11:31:54 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            fanoCavity
+                            ----------
+
+    This program computes the dose deposited in an ionization chamber by a
+    monoenergetic photon beam.
+    The geometry of the chamber satisfies the conditions of charged particle
+    equilibrium. Hence, under idealized conditions, the ratio of the dose 
+    deposited over the beam energy fluence must be equal to the 
+    mass_energy_transfer coefficient of the wall material.
+    
+    E.Poon and al, Phys. Med. Biol. 50 (2005) 681
+    I.Kawrakow, Med. Phys. 27-3 (2000) 499
+	
+ 1- GEOMETRY
+ 
+    The chamber is modelized as a cylinder with a cavity in it.
+     	
+    6 parameters define the geometry :
+      - the material of the wall of the chamber
+      - the radius of the chamber and the thickness of the wall
+      - the material of the cavity
+      - the radius and the thickness of the cavity
+
+    Wall and cavity must be made of the same material, but with different
+    density	 	
+ 	
+    All above parameters can be redifined via the UI commands built in 
+    DetectorMessenger class
+    
+			-----------------
+			|		|
+			| wall 		|    
+			|     -----	|
+			|     |   | 	|      
+	   		|     | <-+-----+--- cavity     
+	     ------>	|     |   | 	|
+	     ------>	|     |   | 	|
+	beam	-------------------------------- cylinder axis
+	     ------>	|     |   | 	|
+	     ------>	|     |   | 	|
+			|     |   | 	|
+			|     |   | 	|
+			|     -----	|			
+			|		|
+			|		|
+			-----------------
+			
+ 2- BEAM
+  
+    Monoenergetic incident photon beam is uniformly distribued, perpendicular 
+    to the flat end of the chamber. The beam radius can be controled with an
+    UI command built in PrimaryGeneratorMessenger; the default is full wall 
+    chamber radius.
+    
+    Beam regeneration : after each Compton interaction, the scattered photon is
+    reset to its initial state, energy and direction. Consequently, interaction
+    sites are uniformly distribued within the wall material.
+    
+    This modification must be done in the ParticleChange of the final state 
+    of the Compton scattering interaction. Therefore, a specific model
+    (MyKleinNishinaCompton) is assigned to the ComptonScattering process in
+    PhysicsList. MyKleinNishinaCompton inherites from G4KleinNishinaCompton;
+    only the function SampleSecondaries() is overwritten.
+    
+ 3- PURPOSE OF THE PROGRAM
+    
+    The program computes the dose deposited in the cavity and the ratio
+    Dose/Beam_energy_fluence. This ratio is compared to the mass_energy_transfer
+    coefficient of the wall material.
+    
+    The mass_energy_transfer coefficient needs :
+    	- the photon total cross section, which is read from the PhysicsTables
+	by G4EmCalculator (see EndOfRunAction).
+	- the average kinetic energy of charged secondaries generated in the
+	wall during the run. 
+ 
+    The program needs high statistic to reach precision on the computed dose.
+    The UI command /testem/event/printModulo allows to survey the convergence of
+    the kineticEnergy and dose calculations.
+    
+    In addition, to increase the program efficiency, the secondary particles
+    which have no chance to reach the cavity are immediately killed (see
+    StackinAction). This feature can be switched off by an UI command (see
+    StackingMessenger).
+    
+    The simplest way to study the effect of e- tracking parameters on dose 
+    deposition is to use the command /testem/stepMax.
+    	 			 	
+ 4- PHYSICS
+ 
+    The physics list contains the standard electromagnetic processes, with few 
+    modifications listed here.
+    
+    - Compton scattering : as explained above, the final state is modified in
+    MyKleinNishinaCompton class.
+    
+    In order to make the program more efficient, one can increase the Compton
+    cross section via the function SetCSFactor(factor) and its 
+    associated UI command. Default is factor=1000.
+    
+    - Bremsstrahlung : Fano conditions imply no energy transfer via
+    bremsstrahlung radiation. Therefore this process is not registered in the
+    physics list. However, it is always possible to include it via an UI
+    command. See PhysicsListMessenger class.
+    
+    - Ionisation : In order to have same stopping power in wall and cavity, one
+    must cancel the density correction term in the dedx formula. This is done in
+    a specific MollerBhabha model (MyMollerBhabhaModel) which inherites from 
+    G4MollerBhabhaModel.
+    
+    To prevent explicit generation of delta-rays, the default production
+    threshold (i.e. cut) is set to 10 km (CSDA condition).
+    
+    The finalRange of the step function is set to 10 um, which more on less
+    correspond to a tracking cut in water of about 20 keV. See emOptions.
+    Once again, the above parameters can be controled via UI commands.
+    
+    - Multiple scattering : is switched in single Coulomb scattering mode near
+    boundaries. This is selected via EM options in PhysicsList, and can be
+    controled with UI commands.
+    
+    - All PhysicsTables are built with 100 bins per decade.  
+     	
+ 5- HISTOGRAMS
+ 
+   fanoCavity has several predefined 1D histograms : 
+  
+      1 : emission point of e+-
+      2 : energy spectrum of e+-
+      3 : theta distribution of e+-
+      4 : emission point of e+- hitting cavity
+      5 : energy spectrum of e+- when entering in cavity
+      6 : theta distribution of e+- before enter in cavity
+      7 : theta distribution of e+- at first step in cavity      
+      8 : track segment of e+- in cavity
+      9 : step size of e+- in wall
+     10 : step size of e+- in cavity
+     11 : energy deposit in cavity per track     
+      
+   The histograms are managed by the HistoManager class and its Messenger. 
+   The histos can be individually activated with the command :
+   /testem/histo/setHisto id nbBins  valMin valMax unit 
+   where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
+   
+   One can control the name of the histograms file with the command:
+   /testem/histo/setFileName  name  (default fanoCavity)
+   
+   It is possible to choose the format of the histogram file (hbook, root, XML)
+   with the command /testem/histo/setFileType (hbook by default)
+   
+   It is also possible to print selected histograms on an ascii file:
+   /testem/histo/printHisto id
+   All selected histos will be written on a file name.ascii (default fanocavity)
+           
+   Note that, by default, histograms are disabled. To activate them, uncomment
+   the flag G4ANALYSIS_USE in GNUmakefile.
+ 	
+ 6- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd geant4/examples/extended/medical/fanoCavity
+ 		% gmake
+ 		
+ 	- execute fanoCavity in 'batch' mode from macro files
+ 		% fanoCavity   run01.mac
+ 		
+ 	- execute fanoCavity in 'interactive mode' with visualization
+ 		% fanoCavity
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+		 
+ 7- USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity2/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity2/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/medical/fanoCavity2/README/index.html	(revision 901)
@@ -0,0 +1,199 @@
+$Id: README,v 1.8 2007/11/12 18:19:30 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            fanoCavity2
+                            -----------
+
+    This program computes the dose deposited in an ionization chamber by an
+    extended (one dimensional) monoenergetic electron source.
+    The geometry of the chamber satisfies the conditions of charged particle
+    equilibrium. Hence, under idealized conditions, the ratio of the dose 
+    deposited over the beam energy fluence must be equal to 1.
+    This variante of the Fano cavity test make use of an reciprocity theorem.
+    
+    J.Sempau and P.Andreo, Phys. Med. Biol. 51 (2006) 3533        
+	
+ 1- GEOMETRY
+ 
+    The chamber is modelized as a cylinder with a cavity in it.
+     	
+    5 parameters define the geometry :
+      - the radius of the chamber (must be big)
+      - the material of the wall
+      - the thickness of the wall
+      - the material of the cavity
+      - the thickness of the cavity
+
+    Wall and cavity must be made of the same material, but with different
+    density.
+    Radius must be bigger than range of electrons in cavity. 	 	
+ 	
+    All above parameters can be redifined via the UI commands built in 
+    DetectorMessenger class.
+    
+			_________________
+     radius (infinite)	|     |   |	|
+			|     |   | 	|    
+			|     |   |	|
+			|     |   | 	|      
+	   		|     | <-+-----+--- cavity     
+	     		|     |   | 	|
+	     		|     |   | 	|
+		---------------------------- cylinder axis = e- source
+	     	  	|     |   | 	|
+	     	  	|     |   | 	|
+		  	|     |   | 	|
+		  	|wall |   |wall |
+		  	|     |   |	|			
+		  	|     |   |	|
+		  	|     |   |	|
+		  	-----------------
+			
+ 2- BEAM
+  
+    Monoenergetic (E0) incident electron source is uniformly distribued along
+    cylinder axis, within wall and cavity, with constant lineic density
+    per mass: I.
+    An effective wall thickness is defined from the range of e- at energy E0.
+     
+    Beam_energy_fluence is E0*I
+    
+ 3- PURPOSE OF THE PROGRAM
+    
+    The program computes the dose deposited in the cavity and the ratio
+    Dose/Beam_energy_fluence. This ratio must be 1.
+ 
+    The program needs high statistic to reach precision on the computed dose.
+    The UI command /testem/event/printModulo allows to survey the convergence of
+    the dose calculation.
+    
+    The simplest way to study the effect of e- tracking parameters on dose 
+    deposition is to use the command /testem/stepMax.
+    	 			 	
+ 4- PHYSICS
+ 
+    The physics list contains the standard electromagnetic processes, with few 
+    modifications listed here.
+    
+    - Bremsstrahlung : Fano conditions imply no energy transfer via
+    bremsstrahlung radiation. Therefore this process is not registered in the
+    physics list. However, it is always possible to include it via an UI
+    command. See PhysicsListMessenger class.
+    
+    - Ionization : In order to have same stopping power in wall and cavity, one
+    must cancel the density correction term in the dedx formula. This is done in
+    a specific MollerBhabha model (MyMollerBhabhaModel) which inherites from 
+    G4MollerBhabhaModel.
+    
+    To prevent explicit generation of delta-rays, the default production
+    threshold (i.e. cut) is set to 10 km (CSDA condition).
+    
+    The finalRange of the step function is set to 10 um, which more on less
+    correspond to a tracking cut in water of about 20 keV. See emOptions.
+    Once again, the above parameters can be controled via UI commands.
+    
+    - Multiple scattering : is switched in single Coulomb scattering mode near
+    boundaries. This is selected via EM options in PhysicsList, and can be
+    controled with UI commands.
+    
+    - All PhysicsTables are built with 100 bins per decade.  
+     	
+ 5- HISTOGRAMS
+ 
+   fanoCavity2 has several predefined 1D histograms : 
+  
+      1 : emission point of e+-
+      2 : energy spectrum of e+-
+      3 : theta distribution of e+-
+      4 : emission point of e+- hitting cavity
+      5 : energy spectrum of e+- when entering in cavity
+      6 : theta distribution of e+- before enter in cavity
+      7 : theta distribution of e+- at first step in cavity      
+      8 : track segment of e+- in cavity
+      9 : step size of e+- in wall
+     10 : step size of e+- in cavity
+     11 : energy deposit in cavity per track
+                
+   The histograms are managed by the HistoManager class and its Messenger. 
+   The histos can be individually activated with the command :
+   /testem/histo/setHisto id nbBins  valMin valMax unit 
+   where unit is the desired unit for the histo (MeV or keV, deg or mrad, etc..)
+   
+   One can control the name of the histograms file with the command:
+   /testem/histo/setFileName  name  (default fanoCavity)
+   
+   It is possible to choose the format of the histogram file (hbook, root, XML)
+   with the command /testem/histo/setFileType (hbook by default)
+   
+   It is also possible to print selected histograms on an ascii file:
+   /testem/histo/printHisto id
+   All selected histos will be written on a file name.ascii (default fanocavity2) 
+       
+   Note that, by default, histograms are disabled. To activate them, uncomment
+   the flag G4ANALYSIS_USE in GNUmakefile.
+ 	
+ 6- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd geant4/examples/extended/medical/fanoCavity2
+ 		% gmake
+ 		
+ 	- execute fanoCavity2 in 'batch' mode from macro files
+ 		% fanoCavity2   run01.mac
+ 		
+ 	- execute fanoCavity2 in 'interactive mode' with visualization
+ 		% fanoCavity2
+ 		....
+ 		Idle> type your commands
+ 		....
+ 		Idle> exit
+		 
+ 7- USING HISTOGRAMS
+
+  To use histograms, at least one of the AIDA implementations should be 
+  available (see http://aida.freehep.org).
+  
+ 8a - PI 
+
+  A package including AIDA and extended interfaces also using Python is PI, 
+  available from: http://cern.ch/pi
+
+  Once installed PI or PI-Lite in a specified local area $MYPY, it is required 
+  to add the installation path to $PATH, i.e. for example, for release 1.2.1 of 
+  PI:
+  setenv PATH ${PATH}:$MYPI/1.2.1/app/releases/PI/PI_1_2_1/rh73_gcc32/bin
+
+  CERN users can use the PATH to the LCG area on AFS.
+  Before running the example the command should be issued:
+  eval `aida-config --runtime csh`
+
+ 8b -  OpenScientist
+
+  OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
+
+  You have to "setup" the OpenScientist AIDA implementation before compiling
+  (then with G4ANALYSIS_USE set) and running your Geant4 application.
+
+ On UNIX you setup, with a csh flavoured shell : 
+	csh> source <<OpenScientist install path>/aida-setup.csh 
+        or with a sh flavoured shell : 
+	sh> . <<OpenScientist install path>/aida-setup.sh
+ On Windows : 
+	DOS> call <<OpenScientist install path>/aida-setup.bat 
+
+  You can use various file formats for writing (AIDA-XML, hbook, root).
+  These formats are readable by the Lab onx interactive program
+  or the OpenPAW application. See the web pages.
+
+
+  With OpenPAW, on a run.hbook file, one can view the histograms
+  with something like :
+	OS> opaw 
+        opaw> h/file 1 run.hbook  ( or opaw> h/file 1 run.aida or run.root)  
+	opaw> zone 2 2 
+	opaw> h/plot 1 
+	opaw> h/plot 2
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/optical/LXe/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/optical/LXe/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/optical/LXe/README/index.html	(revision 901)
@@ -0,0 +1,553 @@
+
+                            LXe Example
+                            -----------
+
+**************
+*Classes Used*
+**************
+
+main()
+------
+
+ ==> Use G4UItcsh if available
+
+ ==> Provide interactive and macro mode
+
+G4VModularPhysicsList 
+------------------
+(class: LXePhysicsList)
+
+ ==> Registers General, EM, Muon, and Optical physics lists
+
+ ==> define particles; including *** G4OpticalPhoton     ***
+     define processes; including *** G4Cerenkov          ***
+                                 *** G4Scintillation     ***
+                                 *** G4OpAbsorption      ***
+                                 *** G4OpRayleigh        ***
+                                 *** G4OpBoundaryProcess ***
+				 *** G4OpWLS             ***
+
+G4VUserDetectorConstruction 
+---------------------------
+(class: LXeDetectorConstruction)
+
+ ==> define material: LXe (liquid xenon), Aluminum, Air, Vacuum, Glass,...
+     define G4Box geometry with aluminum housing and LXe volume inside
+     define G4Tubs placed around the housing walls
+     define G4Sphere to demonstrate skin surfaces inside volumes
+     *** add G4MaterialPropertiesTable to G4Material         ***
+     *** define G4OpticalSurface(s)                          ***
+     *** define G4LogicalBorderSurface(s)                    ***
+     *** define G4LogicalSkinSurface(s)                      ***
+     *** add G4MaterialPropertiesTable to G4OpticalSurface(s)***
+
+ ==> Mesenger to change many of the dectector geometry properties
+
+ ==> Uses a alternative style of geometry definition. See "Geometry" section.
+
+G4VUserPrimaryGeneratorAction
+-----------------------------
+(class: LXePrimaryGeneratorAction)
+
+ ==> Use G4ParticleGun to shoot a 511 keV gamma through the housing into
+     liquid xenon scintillator
+ 
+G4UserStackingAction
+--------------------
+(class: LXeStackingAction)
+
+ ==> show how to count the number of secondary particles in an event
+     differentiates between different creator processes
+
+G4UserRunAction
+---------------
+(class: LXeRunAction)
+
+ ==> Call recorder class for begin and end of run
+
+G4UserSteppingAction
+--------------------
+(class: LXeSteppingAction)
+
+ ==> Identify which secondaries were generated during a particular step
+
+ ==> ***Count reflections/absorptions/detections due to G4OpBoundaryProcess***
+     ***Count absorptions due to G4OpAbsorption                            ***
+     Manually trigger a sensitive detector when a boundary process detects
+
+ ==> Call recorder class at end of step
+
+G4UserTrackingAction
+____________________
+(class: LXeTrackingAction)
+
+ ==> Determine if the trajectory should be drawn by checking if it hit the
+     sphere(if enabled) and a pmt.
+
+ ==> Call recorder class at end of track
+
+G4UserEventAction
+-----------------
+(class: LXeEventAction)
+
+ ==> Triggers drawing of trajectories
+
+ ==> Calculates and stores data in a G4VUserEventInformation object
+
+ ==> Outputs basic event data at end of event
+
+ ==> Decides if the random seed should be saved for this event
+
+ ==> Call recorder class at begin and end of event
+
+G4VSensitiveDetector
+--------------------
+(classes: LXePMTSD, LXeScintSD)
+
+ ==> Basic sensitive detectors keeping hit collections
+     Keep one G4VHit object per hit
+      or
+     Keep one G4VHit object per volume containing hits
+
+ ==> LXePMTSD decides if the hits it is creating should be redrawn
+
+G4VHit
+------
+(classes: LXePMTHit, LXeScintHIT)
+
+ ==> Store individual hit positions
+      or
+     Store a count of hits in a particular volume
+
+ ==> Selectively redraw volumes containing hits at the end of event
+
+G4VUserEventInformation & G4VUserTrackInformation
+-------------------------------------------------
+(classes: LXeUserEventInformation, LXeUserTrackInformation)
+
+ ==> Store aditional information along with the G4Event/G4Track objects
+
+G4VSteppingVerbose
+------------------
+(classes: LXeSteppingVerbose)
+ 
+ ==> Custom verbose stepping output to use G4BestUnit and print current volume
+      rather than next volume
+ ==> Same as ExN03SteppingVerbose but output reformated to fit nicer into 
+      tables.
+
+G4UImessenger
+-------------
+(classes: LXeDetectorMessenger, LXeEventMessenger, LXeSteppingMessenger)
+
+ ==> Create /LXe and /LXe/detector interactive command folders
+
+ ==> Create new commands
+
+ ==> See interactive help when running the example for descriptions of commands
+
+G4Trajectory
+------------
+(class: LXeTrajectory)
+
+ ==> Derived from G4Trajectory to use most of the basic trajectory functions
+     already defined
+
+ ==> Uses a coppied and modified version of DrawTrajectory from G4VTrajectory
+     to enable/disable drawing of individual trajectories and to redefine
+     the colours used
+
+G4VisManager
+------------
+(class: LXeVisManager)
+
+ ==> Initialize graphics systems geant4 is configured for
+
+RecorderBase
+------------
+
+ ==> Virtual class provided for recording of simulation data
+
+ ==> Derive your own implementation from it and instantiate the recorder
+     object in main()
+
+ ==> For full description see RecorderBase.hh
+
+**********
+*Geometry*
+**********
+The way the geometry is constructed is an experiment for a new, more object
+oriented, way to construct geometry. It seperates the concept of how a volume
+is built from where it is placed. Each major volume in the geometry is defined
+as a class derived from G4PVPlacement. In this example, just the main LXe
+volume, the WLS scintillator slab, and the WLS fibers were chosen. To place
+one of these volumes, simply create an instance of it with the appropriate
+rotation, translation, and mother volumes.
+
+-------
+LXeMainVolume(G4RotationMatrix *pRot,
+              const G4ThreeVector &tlate,
+              G4LogicalVolume *pMotherLogical,
+              G4bool pMany,
+              G4int pCopyNo,
+              LXeDetectorConstruction* c);
+-------
+
+Also necessary are the pMany and pCopyNo variables with the same usage as in 
+G4PVPlacement. Additionally, the detector construction must be passed to the
+main volume as a way to communicate the many parameters to the volume and its
+sub-volumes. The communication is done from the CopyValues() function which
+retrieves the information from the detector constructor.
+
+Notably, the name and logical volume parameters are no longer part of the
+constructor. This is because they are both to be decided by the volume itself.
+The volume must specify its own name and a temporary logical volume. The
+constructor will then procede to define its logical volume in the normal way.
+Once complete, the logical volume can be assigned to the physical volume using
+the SetLogicalVolume() function.
+
+To handle instances of the same type of volume, a new logical volume should not
+be defined for each one. Instead, the logical volume is kept as a static member
+and defined only once. 
+
+------
+if(!housing_log || updated){
+//...
+//Define logical volume
+//...
+}
+SetLogicalVolume(housing_log);
+------
+
+The updated variable is to signal that the volume needs to be updated and a new
+logical volume made.
+
+***********************************
+*Modifying the geometry at runtime*
+***********************************
+This example allows the user to modify the geometry definition at runtime. This
+is accomplished through LXeDetecotrMessenger, a derived class of G4UImessenger.
+The commands it adds change variables stored in LXeDetectorConstructor that
+are used when constructing the geometry. After changing these variables
+the /LXe/detector/update command must be issued to reconstruct the geometry
+with the new values.
+
+------
+void LXeDetectorConstruction::UpdateGeometry(){
+  // clean-up previous geometry
+  G4SolidStore::GetInstance()->Clean();
+  G4LogicalVolumeStore::GetInstance()->Clean();
+  G4PhysicalVolumeStore::GetInstance()->Clean();
+
+  //define new one
+  G4RunManager::GetRunManager()->DefineWorldVolume(ConstructDetector());
+  G4RunManager::GetRunManager()->GeometryHasBeenModified();
+}
+
+************************
+*PMT sensitive detector*
+************************
+The PMT sensitive detector cannot be triggered like a normal sensitive detector
+because the sensitive volume does not allow photons to pass through it. Rather,
+it detects them in the OpBoundary process based on an efficiency set on the
+skin of the volume.
+
+------
+
+  G4OpticalSurface* photocath_opsurf=
+     new G4OpticalSurface("photocath_opsurf",glisur,polished,
+                           dielectric_metal);
+  G4double photocath_EFF[num]={1.,1.};
+  G4double photocath_REFL[num]={0.,0.};
+  G4MaterialPropertiesTable* photocath_mt = new G4MaterialPropertiesTable();
+  photocath_mt->AddProperty("EFFICIENCY",Ephoton,photocath_EFF,num);
+  photocath_mt->AddProperty("REFLECTIVITY",Ephoton,photocath_REFL,num);
+  photocath_opsurf->SetMaterialPropertiesTable(photocath_mt);
+  new G4LogicalSkinSurface("photocath_surf",photocath_log,photocath_opsurf);
+
+------
+
+A normal sensitive detector would have its ProcessHits 
+function called for each step by a particle inside the volume. So, to record
+these hits with a sensitive detector we watched the status of the OpBoundary
+process from the stepping manager whenever a photon hit the sensitive volume
+of the pmt. If the status was 'Detection', we retrieve the sensitive detector
+from G4SDManager and call its ProcessHits function.
+
+------
+
+  boundaryStatus=boundary->GetStatus();
+  //Check to see if the particle was actually at a boundary
+  //Otherwise the boundary status may not be valid
+  //Prior to Geant4.6.0-p1 this would not have been enough to check
+  if(thePostPoint->GetStepStatus()==fGeomBoundary){
+    switch(boundaryStatus){
+    //...    
+      case Detection: //Note, this assumes that the volume causing detection
+                      //is the photocathode because it is the only one with
+	              //non-zero efficiency
+	{
+	  //Trigger sensitive detector manually since photon is
+	  //absorbed but status was Detection
+	  G4SDManager* SDman = G4SDManager::GetSDMpointer();
+	  G4String sdName="/LXeDet/pmtSD";
+	  LXePMTSD* pmtSD = (LXePMTSD*)SDman
+	    ->FindSensitiveDetector(sdName);
+	  if(pmtSD)
+	    pmtSD->ProcessHits_constStep(theStep,NULL);
+	  break;
+	}
+      //...
+    }
+
+**********************
+*Modular Physics List*
+**********************
+Using a modular physics list is an easy way to organize the physics list into
+categories for easier maintenance. It can also assist with testing code
+by making it easy to disable an entire category of physics at once if
+necessary. The physics list instantiated in main() is a derived class of
+G4VModularPhysics list rather than the usual G4VUserPhysicsList. The only
+function aside from the constructor that is necessary in this class is
+SetCuts(). The constructor must register the other physics lists individually.
+
+RegisterPhysics( new LXeGeneralPhysics("general") );
+
+The other physics lists (the modules) are derived from G4VPhysicsConstructor 
+and it is necessary to write the ConstructParticle() and ConstructProcess() 
+functions for each list. They work in the same way as in G4VUserPhysicsList.
+
+Do not create instances of the individual physics processes as members of the
+modules. Instead, use pointers to the processes and create the instances
+in the ConstructProcess() function. The reason for this is that the materials
+needed to build physics tables for the processes will not have been created
+at the time that the modules are created but will have been created before the
+ConstructProcess() function is called.
+
+**********************************************************
+*Selectively drawing trajectories or highlighting volumes*
+**********************************************************
+In a simulation such as this one, where an average of 6000 trajectories are
+generated in a small space, there is little use in drawing all of them. There
+are two ways to select which ones to draw. The first of which is to decide
+while looping through the trajectory container which ones to draw and only call
+DrawTrajectory on the important ones. However, trajectories only contain a
+small portion of the information from the track it represents. This may not
+be enough to decide if a trajectory is worth drawing.
+
+The alternative is to define your own trajectory class to store additional
+information to help decide if it should be drawn. To use your custom trajectory
+you must create it in the PreUserTrackingAction:
+
+fpTrackingManager->SetTrajectory(new LXeTrajectory(aTrack));
+
+Then at any point you can get access to the trajectory you can update the extra
+information within it. When it comes to drawing, you can then use this to
+decide if you want to call DrawTrajectory. Or you can call DrawTrajectory for
+all trajectories and have the logic decide how and if a trajectory should
+be drawn inside the DrawTrajectory function itself.
+
+Selectively highlighting volumes is useful to show which volumes were hit. To
+do this, you simply need a pointer to the physical volume. With that, you can
+modify its vis attributes and instruct the vis manager to redraw the volume
+with the new vis attributes.
+
+------
+  G4VisAttributes attribs(G4Colour(1.,0.,0.));
+  attribs.SetForceSolid(true);
+  G4RotationMatrix rot;
+  if(physVol->GetRotation())//If a rotation is defined use it
+    rot=*(physVol->GetRotation());
+  G4Transform3D trans(rot,physVol->GetTranslation());//Create transform
+  pVVisManager->Draw(*physVol,attribs,trans);//Draw it
+------
+
+In this case, it is done in Draw function of a PMT hit but it can be placed
+anywhere. The logic to decide if it should be drawn or not may be similar to
+the logic used in choosing which trajectories to draw.
+
+See /LXe/detector/volumes/sphere in "UI commands" below for info on what 
+trajectories are drawn in this simulation.
+
+****************************
+*Saving random engine seeds*
+****************************
+At times it may be necessary to review a particular event of interest. To do
+this without redoing an entire run, which may take a long time, you must store
+the random engine seed from the beginning of the event. The run manager
+has some functions that help in this task.
+
+G4RunManager::SetRandomNumberStore(G4bool)
+
+When set to true, this causes the run manager to write the seed for the
+beginning of the current run to CurrentRun.rndm and the current event to 
+CurrentEvent.rndm. However, at the beginning of each event this file will be 
+overwritten with the new event. To keep a copy for a particular event there is
+a function to copy this file to run###evt###.rndm.
+
+G4RunManager::rndmSaveThisEvent()
+
+This can be done for every event so you can review any event you like but this
+may be awkward for runs with very large numbers of events. Instead, implement
+some form of logic in EndOfEventAction to decide if the event is worth saving.
+If it is, then call rndmSaveThisEvent(). By default, these files are stored in
+the current working directory. There is a function to change this as well.
+Typically you would call that at the same time SetRandomNumberStore. The
+directory to save in must exist first. GEANT4 will not create it for you.
+
+G4RunManager::SetRandomNumberStoreDir(G4String)
+
+**************
+*RecorderBase*
+**************
+RecorderBase is a virtual class to serve as a template for how to add
+histogram functionality to a GEANT4 application. To use it, derive a
+class from it and instantiate that in main(). Each of your user action classes
+to do any recording must have a pointer to this instance. Then at the end of 
+the critical functions in each user action, call the appropriate recorder
+function. The recorder functions and the functions to call them from are listed
+here:
+
+  RecordBeginOfRun(const G4Run*)
+	-Call from BeginOfRunAction()
+  RecordEndOfRun(const G4Run*)
+	-Call from EndOfRunAction()
+  RecordBeginOfEvent(const G4Event*)
+	-Call from BeginOfEventAction()
+  RecordEndOfEvent(const G4Event*)
+	-Call from EndOfEventAction()
+  RecordTrack(const G4Track*)
+	-Call from PostUserTrackingAction()
+  RecordStep(const G4Step*)
+	-Call from UserSteppingAction()
+
+For the reasoning behind why it is done this way see RecorderBase.hh
+
+*************
+*UI commands*
+*************
+The method to define UI commands is well documented in the GEANT4 documentation
+so will not be discussed here. This is a description of the commands added to
+this example.
+
+Directories:
+/LXe/ - All custom commands belong below this directory
+/LXe/detector/ - Geometry related commands
+/LXe/detector/volumes/ - Commands to enable/disable volumes in the geometry
+
+Commands:
+/LXe/saveThreshold <int, default = 4500>
+-Specifies a threshold for saving the random seed for an event. If the number
+of photons generated in an event is below this number then the random seed is
+saved to ./random/run###evt###.rndm. See "Saving random engine seeds".
+
+/LXe/eventVerbose <int, default = 1>
+-Enables end of event verbose data to be printed. This includes information
+counted and calculated by the user action classes.
+
+/LXe/pmtThreshold <int, default = 1>
+-Sets the PMT threshold in # of photons being detected by the PMT. PMTs below
+with fewer hits than the threshold will not count as being hit and will also
+not be highlighted at the end of the event.
+
+/LXe/oneStepPrimaries <bool>
+-This causes primary particles to be killed after going only one step inside
+the scintillator volume. This is useful to view the photons generated during 
+the initial conversion of the primary particle.
+
+/LXe/forceDrawPhotons <bool>
+-Forces all optical photon trajectories to be drawn at the end of the event 
+regardless of the scheme mentioned in /LXe/detector/volumes/sphere below.
+
+/LXe/forceDrawNoPhotons <bool>
+-Forces all optical photon trajectories to NOT be drawn at the end of the 
+event regardless of the scheme mentioned in /LXe/detector/volumes/sphere below.
+-If /LXe/forceDrawPhotons is set to true, this has no effect.
+
+/LXe/detector/dimensions <double x y z> <unit, default = cm>
+-Sets the dimensions of the main scintillator volume.
+
+/LXe/detector/housingThickness <double>
+-Sets the thickness of the housing surrounding the main detector volume.
+
+/LXe/detector/pmtRadius <double> <unit, default = cm>
+-Sets the radius of the PMTs
+
+/LXe/detector/nx
+/LXe/detector/ny
+/LXe/detector/nz
+-Sets the number of PMTs placed in a row along each axis.
+
+/LXe/detector/reflectivity <double>
+-Sets the reflectivity of the inside of the aluminum housing. The geometry
+uses a default value of 1.00 for a fully reflective surface.
+
+/LXe/detector/nfibers <int>
+-Sets the number of WLS fibers placed in the WLS scintillator slab. The
+geometry uses a default value of 15 fibers.
+
+/LXe/detector/scintYieldFactor <double>
+-Sets the yield factor for the scintillation process. This is cumulative with
+the yield factor set on individual materials. Set to 0 to produce no 
+scintillation photons.
+
+/LXe/detector/update
+-Builds the new geometry based on any parameters that have been updated with
+the other UI commands. ***This must be called for the changes to take effect***
+
+/LXe/detector/defaults
+-Resets all detector values customizable with commands above to their defaults.
+
+/LXe/detector/volumes/sphere <bool>
+-Enables/disables the sphere placed inside the main scintillator volume. When
+the sphere is enabled, only photons that hit the sphere and hit a PMT are
+drawn. If it is disabled, then all photons that hit PMTs are drawn.
+
+/LXe/detector/volumes/wls <bool>
+-Enables/disables the WLS scintillator slab containing WLS fibers. By default
+this is not part of the geometry. Enabling it will place it behind the LXe
+scintillator volume.
+
+/LXe/detector/volumes/lxe <bool>
+-Enables/disables the main LXe scintillator volume. By default this is part of
+the geometry.
+
+*************
+*Macro files*
+*************
+The following are the macro files included in this example and what they do.
+
+LXe.in
+-This produces a standard event with a 511 keV gamma fired into the LXe volume.
+All values are left at their default states but verbose output has been
+enabled.
+
+cerenkov.mac
+-This is to demonstrate the cerenkov process. It disables the scintillation
+process and uses a 200MeV mu+ to produce cerenkov photons. The volume has
+been resized and the number of pmts has been increased to more accurately
+show the cone. OneStepPrimaries has been enabled so that the cone does not fill
+itself in as the muon slows down.
+
+wls.mac
+-This disables the main volume and enables the WLS slab volume. It sets the
+particle gun to use an e- to produce scintillation in the slab which will be
+absorbed by the WLS fibers and re-emited at a different wavelength.
+
+vis.mac
+-This is a standard vis.mac file to tell the vis manager how to visualize the
+simulation.
+
+photon.mac
+-A very simple test in which the gun is set to produce a single photon inside 
+the main scintillator volume.
+
+reviewEvent.mac
+-This is to review an event by loading in a random seed and running the event
+with verbose output. Modify the file to specify the filename of the random 
+seed.
+
+defaults.mac
+-This resets all values that can be changed with the /LXe/ commands back to
+their initial configuration including those that are not reset with
+/LXe/detector/defaults
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/optical/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/optical/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/optical/README/index.html	(revision 901)
@@ -0,0 +1,13 @@
+
+                         Optical processes
+			 -----------------
+
+This directory includes examples demonstrating the use of optical processes
+in the simulation.
+
+LXe
+----
+Multi-purpose detector setup implementing:
+(1) scintillation inside a bulk scintillator with PMTs
+(2) large wall of small PMTs opposite a Cerenkov slab to show the cone
+(3) plastic scintillator with wave-length-shifting fiber readout.
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/ExDiane/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/ExDiane/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/ExDiane/README/index.html	(revision 901)
@@ -0,0 +1,95 @@
+
+     =========================================================
+ 		      Geant4 - ExDiane example
+     =========================================================
+
+                             README
+                      ---------------------
+
+------------------------------------------------------------------------
+----> Introduction                                                    
+
+This example shows how to run a Geant4 application in a parallel mode
+using DIANE (DIstributed ANalysis Environment).
+
+With DIANE the simulation may be run in sequential or parallel mode
+without changing the code of the Geant4 application. Using a dedicated
+cluster or geographically distributed resources (e.g. GRID) is
+completely transparent for the user.
+
+For more details about DIANE, have a look at http://cern.ch/diane
+
+The ExDiane example derives from the Geant4 advanced example
+brachytherapy. The original application code is the same.  An
+interface class (BrachySimulation) has been added to replace the
+main() function.
+
+Please look at the documentation of the brachytherapy advanced example
+to know details about the functionality of the application:
+   - geant4/examples/advanced/brachytherapy 
+   - http://www.ge.infn.it/geant4/examples/index.html
+
+-------------------------------------------------------------------------
+----> 2.SET-UP 
+                                                                       
+ - example enviroment with the compiler 3.2.3                              
+    compiler = gcc-3.2.3
+    G4SYSTEM = linux-g++                                               
+
+ - other environment variables which need to be set:                   
+    G4LEDATA: points to low energy data base - G4EMLOW3.0              
+
+ - download DIANE
+    You need to have python 2.2 or greater.
+    
+  * AUTOMATIC INSTALLATION OF DIANE
+    Execute this command:
+    > python2 diane.installation.manager --packages=brachy DIANE-1.0.0 download
+    Get the diane.installation.manager script from 
+    http://cern.ch/diane/download.html
+
+  * MANUAL INSTALLATION OF DIANE
+    Make sure that you have AIDA 3.2.1, PI 1.3.3. Download them from
+      http://aida.freehep.org/
+      http://www.cern.ch/PI
+
+    Download DIANE from www.cern.ch/diane
+    Documentation about how to "dianize" a Geant4 application can be found
+    at www.cern.ch/diane
+------------------------------------------------------------------------
+----> 3.How to compile the example.
+                                       
+setenv G4ANALYSIS_USE 1 -> to activate the analysis
+setenv G4DIANE_USE 1    -> to activate the use of DIANE
+> gmake
+------------------------------------------------------------------------
+----> 4.How to run the example.                                       
+
+Two macros are provided as example: iridium.job and iodium.job
+They correspond to the Geant4 macros: IridiumSourceMacro.mac and
+IodiumSourceMacro.mac
+
+- batch mode running through DIANE:
+  diane.startjob --job=iodium.job -w 3@localhost --wms=xterm                                                ^        ^    
+                  input macro        number of workers
+------------------------------------------------------------------------
+----> 4. Simulation output                                            
+
+if ANALYSIS_USE = 1 in the set-up, the output is brachytherapy.xml    
+
+ It contains:
+ 1)1Dhistogram with the primary particle energy                       
+ 2)2Dhistogram with the distribution of energy in the plane 
+   (x,z,energy) containing the source
+ 3)1Dhistogram with the energy deposit along the X axis in the plane  
+   containing the source.
+                                                                      
+Units:   the energy deposit is in MeV;
+         x, y, z in mm for histograms                                 
+-------------------------------------------------------------------------
+Authors: Susanna Guatelli, Kuba Moscicki
+
+for comments, advices, doubts and questions: 
+guatelli@ge.infn.it, Jakub.Moscicki@cern.ch
+
+- last modified: Susanna Guatelli and Kuba Moscicki 29/11/2005
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/MPI/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/MPI/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/MPI/README/index.html	(revision 901)
@@ -0,0 +1,177 @@
+$Id: README,v 1.2 2007/11/16 14:04:05 kmura Exp $
+==========================================================================
+Geant4 MPI Interface
+
+  Author:
+  Koichi Murakami (KEK) / Koichi.Murakami@kek.jp
+==========================================================================
+
+About the interface
+===================
+G4MPI is a native interface with MPI libraries. The directory contains
+a Geant4 UI library and a couple of parallelized examples.
+Using this interface, users applications can be parllelized with
+different MPI compliant libraries, such as LAM/MPI, MPICH2, OpenMPI,
+and so on.
+
+System Requirements:
+-------------------
+* Platform
+
+- Linux (32bit/64bit)
+- MacOS (Tiger)
+
+
+* MPI implementation
+
+- LAM/MPI (7.1.3)
+  http://www.lam-mpi.org/
+
+- MPICH2 (1.0.6p1)
+  http://www.mcs.anl.gov/research/projects/mpich2/
+
+- Open MPI (1.2.4)
+  http://www.open-mpi.org/
+
+
+* Optional
+- ROOT for histogramming/analysis
+
+
+G4MPI UI library
+----------------
+G4MPI UI library is provided in the "mpi_interface" directory.
+Start with building the G4MPI UI library according to the instruction 
+in the directory.
+
+
+How to make parallel applications:
+----------------------------------
+* An example of a main program:
+
+#include "G4MPImanager.hh"
+#include "G4MPIsession.hh"
+
+int main(int argc,char** argv)
+{
+  // At first, G4MPImanager/G4MPIsession should be created.
+  G4MPImanager* g4MPI= new G4MPImanager(argc,argv);
+
+  // MPI session (G4MPIsession) instead of G4UIterminal
+  G4MPIsession* session= g4MPI-> GetMPIsession();
+
+  // LAM users can use G4tcsh.
+  G4String prompt= "G4MPI";
+  G4UItcsh* tcsh= new G4UItcsh(prompt);
+  session-> SetShell(tcsh);
+
+  // user application setting
+  G4RunManager* runManager= new G4RunManager();
+
+  // ....
+
+  // After user application setting, just start a MPI session.
+  // MPIsession treats both interactive and batch modes.
+  session-> SessionStart();
+
+  // Finally, terminate the program
+  delete g4MPI;
+  delete runManager;
+}
+
+
+* Notes about session shell:
+
+LAM/MPI users can use "G4tcsh" as an interactive session shell.
+For other users (Open MPI/MPICH2), plese use G4csh (default).
+
+
+How to use:
+-----------
+* MPI runtime rnvironment
+
+1. Make hosts/cluster configuration of your MPI environment.
+
+2. Launch MPI runtime environment, typically executing 
+   lamboot (LAM) / mpdboot (MPICH2).
+
+* How to run
+For example,
+
+> mpiexec -n # <your application>
+
+Instead, "mpirun" command is more convenient for LAM users.
+
+
+MPI G4UI commands:
+------------------
+G4UI commands handling the G4MPI interface are placed in /mpi/.
+
+Command directory path : /mpi/
+
+Guidance :
+MPI control commands
+
+ Sub-directories :
+ Commands :
+   verbose *        Set verbose level.
+   status *         Show mpi status.
+   execute *        Execute a macro file. (=/control/execute)
+   beamOn *         Start a parallel run w/ thread.
+   .beamOn *        Start a parallel run w/o thread. (=/run/beamOn)
+   masterWeight *   Set weight for master node.
+   showSeeds *      Show seeds of MPI nodes.
+   setMasterSeed *  Set a master seed for the seed generator.
+   setSeed *        Set a seed for a specified node.
+
+* Notes:
+While "/run/beamOn" is executed in foreground, the "/mpi/beamOn" 
+command invokes beam-on in background, so you can input UI commands
+even while event processing.
+
+The original "/control/execute" and "/run/beamOn" are overwritten 
+with "/mpi/execute" and "/mpi/.beamOn" commands, customized for 
+the MPI interface.
+
+
+Examples
+========
+There are a couple of examples for Geant4 MPI applications.
+
+In some cases, you need to set some additional environment variables
+for running examples:
+
+- G4LEVELGAMMADATA : directory path for the data of 
+                     "low energy electromagnetic processes".
+
+For running ROOT applications, 
+
+- ROOTSYS         : root path of the ROOT package
+- LD_LIBRARY_PATH : add ROOT library path, such as $(ROOTSYS)/lib/root
+
+
+[exMPI01]
+A simple application.
+
+* Geometry     : chamber / calorimeter
+* Primary      : particle gun (200 MeV electron as default)
+* Physics List : standard EM
+
+- Particles are transported in a geometry without any scoring.
+- Learn how to parallelize your G4 session.
+
+
+[exMPI02] (ROOT application)
+An example of dosimetry in a water phantom.
+
+* Geometry     : water phantom
+* Primary      : particle gun (200 MeV proton as default)
+* Physics List : QGSP_BIC
+
+- Score dose distribution in a water phantom.
+- Learn how to paralleize your applications.
+- Create a ROOT file containing histograms in each node.
+  * treat multiple outputs properly:
+    each slave node generate a ROOT file, whose file name should
+    be different from each other. 
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/parallel/README/index.html	(revision 901)
@@ -0,0 +1,21 @@
+
+                        Examples for event parallelism
+                        ------------------------------
+
+This directory includes example applications to demonstrate the usage of
+different techniques for achieving event parallelism with Geant4.
+
+- ParN02 and ParN04 are modified versions of the novice examples N02 and N04
+  adapted to be run together with the TOP-C communication layer application
+  on either a cluster of systems or multi-processor machines.
+
+- ExDiane is a simplified version of the advanced application "brachytherapy"
+  showing how to run Geant4 in a parallel mode using DIANE (DIstributed
+  ANalysis Environment).
+
+- MPI is a native interface with MPI libraries. The directory contains 
+  a Geant4 UI library and a couple of parallelized examples.
+  Using this interface, users applications can be parllelized with 
+  different MPI compliant libraries, such as LAM/MPI, MPICH2, OpenMPI,
+  and so on.
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/P01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/P01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/P01/README/index.html	(revision 901)
@@ -0,0 +1,92 @@
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleP01
+                            ----------
+
+	General description
+	-------------------
+
+	This example shows how to store produced hits in a file using
+the 'reflection' technique for persistency provided by the Reflex tool
+also included in ROOT. The Reflex tool allows to create a dictionary
+for the hit class, making then possible to save hit objects in a .root
+file.  The general simulation setup (geometry, physics list, user
+actions, etc...) is taken from ExampleN02.
+
+The provided makefile produces two executables: 'persEx02' and
+'readHits'. The first one is the actual Geant4 simulation application
+with hits persistency. The second one, is just a simple 'reader' for
+the produced .root file (you need to specify the name of the .root
+file as argument).
+
+
+	Building and running the example
+	--------------------------------
+
+	Before buidling and/or running the example you need to set the
+following environment variables:
+
+ROOTSYS - ROOT installation directory, it is required to run ROOT
+
+GCCXMLPATH - gccxml binary directory, it is needed by ROOT for the
+             dictionary generation
+LD_LIBRARY_PATH - to include the ROOT library path and the path to
+                  the dictionary library, i.e., for tcsh UNIX shell:
+   setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$ROOTSYS/lib:
+                          $G4WORKDIR/tmp/$G4SYSTEM/exampleP01
+
+The present version of the example requires that Geant4 headers are
+installed in a single directory referenced by G4INCLUDE, as the standard
+Geant4 installation procedure allows to do.
+
+Once those variables are set (together with the standard Geant4 setup)
+the example can be build by issueing the 'make' command. The final
+executable file can be found in the usual directory:
+
+$G4WORKDIR/bin/$G4SYSTEM/
+
+Ten events will be generated and the produced hits will be stored in
+the hits.root file. In addition, the hits will be printed out on the
+screen so one can then compare them with the 'reader' output.
+        
+In order to read the persistified hits, a small 'reader' application
+has been implemented. It is build by the same makefile as the example
+executable. It can be run in the following way:
+
+readHits hits.root
+
+where the argument is the name of the file to be read. All the hits
+saved in that file will be then read and printed on the screen.
+
+
+	Remark on dictionary generation
+	-------------------------------
+
+	The dictionary is generated by ${ROOTSYS}/bin/genreflex
+tool. The header file including headers for all the classes we want to
+generate the dictionary for should be given as argument. Additionally,
+a so called selection file (xml) should be provided (with -s flag) to
+the genreflex tool (see the GNUmakefile). The role of this file is to
+specify which classes we want to generate the dictionary for. The
+selection file for our dictionary is in xml/ directory. Please refer
+to genreflex manual for more details concerning the usage of that
+tool.  
+
+Concerning generating dictionary for the Geant4 objects, there are
+also two technical remarks that need to be made here. The gccxml tool
+(version 0.6.0_patch1) requires all the templated classes to be
+explicitely used somewhere in the included header files in order for
+the generation of the dictionary to be possible. For those templated
+classes for which it is not the case, the problem can be very easily
+solved by instaciating them in the headerfile which is given to
+genreflex (see includes/Classes.h) as argument.  
+The second remark is that there is an unfortunate clash of names as
+far as G4String class is concerned. The header of G4String class
+defines __G4String which happens to be the name of a variable used
+within the generated dictionary code. The solution for that is to do
+#undef __G4String in include/Classes.h file.
+
+ 
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/P02/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/P02/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/P02/README/index.html	(revision 901)
@@ -0,0 +1,78 @@
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleP02
+                            ----------
+
+	General description
+	-------------------
+
+	This example shows how to store in a binary file and how to
+read back the geometry tree using the 'reflection' technique for
+persistency provided by the Reflex tool also included in ROOT. The
+Reflex tool allows to create a dictionary for the geometry classes,
+making then possible to save the entire tree in a .root file.  
+
+The provided makefile produces the executable: 'exampleP02'. In order
+to run it one has to specify the argument, either 'write' or
+'read'. In the first case the geometry is instaciated in the standard
+way and then saved into the root file (geo.root). In the second case,
+the geometry is read from geo.root file.
+
+
+	Building and running the example
+	--------------------------------
+
+	Before buidling and/or running the example you need to set the
+following environment variables:
+
+ROOTSYS - ROOT installation directory, it is required to run ROOT
+
+GCCXMLPATH - gccxml binary directory, it is needed by ROOT for the
+             dictionary generation
+LD_LIBRARY_PATH - to include the ROOT library path and the path to
+                  the dictionary library, i.e., for tcsh UNIX shell:
+   setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$ROOTSYS/lib:
+                          $G4WORKDIR/tmp/$G4SYSTEM/exampleP01
+
+The present version of the example requires that Geant4 headers are
+installed in a single directory referenced by G4INCLUDE, as the standard
+Geant4 installation procedure allows to do.
+
+Once those variables are set (together with the standard Geant4 setup)
+the example can be build by issueing the 'make' command. The final
+executable file can be found in the usual directory:
+
+$G4WORKDIR/bin/$G4SYSTEM/
+
+
+	Remark on dictionary generation
+	-------------------------------
+
+	The dictionary is generated by ${ROOTSYS}/bin/genreflex
+tool. The header file including headers for all the classes we want to
+generate the dictionary for should be given as argument. Additionally,
+a so called selection file (xml) should be provided (with -s flag) to
+the genreflex tool (see the GNUmakefile). The role of this file is to
+specify which classes we want to generate the dictionary for. The
+selection file for our dictionary is in xml/ directory. Please refer
+to genreflex manual for more details concerning the usage of that
+tool.  
+
+Concerning generating dictionary for the Geant4 objects, there are
+also two technical remarks that need to be made here. The gccxml tool
+(version 0.6.0_patch1) requires all the templated classes to be
+explicitely used somewhere in the included header files in order for
+the generation of the dictionary to be possible. For those templated
+classes for which it is not the case, the problem can be very easily
+solved by instaciating them in the headerfile which is given to
+genreflex (see includes/Classes.h) as argument.  
+The second remark is that there is an unfortunate clash of names as
+far as G4String class is concerned. The header of G4String class
+defines __G4String which happens to be the name of a variable used
+within the generated dictionary code. The solution for that is to do
+#undef __G4String in include/Classes.h file.
+
+ 
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/persistency/README/index.html	(revision 901)
@@ -0,0 +1,10 @@
+
+                        Geant4 Persistency Examples
+                        ===========================
+
+This directory contains a set of persistency examples.
+
+   P01        ROOT I/O example for storing and retrieving calorimeter hits
+
+See the README file in P01 for more detail.
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/polarisation/Pol01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/polarisation/Pol01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/polarisation/Pol01/README/index.html	(revision 901)
@@ -0,0 +1,136 @@
+$Id: README,v 1.2 2007/12/04 10:34:17 schaelic Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            TestPolarization
+                            ----------------
+
+	How to compute and plot the QED processes including
+	polarization.
+	Two possible scenarios are available:
+	- Polarization transfer of an incoming beam to final state particles 
+	- Material dependent transmission of a polarized beams.
+	The method is explained below : see item Physics. 
+	
+ 1- GEOMETRY DEFINITION
+ 
+	The geometry consists of a single block of a homogeneous material,
+	placed in a world.
+     	
+	Three parameters define the geometry :
+	- the material of the box,
+	- the thickness of the box (sizeZ),
+	- the  transverse dimension of the box (sizeXY).
+	
+        The default geometry (5mm of Iron, G4_Fe) is constructed in 
+	DetectorConstruction, but the above parameters can be changed 
+	interactively via the commands defined in DetectorMessenger.
+        Its polarization can be accessed via the PolarizationMessenger
+        (see example macro file), and is given in the global coordinate 
+        system. 
+ 	
+ 2- PHYSICS LIST
+ 
+	The Physics List contains QED particle definitions (electrons,
+        positrons and photons) and a general transportation process.
+        In addition the user can add one of the two process modules:
+	 1. "standard"  - standard (unpolarized) EM physics
+	 2. "polarized" - polarized EM physics 
+ 	These physics list contain the standard electromagnetic processes.
+ 	 
+ 3- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle starting
+        at the edge of the box. The type of the particle and its
+        energy are set in PrimaryGeneratorAction (10 MeV electron).
+        By default the ParticleGun polarization is zero.
+        All parameter can be changed via the G4 build-in commands of
+        ParticleGun class (see the macros provided with this example). 
+ 	
+ 4- PHYSICS
+ 
+     This example uses the following physics processes:
+
+       - electromagnetic:
+           photo-electric effect
+           Compton scattering
+           pair production
+           bremsstrahlung
+           ionization
+           multiple scattering
+           annihilation
+       or
+       - polarized electromagnetic:
+         (incl. simulation of polarization transfer, and
+          asymmetries for longitudinally polarized leptons, and
+          circularly polarized photons) 
+
+           polarized photo-electric effect
+           polarized Compton scattering
+           polarized pair production
+           polarized bremsstrahlung
+           polarized ionization
+           multiple scattering
+           polarized annihilation
+       and
+       - transportation
+
+     and defines the following particles:
+        electron, positron, photon 
+
+
+ 5- HISTOGRAMS
+         
+	The test contains 12 built-in 1D histograms, which are managed by the
+	HistoManager class and its Messenger. The histos can be individually 
+	activated with the command :
+	/testem/histo/setHisto id nbBins  valMin valMax unit 
+	where unit is the desired unit for the histo (MeV or keV, etc..)
+	(see the macro histos.mac).
+
+            1  gamma energy
+            2  gamma cos(theta)
+            3  gamma phi
+            4  gamma polarization
+            5  electron energy
+            6  electron cos(theta)
+            7  electron phi
+            8  electron polarization
+            9  positron energy
+           10 positron cos(theta)
+           11 positron phi
+           12 positron polarization
+
+        If AIDA is available, i.e. if G4ANALYSIS_USE is set, these
+        histograms are stored in a compressed XML file
+        (pol01.aida). These results can be displayed using a small
+        program (plotResults.java) based on JAIDA by simply calling 
+
+          % gmake plots
+ 	 				
+ 6- VISUALIZATION
+ 
+     Simulated events can be displayed on top of a representation of 
+     the geometry, see vis.mac for an example.
+	
+ 7- HOW TO START ?
+ 
+	compile and link to generate an executable
+ 		% gmake
+ 		
+	execute pol01 in 'batch' mode from the default macro file :
+ 		% pol01   pol01.in
+
+	or execute pol01 in 'batch' mode including aida output :
+ 		% pol01   histos.mac
+
+        if available use JAIDA to display the results via
+                % gmake plots
+
+	a visualisation example is available by calling 
+ 		% pol01  
+                [...]
+                PreInit> /control/execute vis.mac
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/radioactivedecay/exrdm/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/radioactivedecay/exrdm/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/radioactivedecay/exrdm/README/index.html	(revision 901)
@@ -0,0 +1,249 @@
+
+    =========================================================
+    Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+    =========================================================
+
+                       Extended Example for G4RadioactiveDecay
+                       -------------------- 
+
+  The exRDM is created to show how to use the G4RadioactiveDecay process to simulate the decays of radioactive 
+  isotopes as well as the induced radioactivity resulted from nuclear interactions. In the example a simple 
+  geometry consists of a cylindric target placed in the centre of a tube shaped detector is used. Various primary event
+  generation and tallying options are available. More documentations are available at
+
+	  http://reat.space.qinetiq.com/septimess/exrdm
+
+  1. GEOMETRY
+
+     Material: There are 7 pre-defined materials: 
+	"Vacuum" "Air" "Silicon" "Aluminium" "Lead" "Germanium" and "CsI"
+
+     User can add a new material at the "PreIni" state, using the command
+	/geometry/material/add
+
+     For the geometry, the world is filled with "Air" and there are two components in it	     
+ 
+       - Target:  A cylinder placed at the origin along the z-axis. The default size of the cylinder is 
+	          0.5 cm radius and 1 cm in length, and its default material is "CsI".
+		  
+       - Detector:A tube cerntred at the origin along the z-axis, with inner radius matching the
+	          radius of the target. The default thickness of the tube is 2 cm and it is  
+                  5 cm long. The default material is "Germanium".
+
+     The user can change the target/detector size and material at the at the "PreIni" state, using the commands under
+		  
+		/exrdm/det
+
+
+  2. PHYSICS
+
+     The following physics processes are included by default:
+
+       - Standard electromagnetic:
+           photo-electric effect
+           Compton scattering
+           pair production
+           bremsstrahlung
+           ionization
+           multiple scattering
+           annihilation
+
+       - Decay
+
+       - Radioactive Decay
+	  By default it is applied through out the geometry. The user can limit it to just the target by 
+	  commands
+
+	        /grdm/noVolumes
+	        /grdm/selectVolume Target
+
+
+
+       - Hadronic processes:
+	  Hadronic processes are not invoked by default. They can be activated by the user at the "PreIni" 
+ 	  state of the execution via the command
+
+		/exrdm/phys/SelectPhysics
+
+	  The options are:
+ 
+		"Hadron" - Physicslist comsists of Binary_Cascade, HP_Neutron, QGSP, and LHEP, or
+		the standdard hadron physics list avaible in the G4 distribution, i.e. 
+		"QGSP_BERT", "QGSP_BIC", "QGSP_HP", "LHEP_BERT", "LHEP_BERT_HP", "LHEP_BIC",
+		"LHEP_BIC_HP".
+
+
+  3. EVENT:
+
+     The event generator is based on the G4GeneralParticleSource (GPS) which allows the user to 
+     control all aspects of the initial states of the events. In this example, however, only simple features 
+     of the GPS are employed to generate the incident beam or the initial radio-isotopes. By default the 
+     incident particle is travelling along the + z-axis and the incident position is at the -Z end 
+     of the geometry.      
+
+  4. DETECTOR RESPONSE:
+
+     No Geant4 HITS and SD are defined in this example. All the relevant information of the simulation is extracted
+     at the "UserSteppingAction" stage, if the variable "G4ANALYSIS_USE" is defined. These include:
+
+       - Emission particles in the RadioactiveDecay process: 
+           particle PDGcode,
+           partilce kinetic energy,
+	   particle creation time,
+           particle weight.
+
+	Note: the residual nuclei is not considered as an emitted particle.
+
+       - Radio-Isotopes. All the radioactive isotopes produced in the simulation: 
+           isotope  PDGcode,
+           isotope  creation time,
+           isotope  weight.
+ 
+       - Energy depositions in the target and detector by prodicts of the RadioactiveDecay process: 
+           energy depostion (positive volue for target and negative for detector), 
+           time,
+           weight.
+  
+  5. VISUALIZATION:
+ 
+     Visualisation of the geometry and the tracks is possible with many of the G4 visualisation packages. An
+     example of display the geometry and tracks using VRML is given in the macro file macros/vrml.mac.  
+
+  6. ANALYSIS:
+
+     This example implements an AIDA-compliant analysis system as well as the ROOT file format for 
+     histograms and ntuples. If the the user has an AIDA-compliant tool such as 
+     AIDAJNI, ANAPHE, or PI installed on his/her system, the analysis part of this example can 
+     be activated by 
+	
+	setenv G4ANALYSIS_USE_AIDA 1
+
+     before building the executable.  The user can also add the "root" file format option by define 
+      
+       setenv G4ANALYSIS_USE_RROT 1
+       
+     before the compilation.
+
+     At the completion of a simulation run a file "exrdm.root" by default is produced which contains 
+     these data structures. The user can change the name of this output file with the command
+
+	/histo/fileName new-filename
+
+     The output file by default is in "root" format and can be analysed offline using the ROOT tool, 
+     which allows the histograms and ntuples to examined, manipulated, saved and printed.
+
+     User can also change the output file format to "hbook"  or "xml" using the commands
+	
+	/histo/fileType hbook  
+	/histo/fileType xml
+     
+     The output file, in "xml" or "hbook" or "root" format, conatins the 3 ntuples (100,200,300) whose details have been 
+     described in section 4. In addition, there are 7 histograms in the file:
+
+	histogram 10: The Pulse Height Spectrum (PHS) of the target.
+	histogram 11: The PHS of the detector.
+	histogram 12: The combined PHS of the target and detector.
+	histogram 13: The anti-coincidece PHS of the target.
+	histogram 14: The anti-coincidece PHS of the detector.
+	histogram 15: The coincidece PHS between the target and detector.
+	histogram 16: The emitted particle energy spectrum.
+
+     The binnings of each histogram can be changed with the command 
+        
+        /histo/setHisto
+
+     It is assumed the detector and target pulses both have an integration time of 1 micro-second, and the 
+     coincidence gate is 2 microsecond wide. The target and detctor have a threshold of 10 keV in the 
+     anti-/coincidence modes.        
+
+     Histograms 10-15 were derived from the same data stored in ntuple-300(the energy depositions), while
+     Histogram 16 is obtained with data in ntuple-100 (the emission particles). The user should be able to
+     reproduce these histograms, or new histograms, with the ntuple data in an analyis tool such as JAS3. 
+        
+
+  7. GETTING STARTED:
+
+     i) If you have an AIDA-compliant analysis system installed than you shall switch on the analysis part of
+     example by 
+
+	setenv G4ANALYSIS_USE_AIDA 1
+ 
+     in addition if you want to add the ROOT file format, do
+       
+        setenv G4ANALYSIS_USE_ROOT 1
+
+     otherwise make sure the G4ANALYSIS_USE_AIDA and G4ANALYSIS_USE_ROOT are not definded
+ 
+	unsetenv G4ANALYSIS_USE_AIDA
+	unsetenv G4ANALYSIS_USE_ROOT
+	 
+     ii) Build the exRDM executable:
+
+         cd to exrdm
+         gmake clean
+         gmake
+
+     gmake will create tmp and bin directories in your $G4TMP and $G4BIN directories. 
+     The executable, named exRDM, will be in $G4BIN/$G4SYSTEM/ directory.
+
+     iii) Run the executable: while in the exrdm directory do 
+
+         $G4BIN/$G4SYSTEM/exRDM exrdm.in
+
+     If all goes well, the execution shall be terminated in a few seconds. If G4ANALYSIS_USE_ROOT is 
+     defined, there will be a proton.root file in the current directory.
+
+     One can use ROOT to exam the file.
+
+ 8. FURTHER EXAMPLES:
+
+    There are a number of g4mac files in the ./macros subdirectory, to show the features of the G4RadioactiveDecay
+    process. Most of them will lead to the creation of an aida file in the same name of the micro file, which can 
+    be examed and analysed with an analysis tool such as ROOT.
+ 
+	vrml.mac:  to visulise the geometry and the incident of one 100 MeV Cf240 isotope and its decay. A vrml
+             	   file (g4_xx.vrml) is created at the end. If a default vrml viewer has been set, one shall  
+                   see the geometru and track displayed automatically.
+
+	u238c.mac: shows the decays of the U238 chain in analogue MC mode.
+
+	th234c-b.mac: shows the decays of Th234 in variance reduction MC mode. All its secondaies in along the 
+          	      decay chains are generated. The default source profile and decay biasing schemes are used
+	              to determine the decay times and weights of the secondaries.
+
+	proton-1gev.mac: simulation of 1 GeV protons incident on a lead target. The decays of the radio-siotopes 
+        		 created in the proton-lead interactions are simulated with RadioactiveDecay in analogue 
+                         MC mode.   
+
+	proton-b.mac: same as proton-1geV.mac, but the decays of the radio-siotopes created in the  proton-lead 
+ 		      interactions are simulated with RadioactiveDecay in variance reduction MC mode. The isotopes 
+		      and those along the decay chains are forced to decay in the time windows specified by the 
+                      user in file measures.data, and the weights of the decay products are determined by the 
+                      beam profile as defined in the beam.data file and their decay times. 
+
+   	one-iso.mac: simple macro file to show how to simulate the decay of a specific radio-isotope. User can 
+		     edit it to simulate which ever isotope he/she likes to try.
+
+	neutron.mac: macrofile to show the incident of low energy neutrons on an user specified NaI target and 
+		     the decays of the induced radio-isotopes. This shows how to define a new material in exrdm.
+
+	ne24.mac: this shows the decays of Ne-24 to Na-24 in variance reduction MC mode. Further decays of Na-24 
+                  are not simulated by applying the nucleuslimits in RadioactiveDecay. Two runs are carried out.
+		  One with the bracjing ratio biasing applied and one without. 
+
+	multiple-source.mac: to show the decays of different isotopes uniformly distributed through the target 
+ 			     volume in a single run. 
+
+	isotopes.mac: to show the decays of a number of different isotopes in a single macro file.
+
+
+	f24.mac: to show the different treatments one can apply to the decays of F24. i) the complete decay chain 
+		 from F24 to Mg24, in analogue mode; ii) the complete chain, but in variance reduction mode; 
+                 iii) restrict to the decay of F24 only in analogue mode; iv) restrict to the decay of F24 only but
+                 in variance reduction mode.
+
+	as74.mac: The decays of As74 which has a rather complicated decay scheme. i) in analogue MC mode; ii) in 
+		  variance reduction MC mode.
+
+	test.mac: macro used to check if the right physics processes are assigned to different particles.
+  
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE01/README/index.html	(revision 901)
@@ -0,0 +1,66 @@
+
+ RE01 - An extended example for run and event
+ --------------------------------------------
+
+ Contact : M.Asai (SLAC) 
+
+1. Introduction
+
+ This example demonstrates how to connect the information between
+primary particles and hits. It also utilize some user-information
+classes.
+
+1.1 Geometry and region information
+
+ It has a quite simple sylindrical tracker of 5 layers and a
+sylindrical calorimeter of lead and scintillator. Dedicated regions
+are assigned to both tracker and calorimeter mother volumes not
+for setting additional production thresholds but for adding some
+more information to these regions. RE01RegionInformation is the
+class for this purpose.
+ A "readout geometry" is attached to the calorimeter to define
+its cells.
+
+1.2 Physics
+
+ This example basically uses LHEP_BERT physics list. In addition 
+to this, RE01DecayPhysics is used for adding G4UnknownParticle and
+G4UnknownDecay process.
+
+1.3 Event generator
+
+ An event sample is attached. This event has a Higgs particle
+which decays into e+e- and mu+mu- pairs through two Z bosons.
+It uses G4HEPEvtInterface. 
+ In this example, by utilizing G4UnknownParticle, all particles
+appear in the primary event are converted to G4Track and then
+to RE01Trajectory. Relation between primary particles and track
+IDs are shown at the end of event execution.
+
+2. "Source track" information
+
+ "Source track" is meant for a track that is either a primary
+particle or a track born is the tracking region. This information
+is stored in RE01TrackInformation class object and copied from
+a parent track to its daughters.
+
+2.1 Track suspension
+
+ All source tracks are suspended for their tracking when they are
+getting into the calorimeter region. Thus, all tracks in the tracker
+region are tracked before generating any shower in the calorimeter.
+
+2.2 Tracker hits associated with primary particle information
+
+ Information kept in RE01TrackInformation is used to connect each
+tracker hit to the primary particle.
+
+2.3 Energy deposition of each source track
+
+ Utilizing RE01StackingAction, shower generation is done for each
+souorce track separately, and thus energy deposition in calorimeter
+cells are shown for each individual source track. With the trajectory
+information, energy deposition for each primary particle can also
+be gotten.
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE02/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE02/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE02/README/index.html	(revision 901)
@@ -0,0 +1,243 @@
+$Id: README,v 1.2 2006/11/18 01:37:22 asaim Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleRE02
+                            -----------
+
+
+      This example simulates a simplified water phantom measurement
+     in medical application with demonstration of primitive scorers.
+     This example also demonstrates nested parameterised volume which
+     realizes segmented boxes using a combination of replicated volumes
+     and a parameterised volume.
+
+    (Tips)
+      This example creates 100 x 100 x 200 boxes using Nested Parameterised
+     Volume for realistic situation of medical application. 
+      This is very memory consumption if normal Parameterised Volume is used, 
+     and needs roughly more than 1 GB memory for execution. However, 
+     NestedParameterised volume effectively works to reduce the memory consumption,
+     and it only needs less than 100 MB memory for execution.
+
+ 1- GEOMETRY DEFINITION
+ 
+       The setup contains a water phantom as target by default. The world volume
+     is 200 cm x 200 cm x 200 cm box filled with air. The water phantom is box shape 
+     and the size of 200 mm x 200 mm x 400 mm. The volume of water phantom is divided
+     into 100 x 100 x 1 towers using replicated volume,(RE02DetectorConstruction), 
+     and then those towers are segmented into 200 boxes with respect to z axis 
+     using nested parameterized volume,(RE02NestedPhantomParameterisation).
+      e.g. The volume of water phantom is divided into 100 x 100 x 200 boxes,
+      and a voxel size is 2.0 mm x 2.0 mm x 2.0 mm.
+
+       For demonstration purpose of the nested parameterised volume,
+     (RE02NestedPhantomParameterisation), materials are assigned as water (lead) 
+     in even (odd) order segments, alternately. 
+     The simulation for homogeneous water phantom is also possible using an option.
+
+     ---- Tips(1)
+     *If you want to reduce number of segments of water phantom,
+     please change following numbers which represent number of segments
+     in x, y, z axis, respectively.The following code can be found in
+     exampleRE02.cc.
+
+     RE02DetectorConstruction* detector = new RE02DetectorConstruction;
+     detector->SetNumberOfSegmentsInPhantom(100,100,200);
+                                             Nx, Ny, Nz
+     ---- Tips(2)
+     *If you want to set all materials to water,
+      please use the following method. The following code can be found in
+     exampleRE02.cc.
+
+     detector->SetLeadSegment(FALSE); // Homogeneous water phantom
+     ----
+
+     The geometry and sensitive detector are constructed in 
+     RE02DetectorConstruction class.
+     (See "4- SCORER " for detail descriptions about sensitive detector.)
+         
+ 2- PHYSICS LIST
+ 
+     The particle's type and the physic processes which is available
+     in this example are set in PhysicsList class.
+
+     The PhysicsList is originally copied from extended example,
+     (example/extended/analysis/A01).
+     Full set of particles (baryons, bosons and mesons) are created, and
+     Standard EM Physics and Low/High Energy parameterized models 
+     for hadrons are applied. The detail description will be found in 
+     example/extended/analysis/A01/README.
+      Specially, the PhysicsList was modified in this example, 
+     to use Binary cascade model for hadron physics at low energy (<4GeV)
+     and inelastic process for generic ions with BinaryLightIonReaction.
+     The data files for physics processes have to be assigned using 
+     environment variables.
+
+     RE02PhysicsList is optimized for robustness and is not optimized for
+     any particular cases. If you will do precise calculation for your
+     use-case, please consider utilizing hadronic_lists, and defines the 
+     production cut properly.
+      The default CutValue defines the production threshold of secondary 
+     particles (mainly Ionisation and Bremsstrahlung processes are 
+     concerned by this CutValue).
+ 	
+ 3- RUNS and EVENTS
+ 
+     - Primary particles.
+     The primary kinematics consists of a single particle which hits the
+     target perpendicular to the input face. The default type of the particle
+     and its energy are set in the RE02PrimaryGeneratorAction class.
+     However it can be changed via the G4 build-in commands of ParticleGun 
+     class. 
+      The RE02PrimaryGeneratorAction class introduces a beam spot size 
+     that makes initial particle position of x,y randomized using a Gaussian
+     random function, where the center position is fixed to (0,0). 
+     The standard deviation of the beam spot size is given in 
+     RE02PrimaryGeneratorAction as 10 mm.
+
+     An EVENT represents a simulation of one primary particle.
+     A RUN is a set of events.
+     
+     The user has control:
+        -at Begin and End of each run   (class RunAction)
+        -at Begin and End of each event (class EventAction)
+        -at Begin and End of each track (class TrackingAction, not used here)
+	-at End of each step (class SteppingAction, not used here)
+	
+ 4- SCORER
+
+     - Concrete Scorer
+      This example introduces concrete primitive scorer (PS) and filter 
+     classes for easy scoring. Those primitive scorers are registered to
+     MultiFunctionalDetector which is a concrete class of sensitive 
+     detector(SD). Then the MultiFunctionalDetector is attached to 
+     the logical volume of sensitive geometry.
+      A MultiFunctionalDetector, PrimitiveScorers, and SDFilters are
+     created and assigned to the logical volume of water phantom in 
+     DetectorConstruction.
+
+      A primitive scorer can score one kind of physical quantity, and
+     creates one hits collection per event. The quantity is collected in
+     G4THitsMap with the copy number of geometry. Here collection name is 
+     given as <MultiFunctionalDetector Name>/<PrimitiveScorer Name>.
+     A primitive scorer can have one filter (SDFilter) for selecting hits 
+     to be used for the quantity.
+
+      Since the geometry is constructed using nested parameterisation,
+     the copy number of geometry is defined as follows,
+
+	copy number of geometry =  iy*Nx*Ny+ix*Nz+iz,
+
+     where Nx,Ny,Nz is total number of segmentation in x, y, and z axis,respectively,
+     and ix,iy,iz is a copy number of the mother volume, the grand mother volume, 
+     and this volume, respectively.
+      This conversion is described in GetIndex() method in PrimitiveScorer.
+
+     The physical quantities scored in this example are:
+     ----------------------------------------------------
+     - Total energy deposit
+	unit: Energy,  			collName: totalEDep
+     - Energy deposit by protons
+        unit: Energy,  			collName: protonEDep
+     - Number of steps of protons
+        unit: - ,	     		collName: protonNStep	
+     - Cell Flux of charged tracks which pass through the geometry
+        unit: Length/Volume,		collName:  chargedPassCellFlux
+     - Cell Flux of all charged tracks	
+        unit: Length/Volume,  		collName:  chargedCellFlux	
+     - Flux of charged particle at -Z surface of the BOX geometry,
+       where incident angle at the surface is taken into account.
+        unit: Surface^(-1),      	 collName:  chargedSurfFlux 
+     - Surface current of gamma at -Z surface of the BOX geometry. 
+       The energy of gammas are from    1. keV  to   10. keV.
+       The incident angle is not taken into account.
+        unit: Surface^(-1),      	 collName:  gammaSurfCurr000
+     - Same as previous one, but different energy bin.
+       The energy of gammas are from   10. keV  to  100. keV.
+        unit: Surface^(-1),       	collName:  gammaSurfCurr001
+     - Same as previous one, but different energy bin.
+       The energy of gammas are from  100. keV  to    1. MeV.
+        unit: Surface^(-1),       	collName:  gammaSurfCurr002
+     - Same as previous one, except for energy bin.
+       The energy of gammas are from    1. MeV  to   10. MeV.
+        unit: Surface^(-1),      	 collName:  gammaSurfCurr003
+     -------------------------------------------------
+
+     - Accumulating quantities during a RUN	
+     A PrimitiveScorer creates one hits collection per event.
+     The physical quantity in the hits collection need to be accumulated
+     into another G4THitsMap object during a RUN, in order to obtain
+     integrated flux or dose in a RUN. The accumulation of quantities 
+     are done at RE02Run class.
+ 
+     RE02Run class can automatically generate G4THitsMap objects for a RUN,
+     and accumulate physical quantities of an event into it. The accumulation
+     is done at RE02Run::RecordEvent(G4Event* aEvent).
+  
+     - Generate a Run object, and print results
+      The RE02Run object is generated at RE02RunAction::GenerateRun().      
+     The accumulated physical quantities are printed at the end of RUN
+     ( RE02RunAction::EndOfEvent() ). This example prints only selected
+     physical quantities.
+
+ 				
+ 5- VISUALIZATION
+ 
+     The Visualization Manager is set in the main().
+     The initialization of the drawing is done via a set of /vis/ commands
+     in the macro vis.mac. This macro is automatically read from 
+     the main when running in interactive mode.
+ 	
+     The tracks are automatically drawn at the end of event and erased at 
+     the beginning of the next run.
+	
+     The visualization (with OpenGL driver) assumes two things:
+	1- the visualization & interfaces categories have been compiled
+	       with the environment variable G4VIS_BUILD_OPENGLX_DRIVER.
+	2- exampleRE02.cc has been compiled with G4VIS_USE_OPENGLX.   
+
+     (The same with DAWNFILE instead of OPENGLX)
+     
+     
+ 6- USER INTERFACES
+  
+      The default command interface, called G4UIterminal, is done via
+      standard G4cin/G4cout.
+      On Linux and Sun-cc on can use a smarter command interface G4UItcsh.
+      It is enough to set the environment variable G4UI_USE_TCSH before
+      compiling exampleRE02.cc
+ 
+       	
+ 7- HOW TO START ?
+ 
+      - compile and link to generate an executable
+ 	      % cd RE02
+ 	      % gmake
+ 		
+      - execute RE02 in 'batch' mode from macro files (without visualization)
+ 	      % exampleRE02   run1.mac
+ 		
+      - execute RE02 in 'interactive mode' with visualization
+ 	      % exampleRE02
+ 	      ....
+ 	      Idle> type your commands. For instance:
+	      Idle> /run/beamOn 10
+	      ....
+ 	      Idle> /control/execute run2.mac
+              ....
+ 	      Idle> exit
+     
+      - macros are for different primary particles.
+            vis.mac  :  200 MeV proton with visualization
+            run1.mac :  150 MeV proton
+            run2.mac :  195 MeV/u Carbon ion
+            run3.mac :   30 MeV electron
+            run4.mac :   60 keV gamma
+
+ 	
+      
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE03/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE03/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/extended/runAndEvent/RE03/README/index.html	(revision 901)
@@ -0,0 +1,60 @@
+
+ RE03 - An extended example for run and event
+ --------------------------------------------
+
+ Contact : M.Asai (SLAC), A.Kimura (AIT), T.Aso (TNCMT)
+
+****************************************************************
+* IMPORTANT NOTICE for version 9.1                             *
+*  This UI-command base scoring is still in alpha release and  *
+* functionality offered is preliminary. We do not guarantee    *
+* the correctness of the code. Also, we may change any of the  *
+* commands / methods in the near future release.               *
+****************************************************************
+
+1. Introduction
+
+ This example demonstrates how to use UI-command base scoring.
+It create parallel world(s) for defining scoring mesh(es).
+
+ Since this UI-command base scoring is preliminary, 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()
+activate 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 mostly identical to exampleN03. It does not
+have hadronics.
+
+2. Macro files
+
+ "run1.mac" through "run3.mac" macro files should be used 
+independently. Each macro file create its own scoring parallel
+world(s). "vis.mac" and "drawSlics.mac" are used internally.
+Each macro should work for both interactively and batch, but
+interactive mode is advised for better visualization.
+
+3. 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.
+
+
+
+
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/README/index.html	(revision 901)
@@ -0,0 +1,57 @@
+$Id: README,v 1.3 2002/07/02 18:35:01 asaim Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN01
+                            ----------
+
+ ExampleN01 is the simplest example in this novice level examples. It has 
+a tracker tube and a sandwitch calorimeter made of boxes. It shoots a 
+geantino (pseudo-particle which has no "real" physics interaction) per 
+one event. This example demonstrates how the basic GEANT4 framework works.
+
+1. Detector description
+
+ The detector is defined in ExN01DetectorConstruction.cc. Argon gas,
+aluminum and lead are defined first, where all of them are single element
+materials. Though materials are assigned for each volume, they will not
+affect the trajectory of a geantino.
+
+ The experimental hall, which is the world volume, is made of argon gas
+and it is a box. The tracker tube made of argon gas is placed at 
+(-1m,0m,0m) respect to the origin of the world volume. The calorimeter
+block made of lead and it has 19 layers of aluminum plates inside.
+
+2. Physics processes
+
+ ExN01PhysicsList.cc defines only a geantino and a transportation
+process. Though cutoff will not be applied onto geantino, a dummy
+value must be set.
+
+3. Event generation
+
+ G4ParticleGun is instanciated in the constructor of 
+ExN01PrimaryGeneratorAction class. At the every event, the public
+method GeneratePrimaries(G4Event*) is invoked. In this method,
+G4ParticleGun is accessed to generate a primary particle (geantino).
+ Please note that the direction of the primary particle is set
+just before shooting, i.e. GeneratePrimaryVertex() method invokation.
+G4ParticleGun class itself does not have any capability of randomizing
+the energy nor the momentum of the primary particle. Therefore the user
+should implement randomizing code in the GeneratePrimaries() method.
+
+4. main()
+
+ exampleN01.cc has the main() method. In the main() method, three
+mandatory user classes described above are constructed and set to
+the G4RunManager object. Then, the "Initialize()" method of G4RunManager
+is invoked. 
+ Some UI commands for setting verbosity are applied via hardly coded
+"ApplyCommand()" method of G4UImanager class.
+ The "BeamOn()" method triggers the event loop. The argument of this
+method is the number of event in the run.
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/exampleN01.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/exampleN01.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/exampleN01.cc	(revision 901)
@@ -0,0 +1,88 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN01.cc,v 1.6 2006/06/29 17:47:10 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+// --------------------------------------------------------------
+//      GEANT 4 - exampleN01
+// --------------------------------------------------------------
+
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+
+#include "ExN01DetectorConstruction.hh"
+#include "ExN01PhysicsList.hh"
+#include "ExN01PrimaryGeneratorAction.hh"
+
+int main()
+{
+  // Construct the default run manager
+  //
+  G4RunManager* runManager = new G4RunManager;
+
+  // set mandatory initialization classes
+  //
+  G4VUserDetectorConstruction* detector = new ExN01DetectorConstruction;
+  runManager->SetUserInitialization(detector);
+  //
+  G4VUserPhysicsList* physics = new ExN01PhysicsList;
+  runManager->SetUserInitialization(physics);
+
+  // set mandatory user action class
+  //
+  G4VUserPrimaryGeneratorAction* gen_action = new ExN01PrimaryGeneratorAction;
+  runManager->SetUserAction(gen_action);
+
+  // Initialize G4 kernel
+  //
+  runManager->Initialize();
+
+  // Get the pointer to the UI manager and set verbosities
+  //
+  G4UImanager* UI = G4UImanager::GetUIpointer();
+  UI->ApplyCommand("/run/verbose 1");
+  UI->ApplyCommand("/event/verbose 1");
+  UI->ApplyCommand("/tracking/verbose 1");
+
+  // Start a run
+  //
+  G4int numberOfEvent = 3;
+  runManager->BeamOn(numberOfEvent);
+
+  // Job termination
+  //
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+  //
+  delete runManager;
+
+  return 0;
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,66 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN01DetectorConstruction.hh,v 1.6 2006/06/29 17:47:13 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN01DetectorConstruction_H
+#define ExN01DetectorConstruction_H 1
+
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+
+#include "G4VUserDetectorConstruction.hh"
+
+class ExN01DetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+
+    ExN01DetectorConstruction();
+    ~ExN01DetectorConstruction();
+
+    G4VPhysicalVolume* Construct();
+
+  private:
+    
+    // Logical volumes
+    //
+    G4LogicalVolume* experimentalHall_log;
+    G4LogicalVolume* tracker_log;
+    G4LogicalVolume* calorimeterBlock_log;
+    G4LogicalVolume* calorimeterLayer_log;
+
+    // Physical volumes
+    //
+    G4VPhysicalVolume* experimentalHall_phys;
+    G4VPhysicalVolume* calorimeterLayer_phys;
+    G4VPhysicalVolume* calorimeterBlock_phys;
+    G4VPhysicalVolume* tracker_phys;
+};
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PhysicsList.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PhysicsList.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PhysicsList.hh	(revision 901)
@@ -0,0 +1,69 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN01PhysicsList.hh,v 1.6 2006/06/29 17:47:15 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+//
+// ExN01PhysicsList
+//  Construct/define particles and physics processes
+//
+//  Particle defined in ExampleN01
+//    geantino
+//
+//  Process defined in ExampleN01
+//    transportation
+//
+
+#ifndef ExN01PhysicsList_h
+#define ExN01PhysicsList_h 1
+
+#include "G4VUserPhysicsList.hh"
+#include "globals.hh"
+
+class ExN01PhysicsList: public G4VUserPhysicsList
+{
+  public:
+    ExN01PhysicsList();
+    ~ExN01PhysicsList();
+
+  protected:
+    // Construct particle and physics process
+    void ConstructParticle();
+    void ConstructProcess();
+    void SetCuts();
+
+};
+
+#endif
+
+
+
+
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,54 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN01PrimaryGeneratorAction.hh,v 1.5 2006/06/29 17:47:17 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN01PrimaryGeneratorAction_h
+#define ExN01PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+
+class G4ParticleGun;
+class G4Event;
+
+class ExN01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN01PrimaryGeneratorAction();
+    ~ExN01PrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event* anEvent);
+
+  private:
+    G4ParticleGun* particleGun;
+};
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,142 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN01DetectorConstruction.cc,v 1.9 2006/06/29 17:47:19 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN01DetectorConstruction.hh"
+
+#include "G4Material.hh"
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4LogicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4PVPlacement.hh"
+#include "globals.hh"
+
+ExN01DetectorConstruction::ExN01DetectorConstruction()
+ :  experimentalHall_log(0), tracker_log(0),
+    calorimeterBlock_log(0), calorimeterLayer_log(0),
+    experimentalHall_phys(0), calorimeterLayer_phys(0),
+    calorimeterBlock_phys(0), tracker_phys(0)
+{;}
+
+ExN01DetectorConstruction::~ExN01DetectorConstruction()
+{
+}
+
+G4VPhysicalVolume* ExN01DetectorConstruction::Construct()
+{
+
+  //------------------------------------------------------ materials
+
+  G4double a;  // atomic mass
+  G4double z;  // atomic number
+  G4double density;
+
+  G4Material* Ar = 
+  new G4Material("ArgonGas", z= 18., a= 39.95*g/mole, density= 1.782*mg/cm3);
+
+  G4Material* Al = 
+  new G4Material("Aluminum", z= 13., a= 26.98*g/mole, density= 2.7*g/cm3);
+
+  G4Material* Pb = 
+  new G4Material("Lead", z= 82., a= 207.19*g/mole, density= 11.35*g/cm3);
+
+  //------------------------------------------------------ volumes
+
+  //------------------------------ experimental hall (world volume)
+  //------------------------------ beam line along x axis
+
+  G4double expHall_x = 3.0*m;
+  G4double expHall_y = 1.0*m;
+  G4double expHall_z = 1.0*m;
+  G4Box* experimentalHall_box
+    = new G4Box("expHall_box",expHall_x,expHall_y,expHall_z);
+  experimentalHall_log = new G4LogicalVolume(experimentalHall_box,
+                                             Ar,"expHall_log",0,0,0);
+  experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(),
+                                      experimentalHall_log,"expHall",0,false,0);
+
+  //------------------------------ a tracker tube
+
+  G4double innerRadiusOfTheTube = 0.*cm;
+  G4double outerRadiusOfTheTube = 60.*cm;
+  G4double hightOfTheTube = 50.*cm;
+  G4double startAngleOfTheTube = 0.*deg;
+  G4double spanningAngleOfTheTube = 360.*deg;
+  G4Tubs* tracker_tube = new G4Tubs("tracker_tube",innerRadiusOfTheTube,
+                                    outerRadiusOfTheTube,hightOfTheTube,
+                                    startAngleOfTheTube,spanningAngleOfTheTube);
+  tracker_log = new G4LogicalVolume(tracker_tube,Al,"tracker_log",0,0,0);
+  G4double trackerPos_x = -1.0*m;
+  G4double trackerPos_y = 0.*m;
+  G4double trackerPos_z = 0.*m;
+  tracker_phys = new G4PVPlacement(0,
+             G4ThreeVector(trackerPos_x,trackerPos_y,trackerPos_z),
+             tracker_log,"tracker",experimentalHall_log,false,0);
+
+  //------------------------------ a calorimeter block
+
+  G4double block_x = 1.0*m;
+  G4double block_y = 50.0*cm;
+  G4double block_z = 50.0*cm;
+  G4Box* calorimeterBlock_box = new G4Box("calBlock_box",block_x,
+                                          block_y,block_z);
+  calorimeterBlock_log = new G4LogicalVolume(calorimeterBlock_box,
+                                             Pb,"caloBlock_log",0,0,0);
+  G4double blockPos_x = 1.0*m;
+  G4double blockPos_y = 0.0*m;
+  G4double blockPos_z = 0.0*m;
+  calorimeterBlock_phys = new G4PVPlacement(0,
+             G4ThreeVector(blockPos_x,blockPos_y,blockPos_z),
+             calorimeterBlock_log,"caloBlock",experimentalHall_log,false,0);
+
+  //------------------------------ calorimeter layers
+
+  G4double calo_x = 1.*cm;
+  G4double calo_y = 40.*cm;
+  G4double calo_z = 40.*cm;
+  G4Box* calorimeterLayer_box = new G4Box("caloLayer_box",
+                                          calo_x,calo_y,calo_z);
+  calorimeterLayer_log = new G4LogicalVolume(calorimeterLayer_box,
+                                             Al,"caloLayer_log",0,0,0);
+  for(G4int i=0;i<19;i++) // loop for 19 layers
+  {
+    G4double caloPos_x = (i-9)*10.*cm;
+    G4double caloPos_y = 0.0*m;
+    G4double caloPos_z = 0.0*m;
+    calorimeterLayer_phys = new G4PVPlacement(0,
+               G4ThreeVector(caloPos_x,caloPos_y,caloPos_z),
+               calorimeterLayer_log,"caloLayer",calorimeterBlock_log,false,i);
+  }
+
+  //------------------------------------------------------------------
+
+  return experimentalHall_phys;
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PhysicsList.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PhysicsList.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PhysicsList.cc	(revision 901)
@@ -0,0 +1,70 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN01PhysicsList.cc,v 1.6 2006/06/29 17:47:21 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+#include "ExN01PhysicsList.hh"
+#include "G4ParticleTypes.hh"
+
+
+ExN01PhysicsList::ExN01PhysicsList()
+{;}
+
+ExN01PhysicsList::~ExN01PhysicsList()
+{;}
+
+void ExN01PhysicsList::ConstructParticle()
+{
+  // In this method, static member functions should be called
+  // for all particles which you want to use.
+  // This ensures that objects of these particle types will be
+  // created in the program. 
+
+  G4Geantino::GeantinoDefinition();
+}
+
+void ExN01PhysicsList::ConstructProcess()
+{
+  // Define transportation process
+
+  AddTransportation();
+}
+
+void ExN01PhysicsList::SetCuts()
+{
+  // uppress error messages even in case e/gamma/proton do not exist            
+  G4int temp = GetVerboseLevel();                                                SetVerboseLevel(0);                                                           
+  //  " G4VUserPhysicsList::SetCutsWithDefault" method sets 
+  //   the default cut value for all particle types 
+  SetCutsWithDefault();   
+
+  // Retrieve verbose level
+  SetVerboseLevel(temp);  
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,75 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN01PrimaryGeneratorAction.cc,v 1.6 2006/06/29 17:47:23 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN01PrimaryGeneratorAction.hh"
+
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+#include "globals.hh"
+
+ExN01PrimaryGeneratorAction::ExN01PrimaryGeneratorAction()
+{
+  G4int n_particle = 1;
+  particleGun = new G4ParticleGun(n_particle);
+
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4String particleName;
+  particleGun->SetParticleDefinition(particleTable->FindParticle(particleName="geantino"));
+  particleGun->SetParticleEnergy(1.0*GeV);
+  particleGun->SetParticlePosition(G4ThreeVector(-2.0*m, 0.0, 0.0));
+}
+
+ExN01PrimaryGeneratorAction::~ExN01PrimaryGeneratorAction()
+{
+  delete particleGun;
+}
+
+void ExN01PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  G4int i = anEvent->GetEventID() % 3;
+  G4ThreeVector v(1.0,0.0,0.0);
+  switch(i)
+  {
+    case 0:
+      break;
+    case 1:
+      v.setY(0.1);
+      break;
+    case 2:
+      v.setZ(0.1);
+      break;
+  }
+  particleGun->SetParticleMomentumDirection(v);
+  particleGun->GeneratePrimaryVertex(anEvent);
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/README/index.html	(revision 901)
@@ -0,0 +1,150 @@
+$Id: README,v 1.6 2006/03/31 14:02:13 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN02
+                            ----------
+
+
+	This example simulates a simplified fixe target experiment.
+
+ 1- GEOMETRY DEFINITION
+ 
+     The setup consists of a target followed by six chambers of increasing
+     transverse size. These chambers are located in a region called Tracker
+     region. Their shape are boxes, constructed as parametrised volumes
+     (ChamberParametrisation class).
+     
+     The default geometry is constructed in DetectorConstruction class.
+     One can change the material of the target and of the chambers
+     interactively via the commands defined in the DetectorMessenger class.
+     
+     In addition a transverse uniform magnetic field can be applied (see
+     N02MagneticField and DetectorMessenger classes). 
+ 
+         
+ 2- PHYSICS LIST
+ 
+     The particle's type and the physic processes which will be available
+     in this example are set in PhysicsList class.
+     
+     In this example, all the so called 'electromagnetic processes' are
+     introduced for gamma, charged leptons, and charged hadrons (see the
+     method PhysicsList::ConstructEM()). 
+     
+     An important data member of this class is the defaultCutValue which
+     defines the production threshold of secondary particles
+     (only Ionisation and Bremsstrahlung processes are concerned by this
+     CutValue).
+     Notice that the CutValue must be given in unit of length, corresponding
+     to the stopping range of the particle. It is automatically converted
+     in energy for each material, and a table is printed in the method
+     PhysicsList::SetCuts() 
+ 	
+     In addition the build-in interactive command:
+	         /process/(in)activate processName
+     allows to activate/inactivate the processes one by one.
+
+
+ 3- RUNS and EVENTS
+ 
+     The primary kinematic consists of a single particle which hits the
+     target perpendicular to the input face. The type of the particle
+     and its energy are set in the PrimaryGeneratorAction class, and can
+     be changed via the G4 build-in commands of ParticleGun class.
+
+     A RUN is a set of events.
+     
+     The user has control:
+        -at Begin and End of each run (class RunAction)
+        -at Begin and End of each event (class EventAction)
+        -at Begin and End of each track (class TrackingAction, not used here)
+	-at End of each step (class SteppingAction)
+	
+    The class SteppingVerbose prints some informations step per step,
+    under the control of the command: /tracking/verbose 1
+    It inherits from G4SteppingVerbose, and has been setup here in order
+    to illustrate how to extract informations from the G4 kernel during
+    the tracking of a particle.
+
+
+ 4- USER' LIMITS
+ 
+    We illustrate how to introduce tracking constraints like maximum step
+    length, minimum kinetic energy ..etc.., via G4UserLimits class.
+    See DetectorConstruction and PhysicsList.   	
+	
+ 5- DETECTOR RESPONSE
+ 
+     A HIT is a record, track per track (even step per step), of all the 
+     informations needed to simulate and analyse the detector response.
+     
+     In this example the Tracker chambers are considered as the detector.
+     Therefore the chambers are declared 'sensitive detectors' (SD) in
+     the DetectorConstruction class. 
+ 	
+     Then, a Hit is defined as a set of 4 informations per step, inside 
+     the chambers, namely:
+        - the track identifier (an integer),
+	- the chamber number,
+ 	- the total energy deposit in this step,
+ 	- the position of the deposit.
+	
+     A given hit is an instance of the class TrackerHit which is created
+     during the tracking of a particle, step by step, in the method
+     TrackerSD::ProcessHits(). This hit is inserted in a HitsCollection. 
+     
+     The HitsCollection is printed at the end of event (via the method 
+     TrackerSD::EndOfEvent()), under the control of the command: /hits/verbose 1
+
+ 				
+ 6- VISUALIZATION
+ 
+     The Visualization Manager is set in the main().
+     The initialisation of the drawing is done via a set of /vis/ commands
+     in the macro vis.mac. This macro is automatically read from 
+     the main when running in interactive mode.
+ 	
+     The tracks are automatically drawn at the end of event and erased at 
+     the beginning of the next run.
+	
+     The visualization (with OpenGL driver) assumes two things:
+	1- the visualisation & interfaces categories have been compiled
+	       with the environment variable G4VIS_BUILD_OPENGLX_DRIVER.
+	2- exampleN02.cc has been compiled with G4VIS_USE_OPENGLX.   
+
+     (The same with DAWNFILE instead of OPENGLX)
+     
+     
+ 7- USER INTERFACES
+  
+      The default command interface, called G4UIterminal, is done via
+      standart cin/G4cout.
+      On Linux and Sun-cc on can use a smarter command interface G4UItcsh.
+      It is enough to set the environment variable G4UI_USE_TCSH before
+      compiling exampleN02.cc
+ 
+       	
+ 8- HOW TO START ?
+ 
+      - compile and link to generate an executable
+ 	      % cd N02
+ 	      % gmake
+ 		
+      - execute N02 in 'batch' mode from macro files (without visualization)
+ 	      % exampleN02   run1.mac
+ 		
+      - execute N02 in 'interactive mode' with visualization
+ 	      % exampleN02
+ 	      ....
+ 	      Idle> type your commands. For instance:
+	      Idle> /run/beamOn 10
+	      ....
+ 	      Idle> /control/execute run2.mac
+              ....
+ 	      Idle> exit
+ 	
+      
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/exampleN02.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/exampleN02.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/exampleN02.cc	(revision 901)
@@ -0,0 +1,134 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN02.cc,v 1.14 2007/07/02 13:09:30 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN02DetectorConstruction.hh"
+#include "ExN02PhysicsList.hh"
+#include "ExN02PrimaryGeneratorAction.hh"
+#include "ExN02RunAction.hh"
+#include "ExN02EventAction.hh"
+#include "ExN02SteppingAction.hh"
+#include "ExN02SteppingVerbose.hh"
+
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+#include "G4UIterminal.hh"
+#include "G4UItcsh.hh"
+
+#ifdef G4VIS_USE
+#include "G4VisExecutive.hh"
+#endif
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+int main(int argc,char** argv)
+{
+  // User Verbose output class
+  //
+  G4VSteppingVerbose* verbosity = new ExN02SteppingVerbose;
+  G4VSteppingVerbose::SetInstance(verbosity);
+  
+  // Run manager
+  //
+  G4RunManager * runManager = new G4RunManager;
+
+  // User Initialization classes (mandatory)
+  //
+  ExN02DetectorConstruction* detector = new ExN02DetectorConstruction;
+  runManager->SetUserInitialization(detector);
+  //
+  G4VUserPhysicsList* physics = new ExN02PhysicsList;
+  runManager->SetUserInitialization(physics);
+   
+  // User Action classes
+  //
+  G4VUserPrimaryGeneratorAction* gen_action = new ExN02PrimaryGeneratorAction(detector);
+  runManager->SetUserAction(gen_action);
+  //
+  G4UserRunAction* run_action = new ExN02RunAction;
+  runManager->SetUserAction(run_action);
+  //
+  G4UserEventAction* event_action = new ExN02EventAction;
+  runManager->SetUserAction(event_action);
+  //
+  G4UserSteppingAction* stepping_action = new ExN02SteppingAction;
+  runManager->SetUserAction(stepping_action);
+
+  // Initialize G4 kernel
+  //
+  runManager->Initialize();
+      
+  // Get the pointer to the User Interface manager
+  //
+  G4UImanager * UI = G4UImanager::GetUIpointer();  
+
+  if (argc!=1)   // batch mode  
+    {
+     G4String command = "/control/execute ";
+     G4String fileName = argv[1];
+     UI->ApplyCommand(command+fileName);
+    }
+    
+  else           // interactive mode : define visualization and UI terminal
+    { 
+#ifdef G4VIS_USE
+      G4VisManager* visManager = new G4VisExecutive;
+      visManager->Initialize();
+#endif    
+     
+      G4UIsession * session = 0;
+#ifdef G4UI_USE_TCSH
+      session = new G4UIterminal(new G4UItcsh);      
+#else
+      session = new G4UIterminal();
+#endif
+      UI->ApplyCommand("/control/execute vis.mac");     
+      session->SessionStart();
+      delete session;
+     
+#ifdef G4VIS_USE
+      delete visManager;
+#endif     
+    }
+
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+
+  delete runManager;
+  delete verbosity;
+
+  return 0;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,109 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02DetectorConstruction.hh,v 1.9 2007/10/17 08:50:35 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN02DetectorConstruction_h
+#define ExN02DetectorConstruction_h 1
+
+#include "globals.hh"
+#include "G4VUserDetectorConstruction.hh"
+#include "ExN02MagneticField.hh"
+
+class G4Box;
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+class G4Material;
+class G4VPVParameterisation;
+class G4UserLimits;
+class ExN02DetectorMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN02DetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+  
+     ExN02DetectorConstruction();
+    ~ExN02DetectorConstruction();
+
+  public:
+  
+     G4VPhysicalVolume* Construct();
+     
+     const 
+     G4VPhysicalVolume* GetTracker() {return physiTracker;};
+     G4double GetTrackerFullLength() {return fTrackerLength;};
+     G4double GetTargetFullLength()  {return fTargetLength;};
+     G4double GetWorldFullLength()   {return fWorldLength;}; 
+     
+     void setTargetMaterial (G4String);
+     void setChamberMaterial(G4String);
+     void SetMagField(G4double);
+     
+  private:
+
+     G4Box*             solidWorld;    // pointer to the solid envelope 
+     G4LogicalVolume*   logicWorld;    // pointer to the logical envelope
+     G4VPhysicalVolume* physiWorld;    // pointer to the physical envelope
+     
+     G4Box*             solidTarget;   // pointer to the solid Target
+     G4LogicalVolume*   logicTarget;   // pointer to the logical Target
+     G4VPhysicalVolume* physiTarget;   // pointer to the physical Target
+               
+     G4Box*             solidTracker;  // pointer to the solid Tracker
+     G4LogicalVolume*   logicTracker;  // pointer to the logical Tracker
+     G4VPhysicalVolume* physiTracker;  // pointer to the physical Tracker
+     
+     G4Box*             solidChamber;  // pointer to the solid Chamber
+     G4LogicalVolume*   logicChamber;  // pointer to the logical Chamber
+     G4VPhysicalVolume* physiChamber;  // pointer to the physical Chamber
+     
+     G4Material*         TargetMater;  // pointer to the target  material
+     G4Material*         ChamberMater; // pointer to the chamber material
+
+     G4VPVParameterisation* chamberParam; // pointer to chamber parameterisation
+     G4UserLimits* stepLimit;             // pointer to user step limits
+
+     ExN02MagneticField* fpMagField;   // pointer to the magnetic field 
+     
+     ExN02DetectorMessenger* detectorMessenger;  // pointer to the Messenger
+       
+     G4double fWorldLength;            // Full length of the world volume
+     G4double fTargetLength;           // Full length of Target
+     G4double fTrackerLength;          // Full length of Tracker
+     G4int    NbOfChambers;            // Nb of chambers in the tracker region
+     G4double ChamberWidth;            // width of the chambers
+     G4double ChamberSpacing;	       // distance between chambers
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02EventAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02EventAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02EventAction.hh	(revision 901)
@@ -0,0 +1,57 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02EventAction.hh,v 1.8 2006/06/29 17:47:35 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+#ifndef ExN02EventAction_h
+#define ExN02EventAction_h 1
+
+#include "G4UserEventAction.hh"
+
+class G4Event;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN02EventAction : public G4UserEventAction
+{
+  public:
+    ExN02EventAction();
+   ~ExN02EventAction();
+
+  public:
+    void BeginOfEventAction(const G4Event*);
+    void EndOfEventAction(const G4Event*);
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+    
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02MagneticField.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02MagneticField.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02MagneticField.hh	(revision 901)
@@ -0,0 +1,69 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02MagneticField.hh,v 1.8 2007/08/22 13:11:51 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//
+//    A class for control of the Magnetic Field of the detector.
+//  The field is assumed to be uniform.
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN02MagneticField_H
+#define ExN02MagneticField_H
+
+#include "G4UniformMagField.hh"
+
+class G4FieldManager;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+
+class ExN02MagneticField: public G4UniformMagField
+{
+  public:
+  
+   ExN02MagneticField(G4ThreeVector);  //  The value of the field
+   ExN02MagneticField();               //  A zero field
+  ~ExN02MagneticField();  
+      
+   //Set the field (fieldValue,0,0)
+   void SetMagFieldValue(G4double fieldValue);
+   void SetMagFieldValue(G4ThreeVector fieldVector);
+      
+   G4ThreeVector GetConstantFieldValue();
+
+  protected:
+
+      // Find the global Field Manager
+      G4FieldManager* GetGlobalFieldManager();   // static 
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PhysicsList.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PhysicsList.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PhysicsList.hh	(revision 901)
@@ -0,0 +1,72 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02PhysicsList.hh,v 1.11 2006/06/29 17:47:40 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN02PhysicsList_h
+#define ExN02PhysicsList_h 1
+
+#include "G4VUserPhysicsList.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN02PhysicsList: public G4VUserPhysicsList
+{
+  public:
+    ExN02PhysicsList();
+   ~ExN02PhysicsList();
+
+  protected:
+    // Construct particle and physics
+    void ConstructParticle();
+    void ConstructProcess();
+ 
+    void SetCuts();
+
+   
+  protected:
+    // these methods Construct particles 
+    void ConstructBosons();
+    void ConstructLeptons();
+    void ConstructMesons();
+    void ConstructBaryons();
+
+  protected:
+  // these methods Construct physics processes and register them
+    void ConstructGeneral();
+    void ConstructEM();
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+ 
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,62 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02PrimaryGeneratorAction.hh,v 1.7 2006/06/29 17:47:43 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+#ifndef ExN02PrimaryGeneratorAction_h
+#define ExN02PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+
+class ExN02DetectorConstruction;
+class G4ParticleGun;
+class G4Event;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+class ExN02PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN02PrimaryGeneratorAction(ExN02DetectorConstruction*);    
+   ~ExN02PrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event*);
+
+  private:
+    G4ParticleGun* particleGun;
+    ExN02DetectorConstruction* myDetector;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02RunAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02RunAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02RunAction.hh	(revision 901)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02RunAction.hh,v 1.8 2006/06/29 17:47:45 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN02RunAction_h
+#define ExN02RunAction_h 1
+
+#include "G4UserRunAction.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class G4Run;
+
+class ExN02RunAction : public G4UserRunAction
+{
+  public:
+    ExN02RunAction();
+   ~ExN02RunAction();
+
+  public:
+    void BeginOfRunAction(const G4Run*);
+    void EndOfRunAction(const G4Run*);
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerHit.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerHit.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerHit.hh	(revision 901)
@@ -0,0 +1,103 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02TrackerHit.hh,v 1.8 2006/06/29 17:47:53 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN02TrackerHit_h
+#define ExN02TrackerHit_h 1
+
+#include "G4VHit.hh"
+#include "G4THitsCollection.hh"
+#include "G4Allocator.hh"
+#include "G4ThreeVector.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN02TrackerHit : public G4VHit
+{
+  public:
+
+      ExN02TrackerHit();
+     ~ExN02TrackerHit();
+      ExN02TrackerHit(const ExN02TrackerHit&);
+      const ExN02TrackerHit& operator=(const ExN02TrackerHit&);
+      G4int operator==(const ExN02TrackerHit&) const;
+
+      inline void* operator new(size_t);
+      inline void  operator delete(void*);
+
+      void Draw();
+      void Print();
+
+  public:
+  
+      void SetTrackID  (G4int track)      { trackID = track; };
+      void SetChamberNb(G4int chamb)      { chamberNb = chamb; };  
+      void SetEdep     (G4double de)      { edep = de; };
+      void SetPos      (G4ThreeVector xyz){ pos = xyz; };
+      
+      G4int GetTrackID()    { return trackID; };
+      G4int GetChamberNb()  { return chamberNb; };
+      G4double GetEdep()    { return edep; };      
+      G4ThreeVector GetPos(){ return pos; };
+      
+  private:
+  
+      G4int         trackID;
+      G4int         chamberNb;
+      G4double      edep;
+      G4ThreeVector pos;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+typedef G4THitsCollection<ExN02TrackerHit> ExN02TrackerHitsCollection;
+
+extern G4Allocator<ExN02TrackerHit> ExN02TrackerHitAllocator;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+inline void* ExN02TrackerHit::operator new(size_t)
+{
+  void *aHit;
+  aHit = (void *) ExN02TrackerHitAllocator.MallocSingle();
+  return aHit;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+inline void ExN02TrackerHit::operator delete(void *aHit)
+{
+  ExN02TrackerHitAllocator.FreeSingle((ExN02TrackerHit*) aHit);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerSD.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerSD.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/include/ExN02TrackerSD.hh	(revision 901)
@@ -0,0 +1,62 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02TrackerSD.hh,v 1.7 2006/06/29 17:47:56 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN02TrackerSD_h
+#define ExN02TrackerSD_h 1
+
+#include "G4VSensitiveDetector.hh"
+#include "ExN02TrackerHit.hh"
+
+class G4Step;
+class G4HCofThisEvent;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN02TrackerSD : public G4VSensitiveDetector
+{
+  public:
+      ExN02TrackerSD(G4String);
+     ~ExN02TrackerSD();
+
+      void Initialize(G4HCofThisEvent*);
+      G4bool ProcessHits(G4Step*, G4TouchableHistory*);
+      void EndOfEvent(G4HCofThisEvent*);
+
+  private:
+      ExN02TrackerHitsCollection* trackerCollection;
+
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,305 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02DetectorConstruction.cc,v 1.20 2007/10/17 08:50:35 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+#include "ExN02DetectorConstruction.hh"
+#include "ExN02DetectorMessenger.hh"
+#include "ExN02ChamberParameterisation.hh"
+#include "ExN02MagneticField.hh"
+#include "ExN02TrackerSD.hh"
+
+#include "G4Material.hh"
+#include "G4Box.hh"
+#include "G4LogicalVolume.hh"
+#include "G4PVPlacement.hh"
+#include "G4PVParameterised.hh"
+#include "G4SDManager.hh"
+#include "G4GeometryTolerance.hh"
+#include "G4GeometryManager.hh"
+
+#include "G4UserLimits.hh"
+
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+
+#include "G4ios.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+ExN02DetectorConstruction::ExN02DetectorConstruction()
+:solidWorld(0),  logicWorld(0),  physiWorld(0),
+ solidTarget(0), logicTarget(0), physiTarget(0), 
+ solidTracker(0),logicTracker(0),physiTracker(0), 
+ solidChamber(0),logicChamber(0),physiChamber(0), 
+ TargetMater(0), ChamberMater(0),chamberParam(0),
+ stepLimit(0), fpMagField(0),
+ fWorldLength(0.),  fTargetLength(0.), fTrackerLength(0.),
+ NbOfChambers(0) ,  ChamberWidth(0.),  ChamberSpacing(0.)
+{
+  fpMagField = new ExN02MagneticField();
+  detectorMessenger = new ExN02DetectorMessenger(this);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+ExN02DetectorConstruction::~ExN02DetectorConstruction()
+{
+  delete fpMagField;
+  delete stepLimit;
+  delete chamberParam;
+  delete detectorMessenger;             
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+G4VPhysicalVolume* ExN02DetectorConstruction::Construct()
+{
+//--------- Material definition ---------
+
+  G4double a, z;
+  G4double density, temperature, pressure;
+  G4int nel;
+
+  //Air
+  G4Element* N = new G4Element("Nitrogen", "N", z=7., a= 14.01*g/mole);
+  G4Element* O = new G4Element("Oxygen"  , "O", z=8., a= 16.00*g/mole);
+   
+  G4Material* Air = new G4Material("Air", density= 1.29*mg/cm3, nel=2);
+  Air->AddElement(N, 70*perCent);
+  Air->AddElement(O, 30*perCent);
+
+  //Lead
+  G4Material* Pb = 
+  new G4Material("Lead", z=82., a= 207.19*g/mole, density= 11.35*g/cm3);
+    
+  //Xenon gas
+  G4Material* Xenon = 
+  new G4Material("XenonGas", z=54., a=131.29*g/mole, density= 5.458*mg/cm3,
+                 kStateGas, temperature= 293.15*kelvin, pressure= 1*atmosphere);
+
+  // Print all the materials defined.
+  //
+  G4cout << G4endl << "The materials defined are : " << G4endl << G4endl;
+  G4cout << *(G4Material::GetMaterialTable()) << G4endl;
+
+//--------- Sizes of the principal geometrical components (solids)  ---------
+  
+  NbOfChambers = 5;
+  ChamberWidth = 20*cm;
+  ChamberSpacing = 80*cm;
+  
+  fTrackerLength = (NbOfChambers+1)*ChamberSpacing; // Full length of Tracker
+  fTargetLength  = 5.0 * cm;                        // Full length of Target
+  
+  TargetMater  = Pb;
+  ChamberMater = Xenon;
+  
+  fWorldLength= 1.2 *(fTargetLength+fTrackerLength);
+   
+  G4double targetSize  = 0.5*fTargetLength;    // Half length of the Target  
+  G4double trackerSize = 0.5*fTrackerLength;   // Half length of the Tracker
+      
+//--------- Definitions of Solids, Logical Volumes, Physical Volumes ---------
+  
+  //------------------------------ 
+  // World
+  //------------------------------ 
+
+  G4double HalfWorldLength = 0.5*fWorldLength;
+ 
+  G4GeometryManager::GetInstance()->SetWorldMaximumExtent(fWorldLength);
+  G4cout << "Computed tolerance = "
+         << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()/mm
+         << " mm" << G4endl;
+
+  solidWorld= new G4Box("world",HalfWorldLength,HalfWorldLength,HalfWorldLength);
+  logicWorld= new G4LogicalVolume( solidWorld, Air, "World", 0, 0, 0);
+  
+  //  Must place the World Physical volume unrotated at (0,0,0).
+  // 
+  physiWorld = new G4PVPlacement(0,               // no rotation
+                                 G4ThreeVector(), // at (0,0,0)
+                                 logicWorld,      // its logical volume
+				 "World",         // its name
+                                 0,               // its mother  volume
+                                 false,           // no boolean operations
+                                 0);              // copy number
+				 
+  //------------------------------ 
+  // Target
+  //------------------------------
+  
+  G4ThreeVector positionTarget = G4ThreeVector(0,0,-(targetSize+trackerSize));
+   
+  solidTarget = new G4Box("target",targetSize,targetSize,targetSize);
+  logicTarget = new G4LogicalVolume(solidTarget,TargetMater,"Target",0,0,0);
+  physiTarget = new G4PVPlacement(0,               // no rotation
+				  positionTarget,  // at (x,y,z)
+				  logicTarget,     // its logical volume				  
+				  "Target",        // its name
+				  logicWorld,      // its mother  volume
+				  false,           // no boolean operations
+				  0);              // copy number 
+
+  G4cout << "Target is " << fTargetLength/cm << " cm of " 
+         << TargetMater->GetName() << G4endl;
+
+  //------------------------------ 
+  // Tracker
+  //------------------------------
+  
+  G4ThreeVector positionTracker = G4ThreeVector(0,0,0);
+  
+  solidTracker = new G4Box("tracker",trackerSize,trackerSize,trackerSize);
+  logicTracker = new G4LogicalVolume(solidTracker , Air, "Tracker",0,0,0);  
+  physiTracker = new G4PVPlacement(0,              // no rotation
+				  positionTracker, // at (x,y,z)
+				  logicTracker,    // its logical volume				  
+				  "Tracker",       // its name
+				  logicWorld,      // its mother  volume
+				  false,           // no boolean operations
+				  0);              // copy number 
+
+  //------------------------------ 
+  // Tracker segments
+  //------------------------------
+  // 
+  // An example of Parameterised volumes
+  // dummy values for G4Box -- modified by parameterised volume
+
+  solidChamber = new G4Box("chamber", 100*cm, 100*cm, 10*cm); 
+  logicChamber = new G4LogicalVolume(solidChamber,ChamberMater,"Chamber",0,0,0);
+  
+  G4double firstPosition = -trackerSize + 0.5*ChamberWidth;
+  G4double firstLength = fTrackerLength/10;
+  G4double lastLength  = fTrackerLength;
+   
+  chamberParam = new ExN02ChamberParameterisation(  
+			   NbOfChambers,          // NoChambers 
+			   firstPosition,         // Z of center of first 
+			   ChamberSpacing,        // Z spacing of centers
+			   ChamberWidth,          // Width Chamber 
+			   firstLength,           // lengthInitial 
+			   lastLength);           // lengthFinal
+			   
+  // dummy value : kZAxis -- modified by parameterised volume
+  //
+  physiChamber = new G4PVParameterised(
+                            "Chamber",       // their name
+                            logicChamber,    // their logical volume
+                            logicTracker,    // Mother logical volume
+			    kZAxis,          // Are placed along this axis 
+                            NbOfChambers,    // Number of chambers
+                            chamberParam);   // The parametrisation
+
+  G4cout << "There are " << NbOfChambers << " chambers in the tracker region. "
+         << "The chambers are " << ChamberWidth/mm << " mm of " 
+         << ChamberMater->GetName() << "\n The distance between chamber is "
+	 << ChamberSpacing/cm << " cm" << G4endl;
+	 
+  //------------------------------------------------ 
+  // Sensitive detectors
+  //------------------------------------------------ 
+
+  G4SDManager* SDman = G4SDManager::GetSDMpointer();
+
+  G4String trackerChamberSDname = "ExN02/TrackerChamberSD";
+  ExN02TrackerSD* aTrackerSD = new ExN02TrackerSD( trackerChamberSDname );
+  SDman->AddNewDetector( aTrackerSD );
+  logicChamber->SetSensitiveDetector( aTrackerSD );
+
+//--------- Visualization attributes -------------------------------
+
+  G4VisAttributes* BoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
+  logicWorld  ->SetVisAttributes(BoxVisAtt);  
+  logicTarget ->SetVisAttributes(BoxVisAtt);
+  logicTracker->SetVisAttributes(BoxVisAtt);
+  
+  G4VisAttributes* ChamberVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0));
+  logicChamber->SetVisAttributes(ChamberVisAtt);
+  
+//--------- example of User Limits -------------------------------
+
+  // below is an example of how to set tracking constraints in a given
+  // logical volume(see also in N02PhysicsList how to setup the processes
+  // G4StepLimiter or G4UserSpecialCuts).
+    
+  // Sets a max Step length in the tracker region, with G4StepLimiter
+  //
+  G4double maxStep = 0.5*ChamberWidth;
+  stepLimit = new G4UserLimits(maxStep);
+  logicTracker->SetUserLimits(stepLimit);
+  
+  // Set additional contraints on the track, with G4UserSpecialCuts
+  //
+  // G4double maxLength = 2*fTrackerLength, maxTime = 0.1*ns, minEkin = 10*MeV;
+  // logicTracker->SetUserLimits(new G4UserLimits(maxStep,maxLength,maxTime,
+  //                                               minEkin));
+  
+  return physiWorld;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+void ExN02DetectorConstruction::setTargetMaterial(G4String materialName)
+{
+  // search the material by its name 
+  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);  
+  if (pttoMaterial)
+     {TargetMater = pttoMaterial;
+      logicTarget->SetMaterial(pttoMaterial); 
+      G4cout << "\n----> The target is " << fTargetLength/cm << " cm of "
+             << materialName << G4endl;
+     }             
+}
+ 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02DetectorConstruction::setChamberMaterial(G4String materialName)
+{
+  // search the material by its name 
+  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);  
+  if (pttoMaterial)
+     {ChamberMater = pttoMaterial;
+      logicChamber->SetMaterial(pttoMaterial); 
+      G4cout << "\n----> The chambers are " << ChamberWidth/cm << " cm of "
+             << materialName << G4endl;
+     }             
+}
+ 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+void ExN02DetectorConstruction::SetMagField(G4double fieldValue)
+{
+  fpMagField->SetFieldValue(fieldValue);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02EventAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02EventAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02EventAction.cc	(revision 901)
@@ -0,0 +1,77 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02EventAction.cc,v 1.11 2006/06/29 17:48:05 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+#include "ExN02EventAction.hh"
+
+#include "G4Event.hh"
+#include "G4EventManager.hh"
+#include "G4TrajectoryContainer.hh"
+#include "G4Trajectory.hh"
+#include "G4ios.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+ExN02EventAction::ExN02EventAction()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+ExN02EventAction::~ExN02EventAction()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+void ExN02EventAction::BeginOfEventAction(const G4Event*)
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+ 
+void ExN02EventAction::EndOfEventAction(const G4Event* evt)
+{
+  G4int event_id = evt->GetEventID();
+  
+  // get number of stored trajectories
+  //
+  G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
+  G4int n_trajectories = 0;
+  if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
+  
+  // periodic printing
+  //
+  if (event_id < 100 || event_id%100 == 0) {
+    G4cout << ">>> Event " << evt->GetEventID() << G4endl;
+    G4cout << "    " << n_trajectories 
+	   << " trajectories stored in this event." << G4endl;
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02MagneticField.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02MagneticField.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02MagneticField.cc	(revision 901)
@@ -0,0 +1,100 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02MagneticField.cc,v 1.9 2007/08/22 13:11:51 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//  
+//   User Field class implementation.
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN02MagneticField.hh"
+#include "G4FieldManager.hh"
+#include "G4TransportationManager.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02MagneticField::ExN02MagneticField()
+  : G4UniformMagField(G4ThreeVector())
+{
+  GetGlobalFieldManager()->SetDetectorField(this);
+  GetGlobalFieldManager()->CreateChordFinder(this);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02MagneticField::ExN02MagneticField(G4ThreeVector fieldVector)
+  : G4UniformMagField(fieldVector)
+{
+  GetGlobalFieldManager()->SetDetectorField(this);    
+  GetGlobalFieldManager()->CreateChordFinder(this);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02MagneticField::~ExN02MagneticField()
+{
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Set the value of the Global Field to fieldValue along X
+//
+void ExN02MagneticField::SetMagFieldValue(G4double fieldValue)
+{
+   SetMagFieldValue(G4ThreeVector(fieldValue,0,0));
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Set the value of the Global Field
+//
+void ExN02MagneticField::SetMagFieldValue(G4ThreeVector fieldVector)
+{
+  // Find the Field Manager for the global field
+  G4FieldManager* fieldMgr= GetGlobalFieldManager();
+    
+  if(fieldVector!=G4ThreeVector(0.,0.,0.))
+  { 
+    SetFieldValue(fieldVector);
+    fieldMgr->SetDetectorField(this);
+  } else {
+    // If the new field's value is Zero, then it is best to
+    //  insure that it is not used for propagation.
+    G4MagneticField* magField = 0;
+    fieldMgr->SetDetectorField(magField);
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4FieldManager*  ExN02MagneticField::GetGlobalFieldManager()
+{
+  return G4TransportationManager::GetTransportationManager()->GetFieldManager();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PhysicsList.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PhysicsList.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PhysicsList.cc	(revision 901)
@@ -0,0 +1,243 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02PhysicsList.cc,v 1.22.2.2 2008/05/09 12:09:02 kurasige Exp $
+// GEANT4 tag $Name: geant4-09-01-patch-03 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "globals.hh"
+#include "ExN02PhysicsList.hh"
+
+#include "G4ProcessManager.hh"
+#include "G4ParticleTypes.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02PhysicsList::ExN02PhysicsList():  G4VUserPhysicsList()
+{
+  defaultCutValue = 1.0*cm;
+   SetVerboseLevel(1);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02PhysicsList::~ExN02PhysicsList()
+{
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructParticle()
+{
+  // In this method, static member functions should be called
+  // for all particles which you want to use.
+  // This ensures that objects of these particle types will be
+  // created in the program. 
+
+  ConstructBosons();
+  ConstructLeptons();
+  ConstructMesons();
+  ConstructBaryons();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructBosons()
+{
+  // pseudo-particles
+  G4Geantino::GeantinoDefinition();
+  G4ChargedGeantino::ChargedGeantinoDefinition();
+
+  // gamma
+  G4Gamma::GammaDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructLeptons()
+{
+  // leptons
+  //  e+/-
+  G4Electron::ElectronDefinition();
+  G4Positron::PositronDefinition();
+  // mu+/-
+  G4MuonPlus::MuonPlusDefinition();
+  G4MuonMinus::MuonMinusDefinition();
+  // nu_e
+  G4NeutrinoE::NeutrinoEDefinition();
+  G4AntiNeutrinoE::AntiNeutrinoEDefinition();
+  // nu_mu
+  G4NeutrinoMu::NeutrinoMuDefinition();
+  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructMesons()
+{
+  //  mesons
+  //    light mesons
+  G4PionPlus::PionPlusDefinition();
+  G4PionMinus::PionMinusDefinition();
+  G4PionZero::PionZeroDefinition();
+  G4Eta::EtaDefinition();
+  G4EtaPrime::EtaPrimeDefinition();
+  G4KaonPlus::KaonPlusDefinition();
+  G4KaonMinus::KaonMinusDefinition();
+  G4KaonZero::KaonZeroDefinition();
+  G4AntiKaonZero::AntiKaonZeroDefinition();
+  G4KaonZeroLong::KaonZeroLongDefinition();
+  G4KaonZeroShort::KaonZeroShortDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructBaryons()
+{
+  //  barions
+  G4Proton::ProtonDefinition();
+  G4AntiProton::AntiProtonDefinition();
+
+  G4Neutron::NeutronDefinition();
+  G4AntiNeutron::AntiNeutronDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructProcess()
+{
+  AddTransportation();
+  ConstructEM();
+  ConstructGeneral();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4ComptonScattering.hh"
+#include "G4GammaConversion.hh"
+#include "G4PhotoElectricEffect.hh"
+
+#include "G4MultipleScattering.hh"
+
+#include "G4eIonisation.hh"
+#include "G4eBremsstrahlung.hh"
+#include "G4eplusAnnihilation.hh"
+
+#include "G4MuIonisation.hh"
+#include "G4MuBremsstrahlung.hh"
+#include "G4MuPairProduction.hh"
+
+#include "G4hIonisation.hh"
+
+#include "G4StepLimiter.hh"
+#include "G4UserSpecialCuts.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::ConstructEM()
+{
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    G4String particleName = particle->GetParticleName();
+     
+    if (particleName == "gamma") {
+      // gamma         
+      pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
+      pmanager->AddDiscreteProcess(new G4ComptonScattering);
+      pmanager->AddDiscreteProcess(new G4GammaConversion);
+      
+    } else if (particleName == "e-") {
+      //electron
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
+      pmanager->AddProcess(new G4eBremsstrahlung,   -1, 3,3);      
+
+    } else if (particleName == "e+") {
+      //positron
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
+      pmanager->AddProcess(new G4eBremsstrahlung,   -1, 3,3);
+      pmanager->AddProcess(new G4eplusAnnihilation,  0,-1,4);
+
+    } else if( particleName == "mu+" || 
+               particleName == "mu-"    ) {
+      //muon  
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4MuIonisation,      -1, 2,2);
+      pmanager->AddProcess(new G4MuBremsstrahlung,  -1, 3,3);
+      pmanager->AddProcess(new G4MuPairProduction,  -1, 4,4);       
+     
+    } else if ((!particle->IsShortLived()) &&
+	       (particle->GetPDGCharge() != 0.0) && 
+	       (particle->GetParticleName() != "chargedgeantino")) {
+      //all others charged particles except geantino
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4hIonisation,       -1, 2,2);
+      //step limit
+      pmanager->AddProcess(new G4StepLimiter,       -1,-1,3);         
+      ///pmanager->AddProcess(new G4UserSpecialCuts,   -1,-1,4);  
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4Decay.hh"
+void ExN02PhysicsList::ConstructGeneral()
+{
+  // Add Decay Process
+  G4Decay* theDecayProcess = new G4Decay();
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    if (theDecayProcess->IsApplicable(*particle)) { 
+      pmanager ->AddProcess(theDecayProcess);
+      // set ordering for PostStepDoIt and AtRestDoIt
+      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
+      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PhysicsList::SetCuts()
+{
+  //G4VUserPhysicsList::SetCutsWithDefault method sets 
+  //the default cut value for all particle types 
+  //
+  SetCutsWithDefault();
+     
+  if (verboseLevel>0) DumpCutValuesTable();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,79 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02PrimaryGeneratorAction.cc,v 1.7 2006/06/29 17:48:13 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN02PrimaryGeneratorAction.hh"
+#include "ExN02DetectorConstruction.hh"
+
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02PrimaryGeneratorAction::ExN02PrimaryGeneratorAction(
+                                               ExN02DetectorConstruction* myDC)
+:myDetector(myDC)
+{
+  G4int n_particle = 1;
+  particleGun = new G4ParticleGun(n_particle);
+
+// default particle
+
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4ParticleDefinition* particle = particleTable->FindParticle("proton");
+  
+  particleGun->SetParticleDefinition(particle);
+  particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
+  particleGun->SetParticleEnergy(3.0*GeV);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02PrimaryGeneratorAction::~ExN02PrimaryGeneratorAction()
+{
+  delete particleGun;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{ 
+  G4double position = -0.5*(myDetector->GetWorldFullLength());
+  particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,position));
+  
+  particleGun->GeneratePrimaryVertex(anEvent);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02RunAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02RunAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02RunAction.cc	(revision 901)
@@ -0,0 +1,62 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02RunAction.cc,v 1.9 2006/06/29 17:48:16 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN02RunAction.hh"
+
+#include "G4Run.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02RunAction::ExN02RunAction()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02RunAction::~ExN02RunAction()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02RunAction::BeginOfRunAction(const G4Run* aRun)
+{
+  G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02RunAction::EndOfRunAction(const G4Run*)
+{ }
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerHit.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerHit.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerHit.cc	(revision 901)
@@ -0,0 +1,106 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02TrackerHit.cc,v 1.10 2006/06/29 17:48:24 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN02TrackerHit.hh"
+#include "G4UnitsTable.hh"
+#include "G4VVisManager.hh"
+#include "G4Circle.hh"
+#include "G4Colour.hh"
+#include "G4VisAttributes.hh"
+
+G4Allocator<ExN02TrackerHit> ExN02TrackerHitAllocator;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02TrackerHit::ExN02TrackerHit() {}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02TrackerHit::~ExN02TrackerHit() {}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02TrackerHit::ExN02TrackerHit(const ExN02TrackerHit& right)
+  : G4VHit()
+{
+  trackID   = right.trackID;
+  chamberNb = right.chamberNb;
+  edep      = right.edep;
+  pos       = right.pos;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+const ExN02TrackerHit& ExN02TrackerHit::operator=(const ExN02TrackerHit& right)
+{
+  trackID   = right.trackID;
+  chamberNb = right.chamberNb;
+  edep      = right.edep;
+  pos       = right.pos;
+  return *this;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4int ExN02TrackerHit::operator==(const ExN02TrackerHit& right) const
+{
+  return (this==&right) ? 1 : 0;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02TrackerHit::Draw()
+{
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if(pVVisManager)
+  {
+    G4Circle circle(pos);
+    circle.SetScreenSize(2.);
+    circle.SetFillStyle(G4Circle::filled);
+    G4Colour colour(1.,0.,0.);
+    G4VisAttributes attribs(colour);
+    circle.SetVisAttributes(attribs);
+    pVVisManager->Draw(circle);
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02TrackerHit::Print()
+{
+  G4cout << "  trackID: " << trackID << "  chamberNb: " << chamberNb
+         << "  energy deposit: " << G4BestUnit(edep,"Energy")
+	 << "  position: " << G4BestUnit(pos,"Length") << G4endl;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerSD.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerSD.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N02/src/ExN02TrackerSD.cc	(revision 901)
@@ -0,0 +1,100 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN02TrackerSD.cc,v 1.9 2006/06/29 17:48:27 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN02TrackerSD.hh"
+#include "G4HCofThisEvent.hh"
+#include "G4Step.hh"
+#include "G4ThreeVector.hh"
+#include "G4SDManager.hh"
+#include "G4ios.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02TrackerSD::ExN02TrackerSD(G4String name)
+:G4VSensitiveDetector(name)
+{
+  G4String HCname;
+  collectionName.insert(HCname="trackerCollection");
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN02TrackerSD::~ExN02TrackerSD(){ }
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02TrackerSD::Initialize(G4HCofThisEvent* HCE)
+{
+  trackerCollection = new ExN02TrackerHitsCollection
+                          (SensitiveDetectorName,collectionName[0]); 
+  static G4int HCID = -1;
+  if(HCID<0)
+  { HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]); }
+  HCE->AddHitsCollection( HCID, trackerCollection ); 
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4bool ExN02TrackerSD::ProcessHits(G4Step* aStep,G4TouchableHistory*)
+{
+  G4double edep = aStep->GetTotalEnergyDeposit();
+
+  if(edep==0.) return false;
+
+  ExN02TrackerHit* newHit = new ExN02TrackerHit();
+  newHit->SetTrackID  (aStep->GetTrack()->GetTrackID());
+  newHit->SetChamberNb(aStep->GetPreStepPoint()->GetTouchableHandle()
+                                               ->GetCopyNumber());
+  newHit->SetEdep     (edep);
+  newHit->SetPos      (aStep->GetPostStepPoint()->GetPosition());
+  trackerCollection->insert( newHit );
+  
+  //newHit->Print();
+  //newHit->Draw();
+
+  return true;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN02TrackerSD::EndOfEvent(G4HCofThisEvent*)
+{
+  if (verboseLevel>0) { 
+     G4int NbHits = trackerCollection->entries();
+     G4cout << "\n-------->Hits Collection: in this event they are " << NbHits 
+            << " hits in the tracker chambers: " << G4endl;
+     for (G4int i=0;i<NbHits;i++) (*trackerCollection)[i]->Print();
+    } 
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/README/index.html	(revision 901)
@@ -0,0 +1,191 @@
+$Id: README,v 1.16 2005/11/22 16:11:04 maire Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN03
+                            ----------
+
+	This example simulates a simple Sampling Calorimeter setup.
+	
+ 1- GEOMETRY DEFINITION
+ 
+ 	The calorimeter is a box made of a given number of layers. A layer
+ 	consists of an absorber plate and of a detection gap. The layer is
+ 	replicated.
+ 	
+ 	Six parameters define the calorimeter :
+ 	- the material of the absorber,
+	- the thickness of an absorber plate,
+ 	- the material of the detection gap,
+ 	- the thickness of a  gap,
+ 	- the number of layers,
+ 	- the transverse size of the calorimeter (the input face is a square). 
+ 	
+ 	In addition a transverse uniform magnetic field can be applied.
+ 	
+ 	The default geometry is constructed in DetectorConstruction class,
+ 	but all of the above parameters can be modified interactively via
+ 	the commands defined in the DetectorMessenger class.
+
+
+	|<----layer 0---------->|<----layer 1---------->|<----layer 2---------->|
+	|			|			|			|
+	==========================================================================
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||   absorber 	|  gap	||   absorber 	|  gap	||   absorber 	|  gap	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+ beam	||		|	||		|	||		|	||
+======>	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||		|	||		|	||		|	||
+	||    		| 	||    		| 	||    		| 	||
+	==========================================================================
+	
+ 	NB. The thickness of the absorber or of the gap can be set to zero
+ 	    (but not together), and the number of layers to 1. In this case we
+ 	    have a unique homogeneous block of matter, which looks like
+ 	    a bubble chamber rather than a calorimeter ...
+ 	    (see the macro of commands: newgeom.mac)
+ 	    
+ 2- AN EVENT : THE PRIMARY GENERATOR
+ 
+ 	The primary kinematic consists of a single particle which hits the
+ 	calorimeter perpendicular to the input face. The type of the particle
+ 	and its energy are set in the PrimaryGeneratorAction class, and can
+ 	be changed via the G4 build-in commands of ParticleGun class (see
+ 	the macros provided with this example).
+ 	
+ 	In addition one can choose randomly the impact point of the incident
+ 	particle. The corresponding interactive command is built in
+ 	PrimaryGeneratorMessenger class (see run2.mac).
+ 	
+ 	A RUN is a set of events.
+ 	
+ 				
+ 3- VISUALIZATION
+ 
+ 	The Visualization Manager is set in the main().
+ 	The initialisation of the drawing is done via a set of /vis/ commands
+        in the macro vis.mac. This macro is automatically read from 
+ 	the main in case of interactive running mode.
+
+        By default, vis.mac opens a DAWNFILE, suitable for viewing in DAWN,
+	and an OGLX for OpenGl.
+        You can switch to other graphics systems by commenting out this line
+        and instead uncommenting one of the other /vis/open statements, such as
+        HepRepFile or HepRepXML.
+	
+	The DAWNFILE, HepRepFile and HepRepXML drivers are always available 
+	(since they require no external libraries), but the OGLIX driver 
+	requires:
+	    1- the visualisation & interfaces categories have been compiled
+	       with the environment variable G4VIS_BUILD_OPENGLX_DRIVER.
+	    2- exampleN03.cc has been compiled with G4VIS_USE_OPENGLX.
+
+	The HepRepXML driver outputs a zip file that can be unzipped into 
+	several individual HepRep files, each viewable in WIRED.
+
+	For more information on visualization, including information on how to
+	install and run DAWN, OpenGL and WIRED, see the visualization tutorials
+	on the Geant4 Workshop Tutorial CD available at:
+	http://geant4.slac.stanford.edu/g4cd/Welcome.html
+ 	
+ 	The detector has a default view which is a longitudinal view of the 
+ 	calorimeter.
+ 	
+ 	The tracks are drawn at the end of event, and erased at the end of run.
+ 	Optionaly one can choose to draw all particles, only the charged,
+ 	or neutral or none. This command is build in EventActionMessenger class.
+ 	
+	Additional visualization tutorial macros are available in the visTutor
+	subdirectory.  They can be tried as:
+               % $G4BINDIR/exampleN03
+	       idle > /control/execute visTutor/exN03VisX.mac
+        For details, see comment lines  described in the macro files.
+        These macros are designed to help your understanding the User's Guide.
+
+
+ 4- PHYSICS DEMO
+ 
+ 	The particle's type and the physic processes which will be available
+ 	in this example are set in PhysicsList class.
+ 	
+ 	In addition the build-in interactive command:
+	         /process/(in)activate processName
+ 	allows to activate/inactivate the processes one by one.
+ 	Then one can well visualize the processes one by one, especially 
+ 	in the bubble chamber setup with a transverse magnetic field.
+	(see run2.mac and newgeom.mac)
+ 
+ 	As a homework try to visualize a gamma conversion alone, 
+ 	or the effect of the multiple scattering.
+	
+ 5- RANDOM NUMBERS HANDLING
+ 
+ 	CLHEP provides several random number engines. In this example the Ranecu
+	engine is choosen at beginning of the main (exampleN03.cc).
+	
+	By default, G4RunManager does not save the rndm seed.
+	To do so the user must set in BeginOfRunAction:
+	G4RunManager::GetRunManager()->SetRandomNumberStore(true);
+	
+	Then the rndm seed is systematically saved at beginning of run
+	(currentRun.rndm) and beginning of event (currentEvent.rndm)
+	Therefore, in case of abnormal end, the seed of the last event processed
+	is available in currentEvent.rndm
+	
+	Even in case of normal run processing, the user may wish to preserve the
+	rndm seed of selected events. At any time in the event, put the
+	following statement:
+	if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
+	currentEvent.rndm will be copied to runXXevntYY.rndm
+	(see ExN03SteppingAction::UserSteppingAction() )
+	
+	To restart a run from a given rndm seed, use the UI command :
+	/random/resetEngineFrom  fileName 
+	
+	The macro rndmSeed.mac shows how to save and reset the random number
+	seed between runs, from UI commands.	
+	
+ 6- USER INTERFACES
+  
+        The default command interface, called G4UIterminal, is done via
+	standart cin/G4cout.
+	On Linux and Sun-cc on can use a smarter command interface G4UItcsh.
+	It is enough to set the environment variable G4UI_USE_TCSH
+	
+	On can use a Motif driven command interface (called G4UIXm) if:
+	  1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION
+	  2- exampleN03.cc has been compiled with G4UI_USE_XM. 
+ 
+      	
+ 7- HOW TO START ?
+ 
+ 	- compile and link to generate an executable
+ 		% cd N03
+ 		% gmake
+ 		
+ 	- execute N03 in 'batch' mode from macro files
+ 		% exampleN03   run1.mac
+ 		
+ 	- execute N03 in 'interactive mode' with visualization
+ 		% exampleN03
+ 		....
+ 		Idle>      ---> type your commands. For instance:
+		Idle> /run/beamOn 
+		....
+		Idle> /run/beamOn 10
+		....				
+ 		Idle> /control/execute newgeom.mac
+ 		....
+ 		Idle> exit
+ 	
+ 	  
+ 	
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/exampleN03.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/exampleN03.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/exampleN03.cc	(revision 901)
@@ -0,0 +1,163 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN03.cc,v 1.33 2007/11/16 10:50:41 lgarnier Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+#include "G4UIterminal.hh"
+#include "G4UItcsh.hh"
+
+#include "Randomize.hh"
+
+#include "ExN03DetectorConstruction.hh"
+#include "ExN03PhysicsList.hh"
+#include "ExN03PrimaryGeneratorAction.hh"
+#include "ExN03RunAction.hh"
+#include "ExN03EventAction.hh"
+#include "ExN03SteppingAction.hh"
+#include "ExN03SteppingVerbose.hh"
+
+#ifdef G4VIS_USE
+#include "G4VisExecutive.hh"
+#endif
+
+#ifdef G4UI_USE_XM
+#include "G4UIXm.hh"
+#endif
+
+#ifdef G4UI_USE_WIN32
+#include "G4UIWin32.hh"
+#endif
+
+#ifdef G4UI_USE_QT
+#include "G4UIQt.hh"
+#include "G4Qt.hh"
+#include <qapplication.h>
+#endif
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+int main(int argc,char** argv)
+{
+  // Choose the Random engine
+  //
+  CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine);
+  
+  // User Verbose output class
+  //
+  G4VSteppingVerbose::SetInstance(new ExN03SteppingVerbose);
+     
+  // Construct the default run manager
+  //
+  G4RunManager * runManager = new G4RunManager;
+
+  // Set mandatory initialization classes
+  //
+  ExN03DetectorConstruction* detector = new ExN03DetectorConstruction;
+  runManager->SetUserInitialization(detector);
+  //
+  G4VUserPhysicsList* physics = new ExN03PhysicsList;
+  runManager->SetUserInitialization(physics);
+    
+  // Set user action classes
+  //
+  G4VUserPrimaryGeneratorAction* gen_action = 
+                          new ExN03PrimaryGeneratorAction(detector);
+  runManager->SetUserAction(gen_action);
+  //
+  ExN03RunAction* run_action = new ExN03RunAction;  
+  runManager->SetUserAction(run_action);
+  //
+  ExN03EventAction* event_action = new ExN03EventAction(run_action);
+  runManager->SetUserAction(event_action);
+  //
+  G4UserSteppingAction* stepping_action =
+                    new ExN03SteppingAction(detector, event_action);
+  runManager->SetUserAction(stepping_action);
+  
+  // Initialize G4 kernel
+  //
+  runManager->Initialize();
+  
+  // Get the pointer to the User Interface manager
+  //
+  G4UImanager* UI = G4UImanager::GetUIpointer();      
+  
+  if (argc!=1)   // batch mode
+    {
+      G4String command = "/control/execute ";
+      G4String fileName = argv[1];
+      UI->ApplyCommand(command+fileName);    
+    }
+  else           // interactive mode : define visualization UI terminal
+    {
+#ifdef G4VIS_USE
+      G4VisManager* visManager = new G4VisExecutive;
+      visManager->Initialize();
+#endif
+
+      G4UIsession* session = 0;
+#if defined(G4UI_USE_TCSH)
+      session = new G4UIterminal(new G4UItcsh);      
+#elif defined(G4UI_USE_XM)
+      session = new G4UIXm(argc,argv);
+      UI->ApplyCommand("/control/execute visTutor/gui.mac");      
+#elif defined(G4UI_USE_WIN32)
+      session = new G4UIWin32();
+      UI->ApplyCommand("/control/execute visTutor/gui.mac");      
+#elif defined(G4UI_USE_QT)
+      session = new G4UIQt(argc,argv);
+      UI->ApplyCommand("/control/execute visTutor/gui.mac");      
+#else
+      session = new G4UIterminal();
+#endif
+
+      UI->ApplyCommand("/control/execute vis.mac");
+      session->SessionStart();
+      delete session;
+      
+#ifdef G4VIS_USE
+      delete visManager;
+#endif                
+    }
+
+  // Job termination
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+  delete runManager;
+
+  return 0;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,159 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03DetectorConstruction.hh,v 1.7 2006/06/29 17:48:32 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN03DetectorConstruction_h
+#define ExN03DetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class G4Box;
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+class G4Material;
+class G4UniformMagField;
+class ExN03DetectorMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN03DetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+  
+    ExN03DetectorConstruction();
+   ~ExN03DetectorConstruction();
+
+  public:
+     
+     void SetAbsorberMaterial (G4String);     
+     void SetAbsorberThickness(G4double);     
+
+     void SetGapMaterial (G4String);     
+     void SetGapThickness(G4double);
+     
+     void SetCalorSizeYZ(G4double);          
+     void SetNbOfLayers (G4int);   
+      
+     void SetMagField(G4double);
+     
+     G4VPhysicalVolume* Construct();
+
+     void UpdateGeometry();
+     
+  public:
+  
+     void PrintCalorParameters(); 
+                    
+     G4double GetWorldSizeX()           {return WorldSizeX;}; 
+     G4double GetWorldSizeYZ()          {return WorldSizeYZ;};
+     
+     G4double GetCalorThickness()       {return CalorThickness;}; 
+     G4double GetCalorSizeYZ()          {return CalorSizeYZ;};
+      
+     G4int GetNbOfLayers()              {return NbOfLayers;}; 
+     
+     G4Material* GetAbsorberMaterial()  {return AbsorberMaterial;};
+     G4double    GetAbsorberThickness() {return AbsorberThickness;};      
+     
+     G4Material* GetGapMaterial()       {return GapMaterial;};
+     G4double    GetGapThickness()      {return GapThickness;};
+     
+     const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;};           
+     const G4VPhysicalVolume* GetAbsorber()   {return physiAbsorber;};
+     const G4VPhysicalVolume* GetGap()        {return physiGap;};
+                 
+  private:
+     
+     G4Material*        AbsorberMaterial;
+     G4double           AbsorberThickness;
+     
+     G4Material*        GapMaterial;
+     G4double           GapThickness;
+     
+     G4int              NbOfLayers;
+     G4double           LayerThickness;
+          
+     G4double           CalorSizeYZ;
+     G4double           CalorThickness;
+     
+     G4Material*        defaultMaterial;
+     G4double           WorldSizeYZ;
+     G4double           WorldSizeX;
+            
+     G4Box*             solidWorld;    //pointer to the solid World 
+     G4LogicalVolume*   logicWorld;    //pointer to the logical World
+     G4VPhysicalVolume* physiWorld;    //pointer to the physical World
+
+     G4Box*             solidCalor;    //pointer to the solid Calor 
+     G4LogicalVolume*   logicCalor;    //pointer to the logical Calor
+     G4VPhysicalVolume* physiCalor;    //pointer to the physical Calor
+     
+     G4Box*             solidLayer;    //pointer to the solid Layer 
+     G4LogicalVolume*   logicLayer;    //pointer to the logical Layer
+     G4VPhysicalVolume* physiLayer;    //pointer to the physical Layer
+         
+     G4Box*             solidAbsorber; //pointer to the solid Absorber
+     G4LogicalVolume*   logicAbsorber; //pointer to the logical Absorber
+     G4VPhysicalVolume* physiAbsorber; //pointer to the physical Absorber
+     
+     G4Box*             solidGap;      //pointer to the solid Gap
+     G4LogicalVolume*   logicGap;      //pointer to the logical Gap
+     G4VPhysicalVolume* physiGap;      //pointer to the physical Gap
+     
+     G4UniformMagField* magField;      //pointer to the magnetic field
+     
+     ExN03DetectorMessenger* detectorMessenger;  //pointer to the Messenger
+      
+  private:
+    
+     void DefineMaterials();
+     void ComputeCalorParameters();
+     G4VPhysicalVolume* ConstructCalorimeter();     
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+inline void ExN03DetectorConstruction::ComputeCalorParameters()
+{
+  // Compute derived parameters of the calorimeter
+     LayerThickness = AbsorberThickness + GapThickness;
+     CalorThickness = NbOfLayers*LayerThickness;
+     
+     WorldSizeX = 1.2*CalorThickness; WorldSizeYZ = 1.2*CalorSizeYZ;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PhysicsList.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PhysicsList.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PhysicsList.hh	(revision 901)
@@ -0,0 +1,72 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03PhysicsList.hh,v 1.13 2007/07/02 13:22:08 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN03PhysicsList_h
+#define ExN03PhysicsList_h 1
+
+#include "G4VUserPhysicsList.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN03PhysicsList: public G4VUserPhysicsList
+{
+public:
+  ExN03PhysicsList();
+  virtual ~ExN03PhysicsList();
+
+  // Construct particle and physics
+  void ConstructParticle();
+  void ConstructProcess();
+ 
+  void SetCuts();
+   
+private:
+  // these methods Construct particles 
+  void ConstructBosons();
+  void ConstructLeptons();
+  void ConstructMesons();
+  void ConstructBaryons();
+
+  // these methods Construct physics processes and register them
+  void ConstructDecay();
+  void ConstructEM();
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,69 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03PrimaryGeneratorAction.hh,v 1.8 2007/07/02 13:22:08 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN03PrimaryGeneratorAction_h
+#define ExN03PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "globals.hh"
+
+class G4ParticleGun;
+class G4Event;
+class ExN03DetectorConstruction;
+class ExN03PrimaryGeneratorMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+public:
+  ExN03PrimaryGeneratorAction(ExN03DetectorConstruction*);    
+  virtual ~ExN03PrimaryGeneratorAction();
+
+  void GeneratePrimaries(G4Event*);
+  void SetRndmFlag(G4String val) { rndmFlag = val;}
+
+private:
+  G4ParticleGun*                particleGun;	  //pointer a to G4  class
+  ExN03DetectorConstruction*    ExN03Detector;    //pointer to the geometry
+    
+  ExN03PrimaryGeneratorMessenger* gunMessenger;   //messenger of this class
+  G4String                      rndmFlag;	  //flag for a rndm impact point
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03RunAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03RunAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03RunAction.hh	(revision 901)
@@ -0,0 +1,67 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03RunAction.hh,v 1.11 2007/07/02 13:22:08 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN03RunAction_h
+#define ExN03RunAction_h 1
+
+#include "G4UserRunAction.hh"
+#include "globals.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class G4Run;
+
+class ExN03RunAction : public G4UserRunAction
+{
+public:
+  ExN03RunAction();
+  virtual ~ExN03RunAction();
+
+  void BeginOfRunAction(const G4Run*);
+  void   EndOfRunAction(const G4Run*);
+    
+  void fillPerEvent(G4double, G4double, G4double, G4double); 
+
+private:
+  G4double sumEAbs, sum2EAbs;
+  G4double sumEGap, sum2EGap;
+    
+  G4double sumLAbs, sum2LAbs;
+  G4double sumLGap, sum2LGap;    
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03SteppingAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03SteppingAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/include/ExN03SteppingAction.hh	(revision 901)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03SteppingAction.hh,v 1.10 2007/07/02 13:22:08 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN03SteppingAction_h
+#define ExN03SteppingAction_h 1
+
+#include "G4UserSteppingAction.hh"
+
+class ExN03DetectorConstruction;
+class ExN03EventAction;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN03SteppingAction : public G4UserSteppingAction
+{
+public:
+  ExN03SteppingAction(ExN03DetectorConstruction*, ExN03EventAction*);
+  virtual ~ExN03SteppingAction();
+
+  void UserSteppingAction(const G4Step*);
+    
+private:
+  ExN03DetectorConstruction* detector;
+  ExN03EventAction*          eventaction;  
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,473 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03DetectorConstruction.cc,v 1.23 2006/06/29 17:48:54 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN03DetectorConstruction.hh"
+#include "ExN03DetectorMessenger.hh"
+
+#include "G4Material.hh"
+#include "G4Box.hh"
+#include "G4LogicalVolume.hh"
+#include "G4PVPlacement.hh"
+#include "G4PVReplica.hh"
+#include "G4UniformMagField.hh"
+
+#include "G4GeometryManager.hh"
+#include "G4PhysicalVolumeStore.hh"
+#include "G4LogicalVolumeStore.hh"
+#include "G4SolidStore.hh"
+
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03DetectorConstruction::ExN03DetectorConstruction()
+:AbsorberMaterial(0),GapMaterial(0),defaultMaterial(0),
+ solidWorld(0),logicWorld(0),physiWorld(0),
+ solidCalor(0),logicCalor(0),physiCalor(0),
+ solidLayer(0),logicLayer(0),physiLayer(0),
+ solidAbsorber(0),logicAbsorber(0),physiAbsorber(0),
+ solidGap (0),logicGap (0),physiGap (0),
+ magField(0)
+{
+  // default parameter values of the calorimeter
+  AbsorberThickness = 10.*mm;
+  GapThickness      =  5.*mm;
+  NbOfLayers        = 10;
+  CalorSizeYZ       = 10.*cm;
+  ComputeCalorParameters();
+  
+  // materials
+  DefineMaterials();
+  SetAbsorberMaterial("Lead");
+  SetGapMaterial("liquidArgon");
+  
+  // create commands for interactive definition of the calorimeter
+  detectorMessenger = new ExN03DetectorMessenger(this);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03DetectorConstruction::~ExN03DetectorConstruction()
+{ delete detectorMessenger;}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4VPhysicalVolume* ExN03DetectorConstruction::Construct()
+{
+  return ConstructCalorimeter();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::DefineMaterials()
+{ 
+ //This function illustrates the possible ways to define materials
+ 
+G4String symbol;             //a=mass of a mole;
+G4double a, z, density;      //z=mean number of protons;  
+G4int iz, n;                 //iz=number of protons  in an isotope; 
+                             // n=number of nucleons in an isotope;
+
+G4int ncomponents, natoms;
+G4double abundance, fractionmass;
+
+//
+// define Elements
+//
+
+G4Element* H  = new G4Element("Hydrogen",symbol="H" , z= 1., a= 1.01*g/mole);
+G4Element* C  = new G4Element("Carbon"  ,symbol="C" , z= 6., a= 12.01*g/mole);
+G4Element* N  = new G4Element("Nitrogen",symbol="N" , z= 7., a= 14.01*g/mole);
+G4Element* O  = new G4Element("Oxygen"  ,symbol="O" , z= 8., a= 16.00*g/mole);
+G4Element* Si = new G4Element("Silicon",symbol="Si" , z= 14., a= 28.09*g/mole);
+
+//
+// define an Element from isotopes, by relative abundance 
+//
+
+G4Isotope* U5 = new G4Isotope("U235", iz=92, n=235, a=235.01*g/mole);
+G4Isotope* U8 = new G4Isotope("U238", iz=92, n=238, a=238.03*g/mole);
+
+G4Element* U  = new G4Element("enriched Uranium",symbol="U",ncomponents=2);
+U->AddIsotope(U5, abundance= 90.*perCent);
+U->AddIsotope(U8, abundance= 10.*perCent);
+
+//
+// define simple materials
+//
+
+new G4Material("Aluminium", z=13., a=26.98*g/mole, density=2.700*g/cm3);
+new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3);
+new G4Material("Lead"     , z=82., a= 207.19*g/mole, density= 11.35*g/cm3);
+
+//
+// define a material from elements.   case 1: chemical molecule
+//
+
+G4Material* H2O = 
+new G4Material("Water", density= 1.000*g/cm3, ncomponents=2);
+H2O->AddElement(H, natoms=2);
+H2O->AddElement(O, natoms=1);
+// overwrite computed meanExcitationEnergy with ICRU recommended value 
+H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
+
+G4Material* Sci = 
+new G4Material("Scintillator", density= 1.032*g/cm3, ncomponents=2);
+Sci->AddElement(C, natoms=9);
+Sci->AddElement(H, natoms=10);
+
+G4Material* Myl = 
+new G4Material("Mylar", density= 1.397*g/cm3, ncomponents=3);
+Myl->AddElement(C, natoms=10);
+Myl->AddElement(H, natoms= 8);
+Myl->AddElement(O, natoms= 4);
+
+G4Material* SiO2 = 
+new G4Material("quartz",density= 2.200*g/cm3, ncomponents=2);
+SiO2->AddElement(Si, natoms=1);
+SiO2->AddElement(O , natoms=2);
+
+//
+// define a material from elements.   case 2: mixture by fractional mass
+//
+
+G4Material* Air = 
+new G4Material("Air"  , density= 1.290*mg/cm3, ncomponents=2);
+Air->AddElement(N, fractionmass=0.7);
+Air->AddElement(O, fractionmass=0.3);
+
+//
+// define a material from elements and/or others materials (mixture of mixtures)
+//
+
+G4Material* Aerog = 
+new G4Material("Aerogel", density= 0.200*g/cm3, ncomponents=3);
+Aerog->AddMaterial(SiO2, fractionmass=62.5*perCent);
+Aerog->AddMaterial(H2O , fractionmass=37.4*perCent);
+Aerog->AddElement (C   , fractionmass= 0.1*perCent);
+
+//
+// examples of gas in non STP conditions
+//
+
+G4Material* CO2 = 
+new G4Material("CarbonicGas", density= 27.*mg/cm3, ncomponents=2,
+                              kStateGas, 325.*kelvin, 50.*atmosphere);
+CO2->AddElement(C, natoms=1);
+CO2->AddElement(O, natoms=2);
+ 
+G4Material* steam = 
+new G4Material("WaterSteam", density= 0.3*mg/cm3, ncomponents=1,
+                             kStateGas, 500.*kelvin, 2.*atmosphere);
+steam->AddMaterial(H2O, fractionmass=1.);
+
+//
+// examples of vacuum
+//
+
+G4Material* Vacuum =
+new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density,
+                           kStateGas, 2.73*kelvin, 3.e-18*pascal);
+
+G4Material* beam = 
+new G4Material("Beam", density= 1.e-5*g/cm3, ncomponents=1,
+                       kStateGas, STP_Temperature, 2.e-2*bar);
+beam->AddMaterial(Air, fractionmass=1.);
+
+G4cout << *(G4Material::GetMaterialTable()) << G4endl;
+
+//default materials of the World
+defaultMaterial  = Vacuum;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
+{
+
+  // Clean old geometry, if any
+  //
+  G4GeometryManager::GetInstance()->OpenGeometry();
+  G4PhysicalVolumeStore::GetInstance()->Clean();
+  G4LogicalVolumeStore::GetInstance()->Clean();
+  G4SolidStore::GetInstance()->Clean();
+
+  // complete the Calor parameters definition
+  ComputeCalorParameters();
+   
+  //     
+  // World
+  //
+  solidWorld = new G4Box("World",				//its name
+                   WorldSizeX/2,WorldSizeYZ/2,WorldSizeYZ/2);	//its size
+                         
+  logicWorld = new G4LogicalVolume(solidWorld,		//its solid
+                                   defaultMaterial,	//its material
+                                   "World");		//its name
+                                   
+  physiWorld = new G4PVPlacement(0,			//no rotation
+  				 G4ThreeVector(),	//at (0,0,0)
+                                 logicWorld,		//its logical volume				 
+                                 "World",		//its name
+                                 0,			//its mother  volume
+                                 false,			//no boolean operation
+                                 0);			//copy number
+  
+  //                               
+  // Calorimeter
+  //  
+  solidCalor=0; logicCalor=0; physiCalor=0;
+  solidLayer=0; logicLayer=0; physiLayer=0;
+  
+  if (CalorThickness > 0.)  
+    { solidCalor = new G4Box("Calorimeter",		//its name
+    		       CalorThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);//size
+    			     
+      logicCalor = new G4LogicalVolume(solidCalor,	//its solid
+      				       defaultMaterial,	//its material
+      				       "Calorimeter");	//its name
+    				       
+      physiCalor = new G4PVPlacement(0,			//no rotation
+                                     G4ThreeVector(),	//at (0,0,0)
+                                     logicCalor,	//its logical volume
+                                     "Calorimeter",	//its name
+                                     logicWorld,	//its mother  volume
+                                     false,		//no boolean operation
+                                     0);		//copy number
+  
+  //                                 
+  // Layer
+  //
+      solidLayer = new G4Box("Layer",			//its name
+                       LayerThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); //size
+                       
+      logicLayer = new G4LogicalVolume(solidLayer,	//its solid
+                                       defaultMaterial,	//its material
+                                       "Layer");	//its name
+      if (NbOfLayers > 1)                                      
+        physiLayer = new G4PVReplica("Layer",		//its name
+      				     logicLayer,	//its logical volume
+      				     logicCalor,	//its mother
+                                     kXAxis,		//axis of replication
+                                     NbOfLayers,	//number of replica
+                                     LayerThickness);	//witdth of replica
+      else
+        physiLayer = new G4PVPlacement(0,		//no rotation
+                                     G4ThreeVector(),	//at (0,0,0)
+                                     logicLayer,	//its logical volume				     
+                                     "Layer",		//its name
+                                     logicCalor,	//its mother  volume
+                                     false,		//no boolean operation
+                                     0);		//copy number     
+    }                                   
+  
+  //                               
+  // Absorber
+  //
+  solidAbsorber=0; logicAbsorber=0; physiAbsorber=0;  
+  
+  if (AbsorberThickness > 0.) 
+    { solidAbsorber = new G4Box("Absorber",		//its name
+                          AbsorberThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); 
+                          
+      logicAbsorber = new G4LogicalVolume(solidAbsorber,    //its solid
+      			                  AbsorberMaterial, //its material
+      			                  AbsorberMaterial->GetName()); //name
+      			                  
+      physiAbsorber = new G4PVPlacement(0,		   //no rotation
+      		    G4ThreeVector(-GapThickness/2,0.,0.),  //its position
+                                        logicAbsorber,     //its logical volume		    
+                                        AbsorberMaterial->GetName(), //its name
+                                        logicLayer,        //its mother
+                                        false,             //no boulean operat
+                                        0);                //copy number
+                                        
+    }
+  
+  //                                 
+  // Gap
+  //
+  solidGap=0; logicGap=0; physiGap=0; 
+  
+  if (GapThickness > 0.)
+    { solidGap = new G4Box("Gap",
+    			   GapThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);
+    			   
+      logicGap = new G4LogicalVolume(solidGap,
+      				     GapMaterial,
+      				     GapMaterial->GetName());
+      				     
+      physiGap = new G4PVPlacement(0,                      //no rotation
+               G4ThreeVector(AbsorberThickness/2,0.,0.),   //its position
+                                   logicGap,               //its logical volume	       
+                                   GapMaterial->GetName(), //its name
+                                   logicLayer,             //its mother
+                                   false,                  //no boulean operat
+                                   0);                     //copy number
+    }
+    
+  PrintCalorParameters();     
+  
+  //                                        
+  // Visualization attributes
+  //
+  logicWorld->SetVisAttributes (G4VisAttributes::Invisible);
+
+  G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
+  simpleBoxVisAtt->SetVisibility(true);
+  logicCalor->SetVisAttributes(simpleBoxVisAtt);
+
+ /*
+  // Below are vis attributes that permits someone to test / play 
+  // with the interactive expansion / contraction geometry system of the
+  // vis/OpenInventor driver :
+ {G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,0.0));
+  simpleBoxVisAtt->SetVisibility(true);
+  delete logicCalor->GetVisAttributes();
+  logicCalor->SetVisAttributes(simpleBoxVisAtt);}
+
+ {G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.0,0.0,0.0));
+  logicLayer->SetVisAttributes(atb);}
+  
+ {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0.0,1.0,0.0));
+  atb->SetForceSolid(true);
+  logicAbsorber->SetVisAttributes(atb);}
+  
+ {//Set opacity = 0.2 then transparency = 1 - 0.2 = 0.8
+  G4VisAttributes* atb= new G4VisAttributes(G4Colour(0.0,0.0,1.0,0.2));
+  atb->SetForceSolid(true);
+  logicGap->SetVisAttributes(atb);}
+  */
+
+  //
+  //always return the physical World
+  //
+  return physiWorld;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::PrintCalorParameters()
+{
+  G4cout << "\n------------------------------------------------------------"
+         << "\n---> The calorimeter is " << NbOfLayers << " layers of: [ "
+         << AbsorberThickness/mm << "mm of " << AbsorberMaterial->GetName() 
+         << " + "
+         << GapThickness/mm << "mm of " << GapMaterial->GetName() << " ] " 
+         << "\n------------------------------------------------------------\n";
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice)
+{
+  // search the material by its name   
+  G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
+  if (pttoMaterial) AbsorberMaterial = pttoMaterial;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::SetGapMaterial(G4String materialChoice)
+{
+  // search the material by its name
+  G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
+  if (pttoMaterial) GapMaterial = pttoMaterial;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::SetAbsorberThickness(G4double val)
+{
+  // change Absorber thickness and recompute the calorimeter parameters
+  AbsorberThickness = val;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::SetGapThickness(G4double val)
+{
+  // change Gap thickness and recompute the calorimeter parameters
+  GapThickness = val;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::SetCalorSizeYZ(G4double val)
+{
+  // change the transverse size and recompute the calorimeter parameters
+  CalorSizeYZ = val;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03DetectorConstruction::SetNbOfLayers(G4int val)
+{
+  NbOfLayers = val;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4FieldManager.hh"
+#include "G4TransportationManager.hh"
+
+void ExN03DetectorConstruction::SetMagField(G4double fieldValue)
+{
+  //apply a global uniform magnetic field along Z axis
+  G4FieldManager* fieldMgr
+   = G4TransportationManager::GetTransportationManager()->GetFieldManager();
+
+  if(magField) delete magField;		//delete the existing magn field
+
+  if(fieldValue!=0.)			// create a new one if non nul
+  { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
+    fieldMgr->SetDetectorField(magField);
+    fieldMgr->CreateChordFinder(magField);
+  } else {
+    magField = 0;
+    fieldMgr->SetDetectorField(magField);
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4RunManager.hh"
+
+void ExN03DetectorConstruction::UpdateGeometry()
+{
+  G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter());
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PhysicsList.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PhysicsList.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PhysicsList.cc	(revision 901)
@@ -0,0 +1,244 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03PhysicsList.cc,v 1.21 2007/07/02 13:22:08 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN03PhysicsList.hh"
+
+#include "G4ProcessManager.hh"
+#include "G4ParticleTypes.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03PhysicsList::ExN03PhysicsList():  G4VUserPhysicsList()
+{
+  defaultCutValue = 1.0*mm;
+  SetVerboseLevel(1);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03PhysicsList::~ExN03PhysicsList()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructParticle()
+{
+  // In this method, static member functions should be called
+  // for all particles which you want to use.
+  // This ensures that objects of these particle types will be
+  // created in the program. 
+
+  ConstructBosons();
+  ConstructLeptons();
+  ConstructMesons();
+  ConstructBaryons();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructBosons()
+{
+  // pseudo-particles
+  G4Geantino::GeantinoDefinition();
+  G4ChargedGeantino::ChargedGeantinoDefinition();
+
+  // gamma
+  G4Gamma::GammaDefinition();
+
+  // optical photon
+  G4OpticalPhoton::OpticalPhotonDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructLeptons()
+{
+  // leptons
+  G4Electron::ElectronDefinition();
+  G4Positron::PositronDefinition();
+  G4MuonPlus::MuonPlusDefinition();
+  G4MuonMinus::MuonMinusDefinition();
+
+  G4NeutrinoE::NeutrinoEDefinition();
+  G4AntiNeutrinoE::AntiNeutrinoEDefinition();
+  G4NeutrinoMu::NeutrinoMuDefinition();
+  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructMesons()
+{
+ //  mesons
+  G4PionPlus::PionPlusDefinition();
+  G4PionMinus::PionMinusDefinition();
+  G4PionZero::PionZeroDefinition();
+  G4Eta::EtaDefinition();
+  G4EtaPrime::EtaPrimeDefinition();
+  G4KaonPlus::KaonPlusDefinition();
+  G4KaonMinus::KaonMinusDefinition();
+  G4KaonZero::KaonZeroDefinition();
+  G4AntiKaonZero::AntiKaonZeroDefinition();
+  G4KaonZeroLong::KaonZeroLongDefinition();
+  G4KaonZeroShort::KaonZeroShortDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructBaryons()
+{
+  //  barions
+  G4Proton::ProtonDefinition();
+  G4AntiProton::AntiProtonDefinition();
+  G4Neutron::NeutronDefinition();
+  G4AntiNeutron::AntiNeutronDefinition();
+}
+
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructProcess()
+{
+  AddTransportation();
+  ConstructEM();
+  ConstructDecay();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4ComptonScattering.hh"
+#include "G4GammaConversion.hh"
+#include "G4PhotoElectricEffect.hh"
+
+#include "G4MultipleScattering.hh"
+
+#include "G4eIonisation.hh"
+#include "G4eBremsstrahlung.hh"
+#include "G4eplusAnnihilation.hh"
+
+#include "G4MuIonisation.hh"
+#include "G4MuBremsstrahlung.hh"
+#include "G4MuPairProduction.hh"
+
+#include "G4hIonisation.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::ConstructEM()
+{
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    G4String particleName = particle->GetParticleName();
+    
+    if (particleName == "gamma") {
+      // gamma         
+      pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
+      pmanager->AddDiscreteProcess(new G4ComptonScattering);
+      pmanager->AddDiscreteProcess(new G4GammaConversion);
+      
+    } else if (particleName == "e-") {
+      //electron
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
+      pmanager->AddProcess(new G4eBremsstrahlung,   -1, 3,3);      
+
+    } else if (particleName == "e+") {
+      //positron
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4eIonisation,       -1, 2,2);
+      pmanager->AddProcess(new G4eBremsstrahlung,   -1, 3,3);
+      pmanager->AddProcess(new G4eplusAnnihilation,  0,-1,4);
+
+    } else if( particleName == "mu+" || 
+               particleName == "mu-"    ) {
+      //muon  
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4MuIonisation,      -1, 2,2);
+      pmanager->AddProcess(new G4MuBremsstrahlung,  -1, 3,3);
+      pmanager->AddProcess(new G4MuPairProduction,  -1, 4,4);       
+     
+    } else if ((!particle->IsShortLived()) &&
+	       (particle->GetPDGCharge() != 0.0) && 
+	       (particle->GetParticleName() != "chargedgeantino")) {
+      //all others charged particles except geantino
+      pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
+      pmanager->AddProcess(new G4hIonisation,       -1, 2,2); 
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4Decay.hh"
+
+void ExN03PhysicsList::ConstructDecay()
+{
+  // Add Decay Process
+  G4Decay* theDecayProcess = new G4Decay();
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    if (theDecayProcess->IsApplicable(*particle)) { 
+      pmanager ->AddProcess(theDecayProcess);
+      // set ordering for PostStepDoIt and AtRestDoIt
+      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
+      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PhysicsList::SetCuts()
+{
+  if (verboseLevel >0){
+    G4cout << "ExN03PhysicsList::SetCuts:";
+    G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
+  }
+
+  // set cut values for gamma at first and for e- second and next for e+,
+  // because some processes for e+/e- need cut values for gamma
+  //
+  SetCutValue(defaultCutValue, "gamma");
+  SetCutValue(defaultCutValue, "e-");
+  SetCutValue(defaultCutValue, "e+");
+
+  if (verboseLevel>0) DumpCutValuesTable();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,98 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03PrimaryGeneratorAction.cc,v 1.8 2006/06/29 17:49:07 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN03PrimaryGeneratorAction.hh"
+
+#include "ExN03DetectorConstruction.hh"
+#include "ExN03PrimaryGeneratorMessenger.hh"
+
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+#include "Randomize.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction(
+                                             ExN03DetectorConstruction* ExN03DC)
+:ExN03Detector(ExN03DC),rndmFlag("off")
+{
+  G4int n_particle = 1;
+  particleGun  = new G4ParticleGun(n_particle);
+  
+  //create a messenger for this class
+  gunMessenger = new ExN03PrimaryGeneratorMessenger(this);
+
+  // default particle kinematic
+
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4String particleName;
+  G4ParticleDefinition* particle
+                    = particleTable->FindParticle(particleName="e-");
+  particleGun->SetParticleDefinition(particle);
+  particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.));
+  particleGun->SetParticleEnergy(50.*MeV);
+  G4double position = -0.5*(ExN03Detector->GetWorldSizeX());
+  particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm));
+
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03PrimaryGeneratorAction::~ExN03PrimaryGeneratorAction()
+{
+  delete particleGun;
+  delete gunMessenger;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  //this function is called at the begining of event
+  // 
+  G4double x0 = -0.5*(ExN03Detector->GetWorldSizeX());
+  G4double y0 = 0.*cm, z0 = 0.*cm;
+  if (rndmFlag == "on")
+     {y0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5);
+      z0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5);
+     } 
+  particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0));
+
+  particleGun->GeneratePrimaryVertex(anEvent);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03RunAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03RunAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03RunAction.cc	(revision 901)
@@ -0,0 +1,122 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03RunAction.cc,v 1.18 2006/06/29 17:49:11 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN03RunAction.hh"
+
+#include "G4Run.hh"
+#include "G4RunManager.hh"
+#include "G4UnitsTable.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03RunAction::ExN03RunAction()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03RunAction::~ExN03RunAction()
+{}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03RunAction::BeginOfRunAction(const G4Run* aRun)
+{ 
+  G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
+
+  //inform the runManager to save random number seed
+  G4RunManager::GetRunManager()->SetRandomNumberStore(true);
+  
+  //initialize cumulative quantities
+  //
+  sumEAbs = sum2EAbs =sumEGap = sum2EGap = 0.;
+  sumLAbs = sum2LAbs =sumLGap = sum2LGap = 0.; 
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03RunAction::fillPerEvent(G4double EAbs, G4double EGap,
+                                  G4double LAbs, G4double LGap)
+{
+  //accumulate statistic
+  //
+  sumEAbs += EAbs;  sum2EAbs += EAbs*EAbs;
+  sumEGap += EGap;  sum2EGap += EGap*EGap;
+  
+  sumLAbs += LAbs;  sum2LAbs += LAbs*LAbs;
+  sumLGap += LGap;  sum2LGap += LGap*LGap;  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03RunAction::EndOfRunAction(const G4Run* aRun)
+{
+  G4int NbOfEvents = aRun->GetNumberOfEvent();
+  if (NbOfEvents == 0) return;
+  
+  //compute statistics: mean and rms
+  //
+  sumEAbs /= NbOfEvents; sum2EAbs /= NbOfEvents;
+  G4double rmsEAbs = sum2EAbs - sumEAbs*sumEAbs;
+  if (rmsEAbs >0.) rmsEAbs = std::sqrt(rmsEAbs); else rmsEAbs = 0.;
+  
+  sumEGap /= NbOfEvents; sum2EGap /= NbOfEvents;
+  G4double rmsEGap = sum2EGap - sumEGap*sumEGap;
+  if (rmsEGap >0.) rmsEGap = std::sqrt(rmsEGap); else rmsEGap = 0.;
+  
+  sumLAbs /= NbOfEvents; sum2LAbs /= NbOfEvents;
+  G4double rmsLAbs = sum2LAbs - sumLAbs*sumLAbs;
+  if (rmsLAbs >0.) rmsLAbs = std::sqrt(rmsLAbs); else rmsLAbs = 0.;
+  
+  sumLGap /= NbOfEvents; sum2LGap /= NbOfEvents;
+  G4double rmsLGap = sum2LGap - sumLGap*sumLGap;
+  if (rmsLGap >0.) rmsLGap = std::sqrt(rmsLGap); else rmsLGap = 0.;
+  
+  //print
+  //
+  G4cout
+     << "\n--------------------End of Run------------------------------\n"
+     << "\n mean Energy in Absorber : " << G4BestUnit(sumEAbs,"Energy")
+     << " +- "                          << G4BestUnit(rmsEAbs,"Energy")  
+     << "\n mean Energy in Gap      : " << G4BestUnit(sumEGap,"Energy")
+     << " +- "                          << G4BestUnit(rmsEGap,"Energy")
+     << G4endl;
+     
+  G4cout
+     << "\n mean trackLength in Absorber : " << G4BestUnit(sumLAbs,"Length")
+     << " +- "                               << G4BestUnit(rmsLAbs,"Length")  
+     << "\n mean trackLength in Gap      : " << G4BestUnit(sumLGap,"Length")
+     << " +- "                               << G4BestUnit(rmsLGap,"Length")
+     << "\n------------------------------------------------------------\n"
+     << G4endl;   
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03SteppingAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03SteppingAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N03/src/ExN03SteppingAction.cc	(revision 901)
@@ -0,0 +1,78 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN03SteppingAction.cc,v 1.15 2006/06/29 17:49:13 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN03SteppingAction.hh"
+
+#include "ExN03DetectorConstruction.hh"
+#include "ExN03EventAction.hh"
+
+#include "G4Step.hh"
+
+////#include "G4RunManager.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03SteppingAction::ExN03SteppingAction(ExN03DetectorConstruction* det,
+                                         ExN03EventAction* evt)
+:detector(det), eventaction(evt)					 
+{ }
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN03SteppingAction::~ExN03SteppingAction()
+{ }
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN03SteppingAction::UserSteppingAction(const G4Step* aStep)
+{
+  // get volume of the current step
+  G4VPhysicalVolume* volume 
+  = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume();
+  
+  // collect energy and track length step by step
+  G4double edep = aStep->GetTotalEnergyDeposit();
+  
+  G4double stepl = 0.;
+  if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.)
+    stepl = aStep->GetStepLength();
+      
+  if (volume == detector->GetAbsorber()) eventaction->AddAbs(edep,stepl);
+  if (volume == detector->GetGap())      eventaction->AddGap(edep,stepl);
+  
+  //example of saving random number seed of this event, under condition
+  //// if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); 
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/README/index.html	(revision 901)
@@ -0,0 +1,80 @@
+$Id: README,v 1.6 2006/11/08 16:43:57 gunter Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN04
+                            ----------
+
+ ExampleN04 has a simplified collider detector geometry. This example
+demonstrates the following features.
+
+1. PYTHIA primary events.
+
+ ExN04PrimaryGeneratorAction has G4HEPEvtInterface as the generator.
+G4HEPEvtInterface accesses to "pythia_event.data", which contains three
+events of Higgs generation produced by PYTHIA. "pythia_main.f" is an
+example FORTRAN code of PYTHIA for generating this event sample.
+
+2. Readout geometry
+
+ ExN04DetectorConstruction defines a simplified collider detecor
+geometry, tracker made of cylindrical tubes, calorimeter made of
+cylindrical tubes, and muon trackers made of planes.
+ Cylindrical calorimeter is made of tubes of lead and scintirator
+without cut in phi nor z direction. Energy deposition in scintirator
+is accumurated by ExN04CalorimeterSD sensitive detector, which has
+a readout geometry to find the phi-z cell.
+
+3. Physics processes
+
+ The example uses the QGSP 'Educated guess physics list', which 
+includes electro-magnetic and hadronic interactions. 
+
+3.1 Compilation of the Hadronic Physics lists
+
+ The compilation of the example N04 requires the previous compilation of 
+the hadronic physics lists, they ARE automatically compiled together with 
+the standard Geant4 libraries; you may disable building the physics lists 
+by setting G4LIB_BUILD_LISTS to NO.
+If you try to compile the example without the lists, you might probably 
+get an error message during the linking phase, similar to the following:
+"Linking exampleN04 ...
+/usr/bin/ld: cannot find -lQGSP"
+
+If they are not compiled, then you (or your Geant4 administrator)
+can do it with the following steps:
+a. Make sure the Geant4 environment variables G4LIB_BUILD_lists is NOT defined 
+b. cd $G4INSTALL/source/physics_lists
+c. gmake
+
+4. Event filtering by the stacking mechanism.
+
+ Higgs events in "pythia_event.data" have two lepton pairs produced
+by the Higgs decay via Z0. At the first stage of each event, only the
+primary muons are tracked without tracking secondaries. then the number
+of hits on the muon trackers are examined. At the next stage, only
+the primary charged particles are tracked only inside the barrel
+tracking area and the isolation of the primary muons are examined.
+At the third stage, all particles in the RoI (Region of Interest) along
+the isolated muons are tracked. All these examinations are applied in
+ExN04StackingAction.
+  	
+5. How to start
+ 
+- compile and link to generate an executable
+	% cd N04
+	% gmake
+	
+- execute N04 in 'batch' mode from macro files
+	% exampleN04   exampleN04.in
+ 		
+- execute N04 in 'interactive mode' with visualization
+	% exampleN04
+	....
+	Idle> type your commands. For instance:
+	Idle> /run/beamOn 3
+	....
+	Idle> exit
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/exampleN04.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/exampleN04.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/exampleN04.cc	(revision 901)
@@ -0,0 +1,137 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN04.cc,v 1.16 2007/07/02 13:28:34 vnivanch Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+#include "G4UIterminal.hh"
+#include "G4UItcsh.hh"
+
+#include "ExN04DetectorConstruction.hh"
+#include "QGSP.hh"
+#include "ExN04PrimaryGeneratorAction.hh"
+#include "ExN04RunAction.hh"
+#include "ExN04EventAction.hh"
+#include "ExN04StackingAction.hh"
+#include "ExN04TrackingAction.hh"
+#include "ExN04SteppingAction.hh"
+#include "ExN04SteppingVerbose.hh"
+
+#ifdef G4VIS_USE
+#include "G4VisExecutive.hh"
+#endif
+
+int main(int argc,char** argv)
+{
+  // User Verbose output class
+  //
+  G4VSteppingVerbose* verbosity = new ExN04SteppingVerbose;
+  G4VSteppingVerbose::SetInstance(verbosity);
+  
+  // Run manager
+  //
+  G4RunManager* runManager = new G4RunManager;
+
+  // User Initialization classes (mandatory)
+  //
+  G4VUserDetectorConstruction* detector = new ExN04DetectorConstruction;
+  runManager->SetUserInitialization(detector);
+  //
+  G4VUserPhysicsList* physics = new QGSP;
+  runManager->SetUserInitialization(physics);
+
+  runManager->Initialize();
+
+  // User Action classes
+  //
+  G4VUserPrimaryGeneratorAction* gen_action = new ExN04PrimaryGeneratorAction;
+  runManager->SetUserAction(gen_action);
+  //
+  G4UserRunAction* run_action = new ExN04RunAction;
+  runManager->SetUserAction(run_action);
+  //
+  G4UserEventAction* event_action = new ExN04EventAction;
+  runManager->SetUserAction(event_action);
+  //
+  G4UserStackingAction* stacking_action = new ExN04StackingAction;
+  runManager->SetUserAction(stacking_action);
+  //
+  G4UserTrackingAction* tracking_action = new ExN04TrackingAction;
+  runManager->SetUserAction(tracking_action);
+  //
+  G4UserSteppingAction* stepping_action = new ExN04SteppingAction;
+  runManager->SetUserAction(stepping_action);
+  
+  //get the pointer to the User Interface manager   
+  G4UImanager* UI = G4UImanager::GetUIpointer();  
+
+  if (argc!=1)   // batch mode  
+    {
+     G4String command = "/control/execute ";
+     G4String fileName = argv[1];
+     UI->ApplyCommand(command+fileName);
+    }
+    
+  else           // interactive mode : define visualization and UI terminal
+    { 
+#ifdef G4VIS_USE
+      G4VisManager* visManager = new G4VisExecutive;
+      visManager->Initialize();
+#endif    
+     
+      G4UIsession * session = 0;
+#ifdef G4UI_USE_TCSH
+      session = new G4UIterminal(new G4UItcsh);      
+#else
+      session = new G4UIterminal();
+#endif
+
+      UI->ApplyCommand("/control/execute vis.mac");     
+      session->SessionStart();
+      delete session;
+     
+#ifdef G4VIS_USE
+      delete visManager;
+#endif     
+    }
+    
+  // Job termination
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+  delete runManager;
+  delete verbosity;
+
+  return 0;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterHit.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterHit.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterHit.hh	(revision 901)
@@ -0,0 +1,113 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04CalorimeterHit_h
+#define ExN04CalorimeterHit_h 1
+
+#include "G4VHit.hh"
+#include "G4THitsCollection.hh"
+#include "G4Allocator.hh"
+#include "G4ThreeVector.hh"
+#include "G4LogicalVolume.hh"
+#include "G4Transform3D.hh"
+#include "G4RotationMatrix.hh"
+
+class G4AttDef;
+
+class ExN04CalorimeterHit : public G4VHit
+{
+  public:
+
+      ExN04CalorimeterHit();
+      ExN04CalorimeterHit(G4LogicalVolume* logVol,G4int z,G4int phi);
+      ~ExN04CalorimeterHit();
+      ExN04CalorimeterHit(const ExN04CalorimeterHit &right);
+      const ExN04CalorimeterHit& operator=(const ExN04CalorimeterHit &right);
+      G4int operator==(const ExN04CalorimeterHit &right) const;
+
+      inline void *operator new(size_t);
+      inline void operator delete(void *aHit);
+
+      void Draw();
+      const std::map<G4String,G4AttDef>* GetAttDefs() const;
+      std::vector<G4AttValue>* CreateAttValues() const;
+      void Print();
+
+  private:
+      G4int ZCellID;
+      G4int PhiCellID;
+      G4double edep;
+      G4ThreeVector pos;
+      G4RotationMatrix rot;
+      const G4LogicalVolume* pLogV;
+      static std::map<G4String,G4AttDef> fAttDefs;
+
+  public:
+      inline void SetCellID(G4int z,G4int phi)
+      {
+        ZCellID = z;
+        PhiCellID = phi;
+      }
+      inline G4int GetZ() { return ZCellID; }
+      inline G4int GetPhi() { return PhiCellID; }
+      inline void SetEdep(G4double de)
+      { edep = de; }
+      inline void AddEdep(G4double de)
+      { edep += de; }
+      inline G4double GetEdep()
+      { return edep; }
+      inline void SetPos(G4ThreeVector xyz)
+      { pos = xyz; }
+      inline G4ThreeVector GetPos()
+      { return pos; }
+      inline void SetRot(G4RotationMatrix rmat)
+      { rot = rmat; }
+      inline G4RotationMatrix GetRot()
+      { return rot; }
+      inline const G4LogicalVolume * GetLogV()
+      { return pLogV; }
+
+};
+
+typedef G4THitsCollection<ExN04CalorimeterHit> ExN04CalorimeterHitsCollection;
+
+extern G4Allocator<ExN04CalorimeterHit> ExN04CalorimeterHitAllocator;
+
+inline void* ExN04CalorimeterHit::operator new(size_t)
+{
+  void *aHit;
+  aHit = (void *) ExN04CalorimeterHitAllocator.MallocSingle();
+  return aHit;
+}
+
+inline void ExN04CalorimeterHit::operator delete(void *aHit)
+{
+  ExN04CalorimeterHitAllocator.FreeSingle((ExN04CalorimeterHit*) aHit);
+}
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterParametrisation.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterParametrisation.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterParametrisation.hh	(revision 901)
@@ -0,0 +1,81 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04CalorimeterParametrisation_H
+#define ExN04CalorimeterParametrisation_H 1
+
+#include "globals.hh"
+#include "G4VPVParameterisation.hh"
+
+class G4VPhysicalVolume;
+class G4Tubs;
+
+// Dummy declarations to get rid of warnings ...
+class G4Trd;
+class G4Trap;
+class G4Cons;
+class G4Orb;
+class G4Sphere;
+class G4Torus;
+class G4Para;
+class G4Hype;
+class G4Box;
+class G4Polycone;
+class G4Polyhedra;
+
+class ExN04CalorimeterParametrisation : public G4VPVParameterisation
+{ 
+  public:
+  
+    ExN04CalorimeterParametrisation();
+    virtual ~ExN04CalorimeterParametrisation();
+    void ComputeTransformation(const G4int copyNo,
+                                     G4VPhysicalVolume *physVol) const;
+    void ComputeDimensions(      G4Tubs & calorimeterLayer,
+                           const G4int copyNo,
+                           const G4VPhysicalVolume * physVol) const;
+
+  private:  // Dummy declarations to get rid of warnings ...
+
+    void ComputeDimensions (G4Trd&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Box&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {}
+
+  private:
+
+#include "ExN04DetectorParameterDef.hh"
+
+};
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterSD.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterSD.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04CalorimeterSD.hh	(revision 901)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04CalorimeterSD_h
+#define ExN04CalorimeterSD_h 1
+
+#include "G4VSensitiveDetector.hh"
+#include "ExN04CalorimeterHit.hh"
+class G4Step;
+class G4HCofThisEvent;
+class G4TouchableHistory;
+
+class ExN04CalorimeterSD : public G4VSensitiveDetector
+{
+
+  public:
+      ExN04CalorimeterSD(G4String name);
+      ~ExN04CalorimeterSD();
+
+      void Initialize(G4HCofThisEvent*HCE);
+      G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
+      void EndOfEvent(G4HCofThisEvent*HCE);
+      void clear();
+      void DrawAll();
+      void PrintAll();
+
+  private:
+      ExN04CalorimeterHitsCollection *CalCollection;
+      int CellID[20][48];
+      const int numberOfCellsInZ;
+      const int numberOfCellsInPhi;
+};
+
+
+
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,64 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04DetectorConstruction_h
+#define ExN04DetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class G4VPhysicalVolume;
+class G4Material;
+class G4Element;
+
+class ExN04DetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+    ExN04DetectorConstruction();
+    ~ExN04DetectorConstruction();
+
+  public:
+     G4VPhysicalVolume* Construct();
+
+  private:
+     void DefineMaterials();
+
+#include "ExN04DetectorParameterDef.hh"
+
+  G4Material* Air;
+  G4Material* Ar;
+  G4Material* Silicon;
+  G4Material* Scinti;
+  G4Material* Lead;
+
+  G4Element* H;
+  G4Element* C;
+  G4Element* N;
+  G4Element* O;
+};
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04EventAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04EventAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04EventAction.hh	(revision 901)
@@ -0,0 +1,51 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04EventAction_h
+#define ExN04EventAction_h 1
+
+#include "G4UserEventAction.hh"
+#include "globals.hh"
+
+class ExN04EventAction : public G4UserEventAction
+{
+  public:
+    ExN04EventAction();
+    ~ExN04EventAction();
+
+  public:
+    void BeginOfEventAction(const G4Event*);
+    void EndOfEventAction(const G4Event*);
+
+  private:
+    G4int trackerCollID;
+    G4int calorimeterCollID;
+    G4int muonCollID;
+};
+
+#endif
+
+    
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonHit.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonHit.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04MuonHit.hh	(revision 901)
@@ -0,0 +1,93 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04MuonHit_h
+#define ExN04MuonHit_h 1
+
+#include "G4VHit.hh"
+#include "G4THitsCollection.hh"
+#include "G4Allocator.hh"
+#include "G4ThreeVector.hh"
+
+class G4AttDef;
+
+class ExN04MuonHit : public G4VHit
+{
+  public:
+
+      ExN04MuonHit();
+      ~ExN04MuonHit();
+      ExN04MuonHit(const ExN04MuonHit &right);
+      const ExN04MuonHit& operator=(const ExN04MuonHit &right);
+      G4int operator==(const ExN04MuonHit &right) const;
+
+
+      inline void *operator new(size_t);
+      inline void operator delete(void *aHit);
+
+      void Draw();
+      const std::map<G4String,G4AttDef>* GetAttDefs() const;
+      std::vector<G4AttValue>* CreateAttValues() const;
+      void Print();
+
+  private:
+      G4double edep;
+      G4ThreeVector pos;
+      static std::map<G4String,G4AttDef> fAttDefs;
+
+  public:
+      inline void SetEdep(G4double de)
+      { edep = de; }
+      inline void AddEdep(G4double de)
+      { edep += de; }
+      inline G4double GetEdep()
+      { return edep; }
+      inline void SetPos(G4ThreeVector xyz)
+      { pos = xyz; }
+      inline G4ThreeVector GetPos()
+      { return pos; }
+
+};
+
+typedef G4THitsCollection<ExN04MuonHit> ExN04MuonHitsCollection;
+
+extern G4Allocator<ExN04MuonHit> ExN04MuonHitAllocator;
+
+inline void* ExN04MuonHit::operator new(size_t)
+{
+  void *aHit;
+  aHit = (void *) ExN04MuonHitAllocator.MallocSingle();
+  return aHit;
+}
+
+inline void ExN04MuonHit::operator delete(void *aHit)
+{
+  ExN04MuonHitAllocator.FreeSingle((ExN04MuonHit*) aHit);
+}
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04PrimaryGeneratorAction_h
+#define ExN04PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "globals.hh"
+
+class G4VPrimaryGenerator;
+class G4Event;
+class ExN04PrimaryGeneratorMessenger;
+
+class ExN04PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN04PrimaryGeneratorAction();
+    ~ExN04PrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event* anEvent);
+
+  private:
+    G4VPrimaryGenerator* HEPEvt;
+    G4VPrimaryGenerator* particleGun;
+    ExN04PrimaryGeneratorMessenger* messenger;
+    G4bool useHEPEvt;
+
+  public:
+    inline void SetHEPEvtGenerator(G4bool f)
+    { useHEPEvt = f; }
+    inline G4bool GetHEPEvtGenerator()
+    { return useHEPEvt; }
+};
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingAction.hh	(revision 901)
@@ -0,0 +1,77 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04StackingAction_H
+#define ExN04StackingAction_H 1
+
+#include "globals.hh"
+#include "G4UserStackingAction.hh"
+#include "G4ThreeVector.hh"
+
+class G4Track;
+
+#include "ExN04TrackerHit.hh"
+#include "ExN04MuonHit.hh"
+class ExN04StackingActionMessenger;
+
+class ExN04StackingAction : public G4UserStackingAction
+{
+  public:
+    ExN04StackingAction();
+    virtual ~ExN04StackingAction();
+
+  public:
+    virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
+    virtual void NewStage();
+    virtual void PrepareNewEvent();
+
+  private:
+    G4bool InsideRoI(const G4Track * aTrack,G4double ang);
+    G4VHitsCollection* GetCollection(G4String colName);
+    
+    ExN04TrackerHitsCollection* trkHits;
+    ExN04MuonHitsCollection* muonHits;
+    ExN04StackingActionMessenger* theMessenger;
+
+    G4int stage;
+    G4int reqMuon;
+    G4int reqIsoMuon;
+    G4int reqIso;
+    G4double angRoI;
+  
+  public:
+    inline void SetNRequestMuon(G4int val) { reqMuon = val; }
+    inline G4int GetNRequestMuon() const { return reqMuon; }
+    inline void SetNRequestIsoMuon(G4int val) { reqIsoMuon = val; }
+    inline G4int GetNRequestIsoMuon() const { return reqIsoMuon; }
+    inline void SetNIsolation(G4int val) { reqIso = val; }
+    inline G4int GetNIsolation() const { return reqIso; }
+    inline void SetRoIAngle(G4double val) { angRoI = val; }
+    inline G4double GetRoIAngle() const { return angRoI; }
+};
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingActionMessenger.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingActionMessenger.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04StackingActionMessenger.hh	(revision 901)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04StackingActionMessenger_h
+#define ExN04StackingActionMessenger_h 1
+
+class ExN04StackingAction;
+class G4UIcmdWithAnInteger;
+class G4UIcmdWithADoubleAndUnit;
+
+#include "G4UImessenger.hh"
+#include "globals.hh"
+
+class ExN04StackingActionMessenger: public G4UImessenger
+{
+  public:
+    ExN04StackingActionMessenger(ExN04StackingAction* msa);
+    ~ExN04StackingActionMessenger();
+    
+  public:
+    void SetNewValue(G4UIcommand * command,G4String newValues);
+    G4String GetCurrentValue(G4UIcommand * command);
+
+  private:
+    ExN04StackingAction * myAction;
+    
+  private: //commands
+    G4UIcmdWithAnInteger * muonCmd;
+    G4UIcmdWithAnInteger * isomuonCmd;
+    G4UIcmdWithAnInteger * isoCmd;
+    G4UIcmdWithADoubleAndUnit * roiCmd;
+    
+};
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerHit.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerHit.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerHit.hh	(revision 901)
@@ -0,0 +1,88 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04TrackerHit_h
+#define ExN04TrackerHit_h 1
+
+#include "G4VHit.hh"
+#include "G4THitsCollection.hh"
+#include "G4Allocator.hh"
+#include "G4ThreeVector.hh"
+
+class G4AttDef;
+
+class ExN04TrackerHit : public G4VHit
+{
+  public:
+
+      ExN04TrackerHit();
+      ~ExN04TrackerHit();
+      ExN04TrackerHit(const ExN04TrackerHit &right);
+      const ExN04TrackerHit& operator=(const ExN04TrackerHit &right);
+      G4int operator==(const ExN04TrackerHit &right) const;
+
+      inline void *operator new(size_t);
+      inline void operator delete(void *aHit);
+
+      void Draw();
+      const std::map<G4String,G4AttDef>* GetAttDefs() const;
+      std::vector<G4AttValue>* CreateAttValues() const;
+      void Print();
+
+  private:
+      G4double edep;
+      G4ThreeVector pos;
+      static std::map<G4String,G4AttDef> fAttDefs;
+
+  public:
+      inline void SetEdep(G4double de)
+      { edep = de; }
+      inline G4double GetEdep()
+      { return edep; }
+      inline void SetPos(G4ThreeVector xyz)
+      { pos = xyz; }
+      inline G4ThreeVector GetPos()
+      { return pos; }
+
+};
+
+typedef G4THitsCollection<ExN04TrackerHit> ExN04TrackerHitsCollection;
+
+extern G4Allocator<ExN04TrackerHit> ExN04TrackerHitAllocator;
+
+inline void* ExN04TrackerHit::operator new(size_t)
+{
+  void *aHit;
+  aHit = (void *) ExN04TrackerHitAllocator.MallocSingle();
+  return aHit;
+}
+
+inline void ExN04TrackerHit::operator delete(void *aHit)
+{
+  ExN04TrackerHitAllocator.FreeSingle((ExN04TrackerHit*) aHit);
+}
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerParametrisation.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerParametrisation.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerParametrisation.hh	(revision 901)
@@ -0,0 +1,81 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04TrackerParametrisation_H
+#define ExN04TrackerParametrisation_H 1
+
+#include "globals.hh"
+#include "G4VPVParameterisation.hh"
+
+class G4VPhysicalVolume;
+class G4Tubs;
+
+// Dummy declarations to get rid of warnings ...
+class G4Trd;
+class G4Trap;
+class G4Cons;
+class G4Orb;
+class G4Sphere;
+class G4Torus;
+class G4Para;
+class G4Hype;
+class G4Box;
+class G4Polycone;
+class G4Polyhedra;
+
+class ExN04TrackerParametrisation : public G4VPVParameterisation
+{ 
+  public:
+  
+    ExN04TrackerParametrisation();
+    virtual ~ExN04TrackerParametrisation();
+    void ComputeTransformation(const G4int copyNo,
+                                     G4VPhysicalVolume *physVol) const;
+    void ComputeDimensions(      G4Tubs & trackerLayer,
+                           const G4int copyNo,
+                           const G4VPhysicalVolume * physVol) const;
+
+  private:  // Dummy declarations to get rid of warnings ...
+
+    void ComputeDimensions (G4Trd&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Trap&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Cons&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Orb&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Sphere&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Torus&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Para&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Hype&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Box&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Polycone&,const G4int,const G4VPhysicalVolume*) const {}
+    void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {}
+
+  private:
+
+#include "ExN04DetectorParameterDef.hh"
+
+};
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerSD.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerSD.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackerSD.hh	(revision 901)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04TrackerSD_h
+#define ExN04TrackerSD_h 1
+
+#include "G4VSensitiveDetector.hh"
+#include "ExN04TrackerHit.hh"
+class G4Step;
+class G4HCofThisEvent;
+class G4TouchableHistory;
+
+class ExN04TrackerSD : public G4VSensitiveDetector
+{
+
+  public:
+      ExN04TrackerSD(G4String name);
+      ~ExN04TrackerSD();
+
+      void Initialize(G4HCofThisEvent*HCE);
+      G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
+      void EndOfEvent(G4HCofThisEvent*HCE);
+      void clear();
+      void DrawAll();
+      void PrintAll();
+
+  private:
+      ExN04TrackerHitsCollection *trackerCollection;
+
+  public:
+};
+
+
+
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackingAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackingAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/include/ExN04TrackingAction.hh	(revision 901)
@@ -0,0 +1,43 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#ifndef ExN04TrackingAction_h
+#define ExN04TrackingAction_h 1
+
+#include "G4UserTrackingAction.hh"
+
+
+class ExN04TrackingAction : public G4UserTrackingAction {
+
+  public:
+    ExN04TrackingAction(){};
+    virtual ~ExN04TrackingAction(){};
+   
+    virtual void PreUserTrackingAction(const G4Track*);
+
+};
+
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterHit.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterHit.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterHit.cc	(revision 901)
@@ -0,0 +1,129 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04CalorimeterHit.hh"
+#include "G4ios.hh"
+#include "G4VVisManager.hh"
+#include "G4Colour.hh"
+#include "G4VisAttributes.hh"
+#include "G4LogicalVolume.hh"
+#include "G4UIcommand.hh"
+#include "G4UnitsTable.hh"
+#include "G4AttValue.hh"
+#include "G4AttDef.hh"
+#include "G4AttCheck.hh"
+
+G4Allocator<ExN04CalorimeterHit> ExN04CalorimeterHitAllocator;
+
+ExN04CalorimeterHit::ExN04CalorimeterHit()
+{pLogV=0;}
+
+ExN04CalorimeterHit::ExN04CalorimeterHit(G4LogicalVolume* logVol,G4int z,G4int phi)
+: ZCellID(z), PhiCellID(phi), pLogV(logVol)
+{;}
+
+ExN04CalorimeterHit::~ExN04CalorimeterHit()
+{;}
+
+ExN04CalorimeterHit::ExN04CalorimeterHit(const ExN04CalorimeterHit &right)
+  : G4VHit()
+{
+  ZCellID = right.ZCellID;
+  PhiCellID = right.PhiCellID;
+  edep = right.edep;
+  pos = right.pos;
+  rot = right.rot;
+  pLogV = right.pLogV;
+}
+
+const ExN04CalorimeterHit& ExN04CalorimeterHit::operator=(const ExN04CalorimeterHit &right)
+{
+  ZCellID = right.ZCellID;
+  PhiCellID = right.PhiCellID;
+  edep = right.edep;
+  pos = right.pos;
+  rot = right.rot;
+  pLogV = right.pLogV;
+  return *this;
+}
+
+G4int ExN04CalorimeterHit::operator==(const ExN04CalorimeterHit &right) const
+{
+  return ((ZCellID==right.ZCellID)&&(PhiCellID==right.PhiCellID));
+}
+
+std::map<G4String,G4AttDef> ExN04CalorimeterHit::fAttDefs;
+
+void ExN04CalorimeterHit::Draw()
+{
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if(pVVisManager)
+  {
+    G4Transform3D trans(rot,pos);
+    G4VisAttributes attribs;
+    const G4VisAttributes* pVA = pLogV->GetVisAttributes();
+    if(pVA) attribs = *pVA;
+    G4Colour colour(1.,0.,0.);
+    attribs.SetColour(colour);
+    attribs.SetForceSolid(true);
+    pVVisManager->Draw(*pLogV,attribs,trans);
+  }
+}
+
+const std::map<G4String,G4AttDef>* ExN04CalorimeterHit::GetAttDefs() const
+{
+  // G4AttDefs have to have long life.  Use static member...
+  if (fAttDefs.empty()) {
+    fAttDefs["HitType"] =
+      G4AttDef("HitType","Type of hit","Physics","","G4String");
+    fAttDefs["ZID"] = G4AttDef("ZID","Z Cell ID","Physics","","G4int");
+    fAttDefs["PhiID"] = G4AttDef("PhiID","Phi Cell ID","Physics","","G4int");
+    fAttDefs["EDep"] =
+      G4AttDef("EDep","Energy deposited","Physics","G4BestUnit","G4double");
+  }
+  return &fAttDefs;
+}
+
+std::vector<G4AttValue>* ExN04CalorimeterHit::CreateAttValues() const
+{
+  // Create expendable G4AttsValues for picking...
+  std::vector<G4AttValue>* attValues = new std::vector<G4AttValue>;
+  attValues->push_back
+    (G4AttValue("HitType","ExN04CalorimeterHit",""));
+  attValues->push_back
+    (G4AttValue("ZID",G4UIcommand::ConvertToString(ZCellID),""));
+  attValues->push_back
+    (G4AttValue("PhiID",G4UIcommand::ConvertToString(PhiCellID),""));
+  attValues->push_back
+    (G4AttValue("EDep",G4BestUnit(edep,"Energy"),""));
+  //G4cout << "Checking...\n" << G4AttCheck(attValues, GetAttDefs());
+  return attValues;
+}
+
+void ExN04CalorimeterHit::Print()
+{;}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterParametrisation.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterParametrisation.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterParametrisation.cc	(revision 901)
@@ -0,0 +1,58 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04CalorimeterParametrisation.hh"
+
+#include "G4VPhysicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4Tubs.hh"
+
+ExN04CalorimeterParametrisation::ExN04CalorimeterParametrisation()
+{
+#include "ExN04DetectorParameterDef.icc"
+}
+
+ExN04CalorimeterParametrisation::~ExN04CalorimeterParametrisation()
+{;}
+
+void ExN04CalorimeterParametrisation::ComputeTransformation
+(const G4int,G4VPhysicalVolume *physVol) const
+{
+  G4ThreeVector origin;
+  physVol->SetTranslation(origin);
+}
+
+void ExN04CalorimeterParametrisation::ComputeDimensions
+(G4Tubs & calorimeterLayer, const G4int copyNo, const G4VPhysicalVolume*) const
+{
+  G4double innerRad = caloTubs_rmin
+              + copyNo*(absorber_thick+scinti_thick);
+  calorimeterLayer.SetInnerRadius(innerRad);
+  calorimeterLayer.SetOuterRadius(innerRad+absorber_thick);
+  calorimeterLayer.SetZHalfLength(caloTubs_dz);
+  calorimeterLayer.SetStartPhiAngle(caloTubs_sphi);
+  calorimeterLayer.SetDeltaPhiAngle(caloTubs_dphi);
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterSD.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterSD.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04CalorimeterSD.cc	(revision 901)
@@ -0,0 +1,120 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04CalorimeterSD.hh"
+#include "ExN04CalorimeterHit.hh"
+#include "G4VPhysicalVolume.hh"
+#include "G4LogicalVolume.hh"
+#include "G4Track.hh"
+#include "G4Step.hh"
+#include "G4ParticleDefinition.hh"
+#include "G4VTouchable.hh"
+#include "G4TouchableHistory.hh"
+#include "G4ios.hh"
+
+ExN04CalorimeterSD::ExN04CalorimeterSD(G4String name)
+:G4VSensitiveDetector(name),
+ numberOfCellsInZ(20),numberOfCellsInPhi(48)
+{
+  G4String HCname;
+  collectionName.insert(HCname="calCollection");
+}
+
+ExN04CalorimeterSD::~ExN04CalorimeterSD()
+{;}
+
+void ExN04CalorimeterSD::Initialize(G4HCofThisEvent*)
+{
+  CalCollection = new ExN04CalorimeterHitsCollection
+                      (SensitiveDetectorName,collectionName[0]); 
+  for(G4int j=0;j<numberOfCellsInZ;j++)
+  for(G4int k=0;k<numberOfCellsInPhi;k++)
+  {
+    CellID[j][k] = -1;
+  }
+  verboseLevel = 0;
+}
+
+G4bool ExN04CalorimeterSD::ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist)
+{
+  if(!ROhist) return false;
+  G4double edep = aStep->GetTotalEnergyDeposit();
+  if(verboseLevel>1) G4cout << "Next step edep(MeV) = " << edep/MeV << G4endl;
+  if(edep==0.) return false;
+
+  G4VPhysicalVolume* physVol = ROhist->GetVolume();
+  //ROhist->MoveUpHistory();
+  //G4VPhysicalVolume* mothVol = ROhist->GetVolume(1);
+  G4int copyIDinZ = ROhist->GetReplicaNumber();
+  G4int copyIDinPhi = ROhist->GetReplicaNumber(1);
+
+  if(CellID[copyIDinZ][copyIDinPhi]==-1)
+  {
+    ExN04CalorimeterHit* calHit
+      = new ExN04CalorimeterHit
+            (physVol->GetLogicalVolume(),copyIDinZ,copyIDinPhi);
+    calHit->SetEdep( edep );
+    G4AffineTransform aTrans = ROhist->GetHistory()->GetTopTransform();
+    aTrans.Invert();
+    calHit->SetPos(aTrans.NetTranslation());
+    calHit->SetRot(aTrans.NetRotation());
+    G4int icell = CalCollection->insert( calHit );
+    CellID[copyIDinZ][copyIDinPhi] = icell - 1;
+    if(verboseLevel>0)
+    { G4cout << " New Calorimeter Hit on CellID " 
+           << copyIDinZ << " " << copyIDinPhi << G4endl; }
+  }
+  else
+  { 
+    (*CalCollection)[CellID[copyIDinZ][copyIDinPhi]]->AddEdep(edep);
+    if(verboseLevel>0)
+    { G4cout << " Energy added to CellID " 
+           << copyIDinZ << " " << copyIDinPhi << G4endl; }
+  }
+
+  return true;
+}
+
+void ExN04CalorimeterSD::EndOfEvent(G4HCofThisEvent*HCE)
+{
+  static G4int HCID = -1;
+  if(HCID<0)
+  { HCID = GetCollectionID(0); }
+  HCE->AddHitsCollection( HCID, CalCollection );
+}
+
+void ExN04CalorimeterSD::clear()
+{
+} 
+
+void ExN04CalorimeterSD::DrawAll()
+{
+} 
+
+void ExN04CalorimeterSD::PrintAll()
+{
+} 
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,264 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04DetectorConstruction.hh"
+#include "ExN04TrackerSD.hh"
+#include "ExN04CalorimeterSD.hh"
+#include "ExN04CalorimeterROGeometry.hh"
+#include "ExN04MuonSD.hh"
+#include "ExN04TrackerParametrisation.hh"
+#include "ExN04CalorimeterParametrisation.hh"
+#include "ExN04Field.hh"
+
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+#include "G4Element.hh"
+#include "G4ElementTable.hh"
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4LogicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4PVPlacement.hh"
+#include "G4PVParameterised.hh"
+#include "G4Transform3D.hh"
+#include "G4RotationMatrix.hh"
+#include "G4FieldManager.hh"
+#include "G4TransportationManager.hh"
+#include "G4SDManager.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+
+ExN04DetectorConstruction::ExN04DetectorConstruction()
+{
+
+#include "ExN04DetectorParameterDef.icc"
+  DefineMaterials();
+
+}
+
+ExN04DetectorConstruction::~ExN04DetectorConstruction()
+{
+  delete Scinti;
+  delete Silicon;
+  delete Ar;
+  delete Lead;
+  delete Air;
+
+  delete O;
+  delete N;
+  delete C;
+  delete H;
+}
+
+void ExN04DetectorConstruction::DefineMaterials()
+{
+  //-------------------------------------------------------------------------
+  // Materials
+  //-------------------------------------------------------------------------
+
+  G4double a, z, density;
+  G4int nel;
+
+  H = new G4Element("Hydrogen", "H", z=1., a=  1.01*g/mole);
+  C = new G4Element("Carbon",   "C", z=6., a= 12.01*g/mole);
+  N = new G4Element("Nitrogen", "N", z=7., a= 14.01*g/mole);
+  O = new G4Element("Oxygen",   "O", z=8., a= 16.00*g/mole);
+
+  Air = new G4Material("Air", density= 1.29*mg/cm3, nel=2);
+  Air->AddElement(N, 70.*perCent);
+  Air->AddElement(O, 30.*perCent);
+
+  Lead = 
+  new G4Material("Lead", z=82., a= 207.19*g/mole, density= 11.35*g/cm3);
+
+  Ar = 
+  new G4Material("ArgonGas",z=18., a= 39.95*g/mole, density=1.782*mg/cm3);
+
+  Silicon = 
+  new G4Material("Silicon", z=14., a= 28.09*g/mole, density= 2.33*g/cm3);
+
+  Scinti = new G4Material("Scintillator", density= 1.032*g/cm3, nel=2);
+  Scinti->AddElement(C, 9);
+  Scinti->AddElement(H, 10);
+}
+
+G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
+{
+  //-------------------------------------------------------------------------
+  // Magnetic field
+  //-------------------------------------------------------------------------
+
+  static G4bool fieldIsInitialized = false;
+  if(!fieldIsInitialized)
+  {
+    ExN04Field* myField = new ExN04Field;
+    G4FieldManager* fieldMgr
+      = G4TransportationManager::GetTransportationManager()
+        ->GetFieldManager();
+    fieldMgr->SetDetectorField(myField);
+    fieldMgr->CreateChordFinder(myField);
+    fieldIsInitialized = true;
+  }
+
+
+  //-------------------------------------------------------------------------
+  // Detector geometry
+  //-------------------------------------------------------------------------
+
+  //------------------------------ experimental hall
+  G4Box * experimentalHall_box
+    = new G4Box("expHall_b",expHall_x,expHall_y,expHall_z);
+  G4LogicalVolume * experimentalHall_log
+    = new G4LogicalVolume(experimentalHall_box,Air,"expHall_L",0,0,0);
+  G4VPhysicalVolume * experimentalHall_phys
+    = new G4PVPlacement(0,G4ThreeVector(),experimentalHall_log,"expHall_P",
+                        0,false,0);
+  experimentalHall_log->SetVisAttributes(G4VisAttributes::GetInvisible());
+
+  //------------------------------ tracker
+  G4VSolid * tracker_tubs
+    = new G4Tubs("trkTubs_tubs",trkTubs_rmin,trkTubs_rmax,trkTubs_dz,
+                 trkTubs_sphi,trkTubs_dphi);
+  G4LogicalVolume * tracker_log
+    = new G4LogicalVolume(tracker_tubs,Ar,"trackerT_L",0,0,0);
+  // G4VPhysicalVolume * tracker_phys =
+      new G4PVPlacement(0,G4ThreeVector(),tracker_log,"tracker_phys",
+			experimentalHall_log,false,0);
+  G4VisAttributes* tracker_logVisAtt
+    = new G4VisAttributes(G4Colour(1.0,0.0,1.0));
+  tracker_log->SetVisAttributes(tracker_logVisAtt);
+
+  //------------------------------ tracker layers
+  // As an example for Parameterised volume 
+  // dummy values for G4Tubs -- modified by parameterised volume
+  G4VSolid * trackerLayer_tubs
+    = new G4Tubs("trackerLayer_tubs",trkTubs_rmin,trkTubs_rmax,trkTubs_dz,
+                 trkTubs_sphi,trkTubs_dphi);
+  G4LogicalVolume * trackerLayer_log
+    = new G4LogicalVolume(trackerLayer_tubs,Silicon,"trackerB_L",0,0,0);
+  G4VPVParameterisation * trackerParam
+    = new ExN04TrackerParametrisation;
+  // dummy value : kXAxis -- modified by parameterised volume
+  // G4VPhysicalVolume *trackerLayer_phys =
+      new G4PVParameterised("trackerLayer_phys",trackerLayer_log,tracker_log,
+			   kXAxis, notrkLayers, trackerParam);
+  G4VisAttributes* trackerLayer_logVisAtt
+    = new G4VisAttributes(G4Colour(0.5,0.0,1.0));
+  trackerLayer_logVisAtt->SetForceWireframe(true);
+  trackerLayer_log->SetVisAttributes(trackerLayer_logVisAtt);
+
+  //------------------------------ calorimeter
+  G4VSolid * calorimeter_tubs
+    = new G4Tubs("calorimeter_tubs",caloTubs_rmin,caloTubs_rmax,
+		  caloTubs_dz,caloTubs_sphi,caloTubs_dphi);
+  G4LogicalVolume * calorimeter_log
+    = new G4LogicalVolume(calorimeter_tubs,Scinti,"caloT_L",0,0,0);
+  // G4VPhysicalVolume * calorimeter_phys =
+      new G4PVPlacement(0,G4ThreeVector(),calorimeter_log,"caloM_P",
+			experimentalHall_log,false,0);
+  G4VisAttributes* calorimeter_logVisATT
+    = new G4VisAttributes(G4Colour(1.0,1.0,0.0));
+  calorimeter_logVisATT->SetForceWireframe(true);
+  calorimeter_log->SetVisAttributes(calorimeter_logVisATT);
+
+  //------------------------------- Lead layers
+  // As an example for Parameterised volume 
+  // dummy values for G4Tubs -- modified by parameterised volume
+  G4VSolid * caloLayer_tubs
+    = new G4Tubs("caloLayer_tubs",caloRing_rmin,caloRing_rmax,
+		  caloRing_dz,caloRing_sphi,caloRing_dphi);
+  G4LogicalVolume * caloLayer_log
+    = new G4LogicalVolume(caloLayer_tubs,Lead,"caloR_L",0,0,0);
+  G4VPVParameterisation * calorimeterParam
+    = new ExN04CalorimeterParametrisation;
+  // dummy value : kXAxis -- modified by parameterised volume
+  // G4VPhysicalVolume * caloLayer_phys =
+      new G4PVParameterised("caloLayer_phys",caloLayer_log,calorimeter_log,
+			   kXAxis, nocaloLayers, calorimeterParam);
+  G4VisAttributes* caloLayer_logVisAtt
+    = new G4VisAttributes(G4Colour(0.7,1.0,0.0));
+  caloLayer_log->SetVisAttributes(caloLayer_logVisAtt);
+
+  //------------------------------ muon counters
+  // As an example of CSG volumes with rotation
+  G4VSolid * muoncounter_box
+    = new G4Box("muoncounter_box",muBox_width,muBox_thick,
+		muBox_length);
+  G4LogicalVolume * muoncounter_log
+    = new G4LogicalVolume(muoncounter_box,Scinti,"mucounter_L",0,0,0);
+  G4VPhysicalVolume * muoncounter_phys;
+  for(int i=0; i<nomucounter ; i++)
+  {
+    G4double phi, x, y, z;
+    phi = 360.*deg/nomucounter*i;
+    x = muBox_radius*std::sin(phi);
+    y = muBox_radius*std::cos(phi);
+    z = 0.*cm;
+    G4RotationMatrix rm;
+    rm.rotateZ(phi);
+    muoncounter_phys
+      = new G4PVPlacement(G4Transform3D(rm,G4ThreeVector(x,y,z)),
+                          muoncounter_log, "muoncounter_P",
+                          experimentalHall_log,false,i);
+  }
+  G4VisAttributes* muoncounter_logVisAtt
+    = new G4VisAttributes(G4Colour(0.0,1.0,1.0));
+  muoncounter_logVisAtt->SetForceWireframe(true);
+  muoncounter_log->SetVisAttributes(muoncounter_logVisAtt);
+
+  //------------------------------------------------------------------
+  // Sensitive Detector
+  //------------------------------------------------------------------
+
+  G4SDManager* SDman = G4SDManager::GetSDMpointer();
+
+  G4String trackerSDname = "/mydet/tracker";
+  ExN04TrackerSD * trackerSD = new ExN04TrackerSD(trackerSDname);
+  SDman->AddNewDetector(trackerSD);
+  trackerLayer_log->SetSensitiveDetector(trackerSD);
+
+  G4String calorimeterSDname = "/mydet/calorimeter";
+  ExN04CalorimeterSD * calorimeterSD = new ExN04CalorimeterSD(calorimeterSDname);
+  G4String ROgeometryName = "CalorimeterROGeom";
+  G4VReadOutGeometry* calRO = new ExN04CalorimeterROGeometry(ROgeometryName);
+  calRO->BuildROGeometry();
+  calRO->SetName(ROgeometryName);
+  calorimeterSD->SetROgeometry(calRO);
+  SDman->AddNewDetector(calorimeterSD);
+  calorimeter_log->SetSensitiveDetector(calorimeterSD);
+
+  G4String muonSDname = "/mydet/muon";
+  ExN04MuonSD * muonSD = new ExN04MuonSD(muonSDname);
+  SDman->AddNewDetector(muonSD);
+  muoncounter_log->SetSensitiveDetector(muonSD);
+
+  //------------------------------------------------------------------
+  // Digitizer modules
+  //------------------------------------------------------------------
+
+  return experimentalHall_phys;
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04EventAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04EventAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04EventAction.cc	(revision 901)
@@ -0,0 +1,107 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04EventAction.hh"
+
+#include "ExN04TrackerHit.hh"
+#include "ExN04CalorimeterHit.hh"
+#include "ExN04MuonHit.hh"
+
+#include "G4Event.hh"
+#include "G4EventManager.hh"
+#include "G4HCofThisEvent.hh"
+#include "G4VHitsCollection.hh"
+#include "G4TrajectoryContainer.hh"
+#include "G4Trajectory.hh"
+#include "G4VVisManager.hh"
+#include "G4SDManager.hh"
+#include "G4UImanager.hh"
+#include "G4ios.hh"
+
+ExN04EventAction::ExN04EventAction()
+{
+  trackerCollID = -1;
+  calorimeterCollID = -1;
+  muonCollID = -1;
+}
+
+ExN04EventAction::~ExN04EventAction()
+{;}
+
+void ExN04EventAction::BeginOfEventAction(const G4Event*)
+{
+  G4SDManager * SDman = G4SDManager::GetSDMpointer();
+  if(trackerCollID<0||calorimeterCollID<0||muonCollID<0)
+  {
+    G4String colNam;
+    trackerCollID = SDman->GetCollectionID(colNam="trackerCollection");
+    calorimeterCollID = SDman->GetCollectionID(colNam="calCollection");
+    muonCollID = SDman->GetCollectionID(colNam="muonCollection");
+  }
+}
+
+void ExN04EventAction::EndOfEventAction(const G4Event* evt)
+{
+  G4cout << ">>> Event " << evt->GetEventID() << G4endl;
+  
+  if(trackerCollID<0||calorimeterCollID<0||muonCollID<0) return;
+
+  G4HCofThisEvent * HCE = evt->GetHCofThisEvent();
+  ExN04TrackerHitsCollection* THC = 0;
+  ExN04CalorimeterHitsCollection* CHC = 0;
+  ExN04MuonHitsCollection* MHC = 0;
+  if(HCE)
+  {
+    THC = (ExN04TrackerHitsCollection*)(HCE->GetHC(trackerCollID));
+    CHC = (ExN04CalorimeterHitsCollection*)(HCE->GetHC(calorimeterCollID));
+    MHC = (ExN04MuonHitsCollection*)(HCE->GetHC(muonCollID));
+  }
+
+  if(THC)
+  {
+    int n_hit = THC->entries();
+    G4cout << "     " << n_hit
+         << " hits are stored in ExN04TrackerHitsCollection." << G4endl;
+  }
+  if(CHC)
+  {
+    int n_hit = CHC->entries();
+    G4cout << "     " << n_hit
+         << " hits are stored in ExN04CalorimeterHitsCollection." << G4endl;
+    G4double totE = 0;
+    for(int i=0;i<n_hit;i++)
+    { totE += (*CHC)[i]->GetEdep(); }
+    G4cout << "     Total energy deposition in calorimeter : "
+         << totE / GeV << " (GeV)" << G4endl;
+  }
+  if(MHC)
+  {
+    int n_hit = MHC->entries();
+    G4cout << "     " << n_hit
+         << " hits are stored in ExN04MuonHitsCollection." << G4endl;
+  }
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonHit.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonHit.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04MuonHit.cc	(revision 901)
@@ -0,0 +1,104 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04MuonHit.hh"
+#include "G4VVisManager.hh"
+#include "G4Circle.hh"
+#include "G4Colour.hh"
+#include "G4VisAttributes.hh"
+#include "G4UnitsTable.hh"
+#include "G4AttValue.hh"
+#include "G4AttDef.hh"
+#include "G4AttCheck.hh"
+
+G4Allocator<ExN04MuonHit> ExN04MuonHitAllocator;
+
+ExN04MuonHit::ExN04MuonHit()
+{;}
+
+ExN04MuonHit::~ExN04MuonHit()
+{;}
+
+ExN04MuonHit::ExN04MuonHit(const ExN04MuonHit &right)
+  : G4VHit()
+{
+  edep = right.edep;
+  pos = right.pos;
+}
+
+const ExN04MuonHit& ExN04MuonHit::operator=(const ExN04MuonHit &right)
+{
+  edep = right.edep;
+  pos = right.pos;
+  return *this;
+}
+
+G4int ExN04MuonHit::operator==(const ExN04MuonHit &right) const
+{
+  return (this==&right) ? 1 : 0;
+}
+
+std::map<G4String,G4AttDef> ExN04MuonHit::fAttDefs;
+
+void ExN04MuonHit::Draw()
+{
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if(pVVisManager)
+  {
+    G4Circle circle(pos);
+    circle.SetScreenSize(0.04);
+    circle.SetFillStyle(G4Circle::filled);
+    G4Colour colour(1.,0.,0.);
+    G4VisAttributes attribs(colour);
+    circle.SetVisAttributes(attribs);
+    pVVisManager->Draw(circle);
+  }
+}
+
+const std::map<G4String,G4AttDef>* ExN04MuonHit::GetAttDefs() const
+{
+  // G4AttDefs have to have long life.  Use static member...
+  if (fAttDefs.empty()) {
+    fAttDefs["HitType"] =
+      G4AttDef("HitType","Type of hit","Physics","","G4String");
+  }
+  return &fAttDefs;
+}
+
+std::vector<G4AttValue>* ExN04MuonHit::CreateAttValues() const
+{
+  // Create expendable G4AttsValues for picking...
+  std::vector<G4AttValue>* attValues = new std::vector<G4AttValue>;
+  attValues->push_back
+    (G4AttValue("HitType","ExN04MuonHit",""));
+  //G4cout << "Checking...\n" << G4AttCheck(attValues, GetAttDefs());
+  return attValues;
+}
+
+void ExN04MuonHit::Print()
+{;}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,72 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04PrimaryGeneratorAction.hh"
+
+#include "G4Event.hh"
+#include "G4HEPEvtInterface.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+#include "ExN04PrimaryGeneratorMessenger.hh"
+
+ExN04PrimaryGeneratorAction::ExN04PrimaryGeneratorAction()
+{
+  const char* filename = "pythia_event.data";
+  HEPEvt = new G4HEPEvtInterface(filename);
+
+  G4int n_particle = 1;
+  G4ParticleGun* fParticleGun = new G4ParticleGun(n_particle);
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4String particleName;
+  G4ParticleDefinition* particle
+    = particleTable->FindParticle(particleName="mu+");
+  fParticleGun->SetParticleDefinition(particle);
+  fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.));
+  fParticleGun->SetParticleEnergy(100.*GeV);
+  fParticleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
+  particleGun = fParticleGun;
+
+  messenger = new ExN04PrimaryGeneratorMessenger(this);
+  useHEPEvt = true;
+}
+
+ExN04PrimaryGeneratorAction::~ExN04PrimaryGeneratorAction()
+{
+  delete HEPEvt;
+  delete particleGun;
+  delete messenger;
+}
+
+void ExN04PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  if(useHEPEvt)
+  { HEPEvt->GeneratePrimaryVertex(anEvent); }
+  else
+  { particleGun->GeneratePrimaryVertex(anEvent); }
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingAction.cc	(revision 901)
@@ -0,0 +1,206 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04StackingAction.hh"
+#include "G4SDManager.hh"
+#include "G4RunManager.hh"
+#include "G4Event.hh"
+#include "G4HCofThisEvent.hh"
+#include "G4Track.hh"
+#include "G4TrackStatus.hh"
+#include "G4ParticleDefinition.hh"
+#include "G4ParticleTypes.hh"
+#include "ExN04StackingActionMessenger.hh"
+#include "G4ios.hh"
+
+ExN04StackingAction::ExN04StackingAction()
+ : trkHits(0), muonHits(0), stage(0)
+{ 
+  angRoI = 30.0*deg; 
+  reqMuon = 2;
+  reqIso = 10;
+  theMessenger = new ExN04StackingActionMessenger(this);
+}
+
+ExN04StackingAction::~ExN04StackingAction()
+{ delete theMessenger; }
+
+G4ClassificationOfNewTrack 
+ExN04StackingAction::ClassifyNewTrack(const G4Track * aTrack)
+{
+  G4ClassificationOfNewTrack classification = fWaiting;
+  switch(stage)
+  {
+  case 0: // Stage 0 : Primary muons only
+    if(aTrack->GetParentID()==0)
+    {
+      G4ParticleDefinition * particleType = aTrack->GetDefinition();
+      if((particleType==G4MuonPlus::MuonPlusDefinition())
+       ||(particleType==G4MuonMinus::MuonMinusDefinition()))
+      { classification = fUrgent; }
+    }
+    break;
+
+  case 1: // Stage 1 : Charged primaries only
+          //           Suspended tracks will be sent to the waiting stack
+    if(aTrack->GetParentID()!=0) { break; }
+    if(aTrack->GetTrackStatus()==fSuspend) { break; }
+    if(aTrack->GetDefinition()->GetPDGCharge()==0.) { break; }
+    classification = fUrgent;
+    break;
+
+  default: // Stage 2 : Accept all primaries
+           //           Accept all secondaries in RoI
+           //           Kill secondaries outside RoI
+    if(aTrack->GetParentID()==0)
+    { 
+      classification = fUrgent;
+      break;
+    }
+    if((angRoI<0.)||InsideRoI(aTrack,angRoI))
+    { 
+      classification = fUrgent;
+      break;
+    }
+    classification = fKill;
+  }
+  return classification;
+}
+
+G4bool ExN04StackingAction::InsideRoI(const G4Track * aTrack,G4double ang)
+{
+  if(!muonHits)
+  { muonHits = (ExN04MuonHitsCollection*)GetCollection("muonCollection"); }
+  if(!muonHits)
+  { G4cerr << "muonCollection NOT FOUND" << G4endl;
+    return true; }
+
+  G4int nhits = muonHits->entries();
+
+  const G4ThreeVector trPos = aTrack->GetPosition();
+  for(G4int i=0;i<nhits;i++)
+  {
+    G4ThreeVector muHitPos = (*muonHits)[i]->GetPos();
+    G4double angl = muHitPos.angle(trPos);
+    if(angl<ang) { return true; }
+  }
+
+  return false;
+}
+
+G4VHitsCollection* ExN04StackingAction::GetCollection(G4String colName)
+{
+  G4SDManager* SDMan = G4SDManager::GetSDMpointer();
+  G4RunManager* runMan = G4RunManager::GetRunManager();
+  int colID = SDMan->GetCollectionID(colName);
+  if(colID>=0)
+  {
+    const G4Event* currentEvent = runMan->GetCurrentEvent();
+    G4HCofThisEvent* HCE = currentEvent->GetHCofThisEvent();
+    return HCE->GetHC(colID);
+  }
+  return 0;
+}
+
+void ExN04StackingAction::NewStage()
+{
+  stage++;
+  G4int nhits;
+  if(stage==1)
+  {
+  // Stage 0->1 : check if at least "reqMuon" hits on muon chamber
+  //              otherwise abort current event
+    if(!muonHits)
+    { muonHits = (ExN04MuonHitsCollection*)GetCollection("muonCollection"); }
+    if(!muonHits)
+    { G4cerr << "muonCollection NOT FOUND" << G4endl;
+      return; }
+    nhits = muonHits->entries();
+    G4cout << "Stage 0->1 : " << nhits << " hits found in the muon chamber."
+         << G4endl;
+    if(nhits<reqMuon)
+    { 
+      stackManager->clear();
+      G4cout << "++++++++ event aborted" << G4endl;
+      return;
+    }
+    stackManager->ReClassify();
+    return;
+  }
+
+  else if(stage==2)
+  {
+  // Stage 1->2 : check the isolation of muon tracks
+  //              at least "reqIsoMuon" isolated muons
+  //              otherwise abort current event.
+  //              Isolation requires "reqIso" or less hits
+  //              (including own hits) in the RoI region
+  //              in the tracker layers.
+    nhits = muonHits->entries();
+    if(!trkHits)
+    { trkHits = (ExN04TrackerHitsCollection*)GetCollection("trackerCollection"); }
+    if(!trkHits)
+    { G4cerr << "trackerCollection NOT FOUND" << G4endl;
+      return; }
+    G4int nTrkhits = trkHits->entries();
+    G4int isoMuon = 0;
+    for(G4int j=0;j<nhits;j++)
+    {
+      G4ThreeVector hitPos = (*muonHits)[j]->GetPos();
+      G4int nhitIn = 0;
+      for(G4int jj=0;(jj<nTrkhits)&&(nhitIn<=reqIso);jj++)
+      {
+        G4ThreeVector trkhitPos = (*trkHits)[jj]->GetPos();
+        if(trkhitPos.angle(hitPos)<angRoI) nhitIn++;
+      }
+      if(nhitIn<=reqIso) isoMuon++;
+    }
+    G4cout << "Stage 1->2 : " << isoMuon << " isolated muon found." << G4endl;
+    if(isoMuon<reqIsoMuon)
+    {
+      stackManager->clear();
+      G4cout << "++++++++ event aborted" << G4endl;
+      return;
+    }
+    stackManager->ReClassify();
+    return;
+  }
+
+  else
+  {
+  // Other stage change : just re-classify
+    stackManager->ReClassify();
+  }
+}
+    
+void ExN04StackingAction::PrepareNewEvent()
+{ 
+  stage = 0; 
+  trkHits = 0;
+  muonHits = 0;
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingActionMessenger.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingActionMessenger.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04StackingActionMessenger.cc	(revision 901)
@@ -0,0 +1,96 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04StackingActionMessenger.hh"
+#include "ExN04StackingAction.hh"
+#include "G4UIcmdWithAnInteger.hh"
+#include "G4UIcmdWithADoubleAndUnit.hh"
+#include "G4ios.hh"
+
+ExN04StackingActionMessenger::ExN04StackingActionMessenger(ExN04StackingAction * msa)
+:myAction(msa)
+{
+  muonCmd = new G4UIcmdWithAnInteger("/mydet/reqmuon",this);
+  muonCmd->SetGuidance("Number of muon for the trigger.");
+  muonCmd->SetParameterName("N",true);
+  muonCmd->SetDefaultValue(2);
+  muonCmd->SetRange("N>=0");
+
+  isomuonCmd = new G4UIcmdWithAnInteger("/mydet/isomuon",this);
+  isomuonCmd->SetGuidance("Number of isolated muon for the trigger.");
+  isomuonCmd->SetParameterName("N",true);
+  isomuonCmd->SetDefaultValue(2);
+  isomuonCmd->SetRange("N>=0");
+
+  isoCmd = new G4UIcmdWithAnInteger("/mydet/isolation",this);
+  isoCmd->SetGuidance("Maximum allowed number of hits in tracker");
+  isoCmd->SetGuidance(" for an isolated muon track (includes hits by muon)");
+  isoCmd->SetParameterName("N",true);
+  isoCmd->SetDefaultValue(10);
+  isoCmd->SetRange("N>=0");
+
+  roiCmd = new G4UIcmdWithADoubleAndUnit("/mydet/RoIangle",this);
+  roiCmd->SetGuidance("Define RoI angle");
+  roiCmd->SetParameterName("theta",true,true);
+  roiCmd->SetDefaultUnit("deg");
+}
+
+ExN04StackingActionMessenger::~ExN04StackingActionMessenger()
+{
+  delete muonCmd;
+  delete isomuonCmd;
+  delete isoCmd;
+  delete roiCmd;
+}
+
+void ExN04StackingActionMessenger::SetNewValue(G4UIcommand * command,G4String newValue)
+{
+  if( command==muonCmd )
+  { myAction->SetNRequestMuon(muonCmd->GetNewIntValue(newValue)); }
+  else if( command==isomuonCmd )
+  { myAction->SetNRequestIsoMuon(isomuonCmd->GetNewIntValue(newValue)); }
+  else if( command==isoCmd )
+  { myAction->SetNIsolation(isoCmd->GetNewIntValue(newValue)); }
+  else if( command==roiCmd )
+  { myAction->SetRoIAngle(roiCmd->GetNewDoubleValue(newValue)); }
+}
+
+G4String ExN04StackingActionMessenger::GetCurrentValue(G4UIcommand * command)
+{
+  G4String cv;
+  
+  if( command==muonCmd )
+  { cv = muonCmd->ConvertToString(myAction->GetNRequestMuon()); }
+  else if( command==isomuonCmd )
+  { cv = isomuonCmd->ConvertToString(myAction->GetNRequestIsoMuon()); }
+  else if( command==isoCmd )
+  { cv = isoCmd->ConvertToString(myAction->GetNIsolation()); }
+  else if( command==roiCmd )
+  { cv = roiCmd->ConvertToString(myAction->GetRoIAngle(),"deg"); }
+  
+  return cv;
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerHit.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerHit.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerHit.cc	(revision 901)
@@ -0,0 +1,104 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04TrackerHit.hh"
+#include "G4VVisManager.hh"
+#include "G4Circle.hh"
+#include "G4Colour.hh"
+#include "G4VisAttributes.hh"
+#include "G4UnitsTable.hh"
+#include "G4AttValue.hh"
+#include "G4AttDef.hh"
+#include "G4AttCheck.hh"
+
+G4Allocator<ExN04TrackerHit> ExN04TrackerHitAllocator;
+
+ExN04TrackerHit::ExN04TrackerHit()
+{;}
+
+ExN04TrackerHit::~ExN04TrackerHit()
+{;}
+
+ExN04TrackerHit::ExN04TrackerHit(const ExN04TrackerHit &right)
+  : G4VHit()
+{
+  edep = right.edep;
+  pos = right.pos;
+}
+
+const ExN04TrackerHit& ExN04TrackerHit::operator=(const ExN04TrackerHit &right)
+{
+  edep = right.edep;
+  pos = right.pos;
+  return *this;
+}
+
+G4int ExN04TrackerHit::operator==(const ExN04TrackerHit &right) const
+{
+  return (this==&right) ? 1 : 0;
+}
+
+std::map<G4String,G4AttDef> ExN04TrackerHit::fAttDefs;
+
+void ExN04TrackerHit::Draw()
+{
+  G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+  if(pVVisManager)
+  {
+    G4Circle circle(pos);
+    circle.SetScreenSize(0.04);
+    circle.SetFillStyle(G4Circle::filled);
+    G4Colour colour(1.,0.,0.);
+    G4VisAttributes attribs(colour);
+    circle.SetVisAttributes(attribs);
+    pVVisManager->Draw(circle);
+  }
+}
+
+const std::map<G4String,G4AttDef>* ExN04TrackerHit::GetAttDefs() const
+{
+  // G4AttDefs have to have long life.  Use static member...
+  if (fAttDefs.empty()) {
+    fAttDefs["HitType"] =
+      G4AttDef("HitType","Type of hit","Physics","","G4String");
+  }
+  return &fAttDefs;
+}
+
+std::vector<G4AttValue>* ExN04TrackerHit::CreateAttValues() const
+{
+  // Create expendable G4AttsValues for picking...
+  std::vector<G4AttValue>* attValues = new std::vector<G4AttValue>;
+  attValues->push_back
+    (G4AttValue("HitType","ExN04TrackerHit",""));
+  //G4cout << "Checking...\n" << G4AttCheck(attValues, GetAttDefs());
+  return attValues;
+}
+
+void ExN04TrackerHit::Print()
+{;}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerParametrisation.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerParametrisation.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackerParametrisation.cc	(revision 901)
@@ -0,0 +1,58 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+#include "ExN04TrackerParametrisation.hh"
+
+#include "G4VPhysicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4Tubs.hh"
+
+ExN04TrackerParametrisation::ExN04TrackerParametrisation()
+{
+
+#include "ExN04DetectorParameterDef.icc"
+
+}
+
+ExN04TrackerParametrisation::~ExN04TrackerParametrisation()
+{;}
+
+void ExN04TrackerParametrisation::ComputeTransformation
+(const G4int, G4VPhysicalVolume* physVol) const
+{
+  G4ThreeVector origin;
+  physVol->SetTranslation(origin);
+}
+
+void ExN04TrackerParametrisation::ComputeDimensions
+(G4Tubs& trackerLayer, const G4int copyNo, const G4VPhysicalVolume*) const
+{
+  trackerLayer.SetInnerRadius(tracker_radius[copyNo]);
+  trackerLayer.SetOuterRadius(tracker_radius[copyNo]+tracker_thick);
+  trackerLayer.SetZHalfLength(tracker_length[copyNo]);
+  trackerLayer.SetStartPhiAngle(trkTubs_sphi);
+  trackerLayer.SetDeltaPhiAngle(trkTubs_dphi);
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackingAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackingAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N04/src/ExN04TrackingAction.cc	(revision 901)
@@ -0,0 +1,41 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+
+
+#include "ExN04TrackingAction.hh"
+#include "G4TrackingManager.hh"
+#include "G4Track.hh"
+
+void ExN04TrackingAction::PreUserTrackingAction(const G4Track* aTrack)
+{
+  // Create trajectory only for primaries
+  if(aTrack->GetParentID()==0)
+  { fpTrackingManager->SetStoreTrajectory(true); }
+  else
+  { fpTrackingManager->SetStoreTrajectory(false); }
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/README/index.html	(revision 901)
@@ -0,0 +1,72 @@
+$Id: README,v 1.1 1999/01/07 16:06:10 gunter Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN05
+                            ----------
+
+ExampleN05 provides examples of the use of parameterisation facilities.
+
+Geometry, sensitive detector, hits, processes are defined respectively in:
+
+	ExN05DetectorConstruction
+	ExN05CalorimeterSD
+	ExN05CalorimeterHit
+	ExN05PhysicsList
+
+The particularities are:
+
+      o The parameterisation models:
+
+	      o ExN05EMShowerModel which provides a crude
+		parameterisation for e+/e-/gamma. This model
+		is bound to the EM calorimeter.
+
+	      o ExN05PionShowerModel: an even more crude
+		parameterisation for pi+/pi-. This model
+		is bound to a ghost volume.
+
+		Those two models produces "hits": ie the energy
+		of the incident particle is distributed into
+		the volume of the envelope throught energy spots
+		(class ExN05EnergySpot), those energy spots being
+		recorded in the sensitive detector at this point
+		if any.
+
+		They are rather similar from a technical point of vue.
+		They both make use of a private G4Navigator to set
+		their energy spots into the sensitive volumes.
+		However, we don't take car of putting every spot into
+		a sensitive (which is recommended in a "serious"
+		parameterisation !).
+
+		Those two models trigger their parameterisation
+		on the first step the particle does in the envelope,
+		but it would be perfectly possible to wait that the
+		particle is far enough from the boundary of the envelope
+		for example.
+
+	      o ExN0PiModel: just there to show how a parameterisation
+		can create secondaries, but not used.
+
+      o ExN05PhysicsList: AddParameterisation(). A method which
+	sets the G4FastSimulationManagerProcess in the process
+	manager of all the particles. This process provides
+	the INTERFACE between the tracking and the parameterisation
+	models.
+
+      o ExN05DetectorConstruction: in the .cc file, the parameterisation
+	models are built and bound to envelopes:
+
+	      o ExN05EMShowerModel is bound to the electromagnetic
+		calorimeter
+
+	      o ExN05PionShowerModel is bound to a ghost volume
+		which encompasses the electromagnetic and
+		hadronic calorimters
+	
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/exampleN05.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/exampleN05.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/exampleN05.cc	(revision 901)
@@ -0,0 +1,168 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN05.cc,v 1.16 2007/05/11 14:29:16 mverderi Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+// --------------------------------------------------------------
+//      GEANT 4 - exampleN05
+// --------------------------------------------------------------
+// Comments
+//
+// Example of a main program making use of parameterisation
+// i.e. "Fast Simulation"
+//-------------------------------------------------------------------
+
+//------------------------------
+// Run, Generator etc.. actions:
+//------------------------------
+#include "ExN05RunAction.hh"
+#include "ExN05PrimaryGeneratorAction.hh"
+#include "ExN05EventAction.hh"
+#include "ExN05SteppingAction.hh"
+
+//---------------------------
+// Parameterisation manager:
+//---------------------------
+#include "G4GlobalFastSimulationManager.hh"
+
+//------------
+// Geometries:
+//------------
+#include "ExN05DetectorConstruction.hh"
+#include "ExN05ParallelWorldForPion.hh"
+
+//-----------------------------------
+// ExN05PhysicsList (makes use of the
+// G4ParameterisationManagerProcess):
+//-----------------------------------
+#include "ExN05PhysicsList.hh"
+
+#include "G4UIterminal.hh"
+#include "G4UImanager.hh"
+#include "G4RunManager.hh"
+#include "G4RunManagerKernel.hh"
+
+
+#ifdef G4VIS_USE
+#include "G4VisExecutive.hh"
+#endif
+
+#include "G4ios.hh"
+
+int main(int argc, char** argv)
+{
+  //-------------------------------
+  // Initialization of Run manager
+  //-------------------------------
+  G4cout << "RunManager construction starting...." << G4endl;
+  G4RunManager * runManager = new G4RunManager;
+
+  // Detector/mass geometry and parallel geometry(ies):
+  G4VUserDetectorConstruction* detector = new ExN05DetectorConstruction();
+  // -- Parallel geometry for pion parameterisation
+  detector->RegisterParallelWorld(new ExN05ParallelWorldForPion("pionGhostWorld"));
+  // --  The name passed must be the same passed to the
+  // -- G4FastSimulationManagerProcess attached to the pions
+  runManager->SetUserInitialization(detector);
+  
+  // PhysicsList (including G4FastSimulationManagerProcess)
+  G4VUserPhysicsList* physicsList = new ExN05PhysicsList;
+  runManager->SetUserInitialization(physicsList);
+
+  //-------------------------------
+  // UserAction classes
+  //-------------------------------
+  G4UserRunAction* run_action = new ExN05RunAction;
+  runManager->SetUserAction(run_action);
+  //
+  G4VUserPrimaryGeneratorAction* gen_action = new ExN05PrimaryGeneratorAction;
+  runManager->SetUserAction(gen_action);
+  //
+  G4UserEventAction* event_action = new ExN05EventAction;
+  runManager->SetUserAction(event_action);
+  //
+  G4UserSteppingAction* stepping_action = new ExN05SteppingAction;
+  runManager->SetUserAction(stepping_action);
+
+
+  // Initialize Run manager
+  runManager->Initialize();
+
+  //----------------
+  // Visualization:
+  //----------------
+#ifdef G4VIS_USE
+  G4cout << "Instantiating Visualization Manager......." << G4endl;
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager -> Initialize ();
+#endif
+
+  // Setup commands
+  //
+  G4UImanager * UI = G4UImanager::GetUIpointer();
+  UI->ApplyCommand("/Step/Verbose 0");
+  UI->ApplyCommand("/tracking/Verbose 1");
+  UI->ApplyCommand("/gun/particle e-");
+  UI->ApplyCommand("/gun/energy 100 MeV");
+  UI->ApplyCommand("/gun/direction 0 0 1");
+  UI->ApplyCommand("/gun/position 0 0 0");
+  UI->ApplyCommand("/gun/direction 0 .3 1.");
+
+  if(argc==1)
+  {
+    //--------------------------
+    // Define (G)UI
+    //--------------------------
+    // G4UIterminal is a (dumb) terminal
+    //
+    G4UIsession* session = new G4UIterminal;
+    session->SessionStart();
+    delete session;
+  }
+  else
+  {
+#ifdef G4VIS_USE
+    visManager->SetVerboseLevel("quiet");
+#endif
+    G4UImanager* UImanager = G4UImanager::GetUIpointer();
+    G4String command = "/control/execute ";
+    G4String fileName = argv[1];
+    UImanager->ApplyCommand(command+fileName);
+  }
+
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+
+#ifdef G4VIS_USE
+  delete visManager;
+#endif
+  delete runManager;
+
+  return 0;
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05DetectorConstruction.hh,v 1.6 2006/11/03 17:58:49 mverderi Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+#ifndef ExN05DetectorConstruction_h
+#define ExN05DetectorConstruction_h 1
+
+#include "G4LogicalVolume.hh"
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class ExN05DetectorMessenger;
+
+class ExN05DetectorConstruction : public G4VUserDetectorConstruction
+{
+public:
+  ExN05DetectorConstruction();
+  ~ExN05DetectorConstruction();
+  
+public:
+  G4VPhysicalVolume* Construct();
+
+private:
+  G4LogicalVolume* theCrystalLog;
+  G4LogicalVolume* theTowerLog;
+
+  // messeneger
+  ExN05DetectorMessenger* theMessenger;
+  
+};
+
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EMShowerModel.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EMShowerModel.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EMShowerModel.hh	(revision 901)
@@ -0,0 +1,88 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05EMShowerModel.hh,v 1.10 2006/06/29 17:52:25 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+//----------------------------------------------
+// Parameterisation of e+/e-/gamma producing hits
+// The hits are the same as defined in the detailed
+// simulation.
+//----------------------------------------------
+#ifndef ExN05EMShowerModel_h
+#define ExN05EMShowerModel_h 1
+
+#include "ExN05EnergySpot.hh"
+
+#include "G4VFastSimulationModel.hh"
+#include "G4Step.hh"
+#include "G4TouchableHandle.hh"
+#include <vector>
+
+class ExN05EMShowerModel : public G4VFastSimulationModel
+{
+public:
+  //-------------------------
+  // Constructor, destructor
+  //-------------------------
+  ExN05EMShowerModel (G4String, G4Region*);
+  ExN05EMShowerModel (G4String);
+  ~ExN05EMShowerModel ();
+
+  //------------------------------
+  // Virtual methods of the base
+  // class to be coded by the user
+  //------------------------------
+
+  // -- IsApplicable
+  G4bool IsApplicable(const G4ParticleDefinition&);
+  // -- ModelTrigger
+  G4bool ModelTrigger(const G4FastTrack &);
+  // -- User method DoIt
+  void DoIt(const G4FastTrack&, G4FastStep&);
+
+private:
+  void AssignSpotAndCallHit(const ExN05EnergySpot &eSpot);
+  void FillFakeStep(const ExN05EnergySpot &eSpot);
+  void Explode(const G4FastTrack&);
+  void BuildDetectorResponse();
+  
+private:  
+  G4Step                         *fFakeStep;
+  G4StepPoint                    *fFakePreStepPoint, *fFakePostStepPoint;
+  G4TouchableHandle              fTouchableHandle;
+  G4Navigator                    *fpNavigator;
+  G4bool                         fNaviSetup;
+
+  std::vector<ExN05EnergySpot> feSpotList;
+
+};
+#endif
+
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EventAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EventAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05EventAction.hh	(revision 901)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05EventAction.hh,v 1.6 2006/06/29 17:52:30 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN05EventAction_h
+#define ExN05EventAction_h 1
+
+#include "G4UserEventAction.hh"
+#include "globals.hh"
+
+class G4Event;
+
+class ExN05EventAction : public G4UserEventAction
+{
+  public:
+    ExN05EventAction();
+    virtual ~ExN05EventAction();
+
+  public:
+    virtual void BeginOfEventAction(const G4Event*);
+    virtual void EndOfEventAction(const G4Event*);
+
+  private:
+    G4int calorimeterCollID;
+    G4int hadCalorimeterCollID;
+    G4bool drawFlag;
+
+  public:
+    inline void SetDrawFlag(G4bool val)
+    { drawFlag = val; };
+};
+
+#endif
+
+    
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PhysicsList.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PhysicsList.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PhysicsList.hh	(revision 901)
@@ -0,0 +1,72 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05PhysicsList.hh,v 1.8 2006/06/29 17:52:43 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+#ifndef ExN05PhysicsList_h
+#define ExN05PhysicsList_h 1
+
+#include "G4VUserPhysicsList.hh"
+#include "globals.hh"
+
+class ExN05PhysicsList: public G4VUserPhysicsList
+{
+public:
+  ExN05PhysicsList();
+  virtual ~ExN05PhysicsList();
+  
+protected:
+  // Construct particle and physics
+  virtual void ConstructParticle();
+  virtual void ConstructProcess();
+  
+  // 
+  virtual void SetCuts();
+  
+protected:
+  // these methods Construct particles 
+  virtual void ConstructBosons();
+  virtual void ConstructLeptons();
+  virtual void ConstructMesons();
+  virtual void ConstructBaryons();
+  virtual void ConstructIons();
+  
+protected:
+  // these methods Construct physics processes and register them
+  void AddParameterisation();
+
+  virtual void ConstructGeneral();
+  virtual void ConstructEM();
+
+  virtual void AddTransportation();
+};
+
+#endif
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PionShowerModel.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PionShowerModel.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PionShowerModel.hh	(revision 901)
@@ -0,0 +1,82 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05PionShowerModel.hh,v 1.10 2006/06/29 17:52:47 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+//----------------------------------------------
+// Parameterisation for pi+/pi- producing hits.
+//----------------------------------------------
+#ifndef ExN05PionShowerModel_h
+#define ExN05PionShowerModel_h 1
+
+#include "ExN05EnergySpot.hh"
+
+#include "G4VFastSimulationModel.hh"
+#include "G4Step.hh"
+#include "G4TouchableHandle.hh"
+#include <vector>
+
+class ExN05PionShowerModel : public G4VFastSimulationModel
+{
+public:
+  //-------------------------
+  // Constructor, destructor
+  //-------------------------
+  ExN05PionShowerModel (G4String, G4Region*);
+  ExN05PionShowerModel (G4String);
+  ~ExN05PionShowerModel ();
+
+  //------------------------------
+  // Virtual methods of the base
+  // class to be coded by the user
+  //------------------------------
+
+  // -- IsApplicable
+  G4bool IsApplicable(const G4ParticleDefinition&);
+  // -- ModelTrigger
+  G4bool ModelTrigger(const G4FastTrack &);
+  // -- User method DoIt
+  void DoIt(const G4FastTrack&, G4FastStep&);
+
+private:
+  void AssignSpotAndCallHit(const ExN05EnergySpot &eSpot);
+  void FillFakeStep(const ExN05EnergySpot &eSpot);
+  void Explode(const G4FastTrack&);
+  void BuildDetectorResponse();
+  
+private:
+  G4Step                         *fFakeStep;
+  G4StepPoint                    *fFakePreStepPoint, *fFakePostStepPoint;
+  G4TouchableHandle              fTouchableHandle;
+  G4Navigator                    *fpNavigator;
+  G4bool                         fNaviSetup;
+
+  std::vector<ExN05EnergySpot> feSpotList;
+
+};
+#endif
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,55 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05PrimaryGeneratorAction.hh,v 1.5 2006/06/29 17:52:49 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN05PrimaryGeneratorAction_h
+#define ExN05PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+
+class G4ParticleGun;
+class G4Event;
+
+class ExN05PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN05PrimaryGeneratorAction();
+    ~ExN05PrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event* anEvent);
+    G4ParticleGun* GetParticleGun();
+
+  private:
+    G4ParticleGun* particleGun;
+};
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05RunAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05RunAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/include/ExN05RunAction.hh	(revision 901)
@@ -0,0 +1,55 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05RunAction.hh,v 1.9 2006/06/29 17:52:51 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN05RunAction_h
+#define ExN05RunAction_h 1
+
+#include "globals.hh"
+#include "G4UserRunAction.hh"
+
+class G4Timer;
+class G4Run;
+
+class ExN05RunAction : public G4UserRunAction
+{
+  public:
+    ExN05RunAction();
+    ~ExN05RunAction();
+
+  public:
+    void BeginOfRunAction(const G4Run* aRun);
+    void EndOfRunAction(const G4Run* aRun);
+
+  private:
+    G4Timer* timer;
+};
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,292 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05DetectorConstruction.cc,v 1.10 2006/11/03 17:58:49 mverderi Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+#include "ExN05DetectorConstruction.hh"
+#include "ExN05CalorimeterSD.hh"
+#include "ExN05EMShowerModel.hh"
+#include "ExN05PiModel.hh"
+
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+#include "G4Element.hh"
+#include "G4ProductionCuts.hh"
+#include "G4ElementTable.hh"
+#include "G4Box.hh"
+#include "G4Tubs.hh"
+#include "G4LogicalVolume.hh"
+#include "G4ThreeVector.hh"
+#include "G4PVPlacement.hh"
+#include "G4SDManager.hh"
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+
+
+ExN05DetectorConstruction::ExN05DetectorConstruction()
+{;}
+
+ExN05DetectorConstruction::~ExN05DetectorConstruction()
+{;}
+
+G4VPhysicalVolume* ExN05DetectorConstruction::Construct()
+{
+  G4cout << "\nExN05DetectorConstruction....\n" << G4endl;
+  
+  //--------- Material definition ---------
+  
+  G4double a, iz, z, density;
+  G4String name, symbol;
+  G4int nel;
+  
+  a = 14.01*g/mole;
+  G4Element* elN = new G4Element(name="Nitrogen", symbol="N",  iz=7.,  a);
+  a = 16.00*g/mole;
+  G4Element* elO = new G4Element(name="Oxigen",   symbol="O",  iz=8.,  a);
+  a = 126.9*g/mole;
+  G4Element* elI = new G4Element(name="Iodine",   symbol="I",  iz=53., a);
+  a = 132.9*g/mole;
+  G4Element* elCs= new G4Element(name="Cesium",   symbol="Cs", iz=55., a);
+
+  
+  density = 4.51*g/cm3;
+  G4Material* CsI = new G4Material(name="CsI", density, nel = 2);
+  CsI->AddElement(elI, .5);
+  CsI->AddElement(elCs,.5);
+  a = 4.0*g/mole;
+  density = 0.1786e-03*g/cm3;
+  G4Material* He  = new G4Material(name="He", z=2., a, density);
+  
+  a = 55.85*g/mole;
+  density = 7.87*g/cm3;
+  G4Material* Fe = new G4Material(name="Fer", z=26., a, density);
+  density = 1.29e-03*g/cm3;
+  G4Material* Air = new G4Material(name="Air", density, nel=2);
+  Air->AddElement(elN, .7);
+  Air->AddElement(elO, .3);
+  
+  //--------- G4VSolid, G4LogicalVolume, G4VPhysicalVolume  ---------
+  
+  //--------------
+  // World:
+  //--------------
+  G4Box *WorldBox= new G4Box("WorldBox",400*cm, 400*cm, 400*cm);
+  G4LogicalVolume *WorldLog=new G4LogicalVolume(WorldBox,Air,
+						  "WorldLogical", 0, 0, 0);
+  G4PVPlacement *WorldPhys=new G4PVPlacement(0,G4ThreeVector(),
+					       "WorldPhysical",
+					       WorldLog,
+					       0,false,0);
+  // Size of detectors:
+  G4double detectSize = 125*cm;
+  
+  //-----------------------------
+  // "Drift Chamber":
+  // Not used in parameterisation.
+  //-----------------------------
+  // -- Logical volume:
+  G4Box *driftChamberBox
+    = new G4Box("DriftChamberSolid", detectSize, detectSize, 40*cm);
+  G4LogicalVolume *driftChamberLog
+    = new G4LogicalVolume(driftChamberBox,He,
+			  "DriftChamberLogical", 0, 0, 0);
+  // -- Placement:
+  // G4PVPlacement *driftChamberPhys  =
+      new G4PVPlacement(0,G4ThreeVector(0., 0., 50*cm),
+			"DriftChamberPhysical",
+		        driftChamberLog,
+			WorldPhys,false,0);
+  
+  //--------------------------
+  // "Calorimeter": used in
+  // parameterisation below
+  //--------------------------
+  // -- Logical volume:
+  G4Box *calorimeterBox
+    = new G4Box("CalorimeterSolid", detectSize, detectSize, 20*cm);
+  G4LogicalVolume *calorimeterLog = new G4LogicalVolume(calorimeterBox,Air,
+							"CalorimeterLogical", 0, 0, 0);
+  // -- Placement:
+  G4PVPlacement *calorimeterPhys  = new G4PVPlacement(0,G4ThreeVector(0., 0., 120*cm),
+						      "CalorimeterPhysical",
+						      calorimeterLog,
+						      WorldPhys,false,0);
+  
+  //--------------------------------------
+  // The calorimeter is filled with
+  // crystals:
+  //--------------------------------------
+  // -- Logical volume:
+  G4double CrystalX = 2.5*cm;
+  G4double CrystalY = CrystalX;
+  G4double CrystalZ = 20*cm;
+  G4Box *CrystalSolid = new G4Box("CrystalSolid", CrystalX, CrystalY, CrystalZ);
+  theCrystalLog       = new G4LogicalVolume(CrystalSolid,CsI,
+					    "CrystalLogical", 0, 0, 0);
+  
+  G4String tName1("Crystal");	// Allow all target physicals to share
+  // same name (delayed copy)
+  
+  // -- and placements inside the calorimeter:
+  G4PVPlacement *crystalPhys;
+  G4int copyNo=0;
+  G4double xTlate, yTlate;
+  G4int nX = 48;
+  G4int nY = 48;
+  for (G4int j = 0; j < nY; j++)
+    {
+      yTlate = -detectSize + 3*CrystalY + j*2*CrystalY;
+      for (G4int i = 0; i < nX; i++)
+	{
+	  xTlate = -detectSize + 3*CrystalX + i*2*CrystalX;
+	  crystalPhys = new G4PVPlacement(0,G4ThreeVector(xTlate,yTlate,0*cm),
+					  tName1,
+					  theCrystalLog,
+					  calorimeterPhys,false,copyNo++);
+	}
+    }
+
+
+  //--------------------------
+  // "Hadron Calorimeter": used
+  // in parameterisation with
+  // a parallel geometry
+  //--------------------------
+  // -- Logical volume:
+  G4Box *hadCaloBox
+    = new G4Box("HadCaloSolid", detectSize, detectSize, 50*cm);
+  G4LogicalVolume *hadCaloLog = new G4LogicalVolume(hadCaloBox,Air,
+ 						    "HadCaloLogical", 0, 0, 0);
+  // -- Placement:
+  G4PVPlacement *hadCaloPhys  = new G4PVPlacement(0,G4ThreeVector(0., 0., 200*cm),
+ 						  "HadCaloPhysical",
+ 						  hadCaloLog,
+ 						  WorldPhys,false,0);
+  
+  //--------------------------------------
+  // The calorimeter is filled with
+  // towers:
+  //--------------------------------------
+  // -- Logical volume:
+  G4double TowerX = 5*cm;
+  G4double TowerY = TowerX;
+  G4double TowerZ = 45*cm;
+  G4Box *TowerSolid = new G4Box("TowerSolid", TowerX, TowerY, TowerZ);
+  theTowerLog       = new G4LogicalVolume(TowerSolid,Fe,
+					  "TowerLogical", 0, 0, 0);
+  
+  G4String tName2("Tower");
+  
+  // -- and placements inside the calorimeter:
+  G4PVPlacement *towerPhys;
+  copyNo=0;
+  G4int nXhad = 23;
+  G4int nYhad = 23;
+  for (G4int jj = 0; jj < nYhad; jj++)
+    {
+      yTlate = -detectSize + 3*TowerY + jj*2*TowerY;
+      for (G4int i = 0; i < nXhad; i++)
+ 	{
+	  xTlate = -detectSize + 3*TowerX + i*2*TowerX;
+ 	  towerPhys
+ 	    = new G4PVPlacement(0,G4ThreeVector(xTlate,yTlate,0*cm),
+ 				tName2,
+ 				theTowerLog,
+ 				hadCaloPhys,false,copyNo++);
+ 	}
+    }
+  
+  
+  //--------- Sensitive detector -------------------------------------
+  G4SDManager* SDman = G4SDManager::GetSDMpointer();
+  G4String calorimeterSDname = "ExN05/Calorimeter";
+  ExN05CalorimeterSD* CalorimeterSD = new ExN05CalorimeterSD( calorimeterSDname, nX*nY, "CalCollection" );
+  SDman->AddNewDetector( CalorimeterSD );
+  theCrystalLog->SetSensitiveDetector(CalorimeterSD); 
+
+   G4String hadCalorimeterSDname = "ExN05/HadronCalorimeter";
+   ExN05CalorimeterSD* HadCalorimeterSD = new ExN05CalorimeterSD( hadCalorimeterSDname, nXhad*nYhad, "HadCollection" );
+   SDman->AddNewDetector( HadCalorimeterSD );
+   theTowerLog->SetSensitiveDetector(HadCalorimeterSD); 
+  
+  //------------------ Parameterisation Models --------------------------
+  // -- Makes the calorimeterLog volume becoming a G4Region: 
+   G4Region* caloRegion = new G4Region("EM_calo_region");
+   caloRegion->AddRootLogicalVolume(calorimeterLog);
+   std::vector<double> cuts; cuts.push_back(1.0*mm);cuts.push_back(1.0*mm);cuts.push_back(1.0*mm);
+   caloRegion->SetProductionCuts(new G4ProductionCuts());
+   caloRegion->GetProductionCuts()->SetProductionCuts(cuts);
+  // builds a model and sets it to the envelope of the calorimeter:
+   new ExN05EMShowerModel("emShowerModel",caloRegion);
+   // -- uncomment for seeing warning message with /param/showSetup command  new ExN05PiModel(caloRegion);
+
+   // ---------------- Makes had. calo a region too ------------------
+   G4Region* hadRegion = new G4Region("HAD_calo_region");
+   hadRegion->AddRootLogicalVolume(hadCaloLog);
+   cuts.clear();
+   cuts.push_back(1.0*cm);cuts.push_back(1.0*cm);cuts.push_back(1.0*cm);
+   hadRegion->SetProductionCuts(new G4ProductionCuts());
+   hadRegion->GetProductionCuts()->SetProductionCuts(cuts);
+
+  //--------- Visualization attributes -------------------------------
+  WorldLog->SetVisAttributes(G4VisAttributes::Invisible);
+
+  G4VisAttributes * driftchamberTubeVisAtt
+    = new G4VisAttributes(G4Colour(0.0,1.0,0.0));
+  driftchamberTubeVisAtt->SetForceWireframe(true);
+  driftChamberLog->SetVisAttributes(driftchamberTubeVisAtt);
+  
+  G4VisAttributes * calorimeterBoxVisAtt
+    = new G4VisAttributes(G4Colour(0.0,0.0,1.0));
+  calorimeterBoxVisAtt->SetForceWireframe(true);
+  calorimeterLog->SetVisAttributes(calorimeterBoxVisAtt);
+  
+  G4VisAttributes * crystalVisAtt
+    = new G4VisAttributes(G4Colour(1.0,0.0,0.0));
+  crystalVisAtt->SetForceWireframe(true);
+  theCrystalLog->SetVisAttributes(crystalVisAtt);
+
+  G4VisAttributes * hadCaloBoxVisAtt
+    = new G4VisAttributes(G4Colour(1.0,0.0,1.0));
+  hadCaloBoxVisAtt->SetForceWireframe(true);
+  hadCaloLog->SetVisAttributes(hadCaloBoxVisAtt);
+  
+  G4VisAttributes * towerVisAtt
+    = new G4VisAttributes(G4Colour(0.5,0.0,1.0));
+  towerVisAtt->SetForceWireframe(true);
+  theTowerLog->SetVisAttributes(towerVisAtt);
+  
+  //------------------------------------------------------------------
+  
+  
+  //-----------------------
+  // Returns the pointer to
+  // the physical world:
+  //-----------------------
+  return WorldPhys;
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EMShowerModel.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EMShowerModel.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EMShowerModel.cc	(revision 901)
@@ -0,0 +1,250 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05EMShowerModel.cc,v 1.15 2006/11/14 09:21:44 gcosmo Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+#include "ExN05EMShowerModel.hh"
+#include "ExN05EnergySpot.hh"
+
+#include "Randomize.hh"
+
+#include "G4Electron.hh"
+#include "G4Positron.hh"
+#include "G4Gamma.hh"
+#include "G4TransportationManager.hh"
+#include "G4VSensitiveDetector.hh"
+#include "G4TouchableHandle.hh"
+
+ExN05EMShowerModel::ExN05EMShowerModel(G4String modelName, G4Region* envelope)
+: G4VFastSimulationModel(modelName, envelope)
+{
+  fFakeStep          = new G4Step();
+  fFakePreStepPoint  = fFakeStep->GetPreStepPoint();
+  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
+  fTouchableHandle   = new G4TouchableHistory();
+  fpNavigator        = new G4Navigator();
+  fNaviSetup         = false;
+}
+
+ExN05EMShowerModel::ExN05EMShowerModel(G4String modelName)
+: G4VFastSimulationModel(modelName)
+{
+  fFakeStep          = new G4Step();
+  fFakePreStepPoint  = fFakeStep->GetPreStepPoint();
+  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
+  fTouchableHandle   = new G4TouchableHistory();
+  fpNavigator        = new G4Navigator();
+  fNaviSetup         = false;
+}
+
+ExN05EMShowerModel::~ExN05EMShowerModel()
+{
+  delete fFakeStep;
+  delete fpNavigator;
+}
+
+G4bool ExN05EMShowerModel::IsApplicable(const G4ParticleDefinition& particleType)
+{
+  return 
+    &particleType == G4Electron::ElectronDefinition() ||
+    &particleType == G4Positron::PositronDefinition() ||
+    &particleType == G4Gamma::GammaDefinition();
+}
+
+G4bool ExN05EMShowerModel::ModelTrigger(const G4FastTrack& fastTrack)
+{
+  // Applies the parameterisation above 100 MeV:
+  return fastTrack.GetPrimaryTrack()->GetKineticEnergy() > 100*MeV;
+}
+
+void ExN05EMShowerModel::DoIt(const G4FastTrack& fastTrack, 
+		     G4FastStep& fastStep)
+{
+  // Kill the parameterised particle:
+  fastStep.KillPrimaryTrack();
+  fastStep.ProposePrimaryTrackPathLength(0.0);
+  fastStep.ProposeTotalEnergyDeposited(fastTrack.GetPrimaryTrack()->GetKineticEnergy());
+
+  // split into "energy spots" energy according to the shower shape:
+  Explode(fastTrack);
+  
+  // and put those energy spots into the crystals:
+  BuildDetectorResponse();
+  
+}
+
+void ExN05EMShowerModel::Explode(const G4FastTrack& fastTrack)
+{
+  //-----------------------------------------------------
+  //
+  //-----------------------------------------------------
+
+  // Reduced quantities:
+  // -- critical energy in CsI:
+  G4double Ec     = 800*MeV/(54. + 1.2); // 54 = mean Z of CsI
+  G4double Energy = fastTrack.GetPrimaryTrack()->GetKineticEnergy();
+  G4double y      = Energy/Ec;
+
+  // compute value of parameter "a" of longitudinal profile, b assumed = 0.5
+  G4double a, tmax, b(0.5), C;
+  if (fastTrack.GetPrimaryTrack()->GetDefinition() == G4Gamma::GammaDefinition()) C = 0.5;
+  else C = -0.5;
+  tmax = 1.0 * (std::log(y) + C);
+  a    = 1.0 + b*tmax;
+
+  // t : reduced quantity = z/X0:
+  G4double    t, bt;
+  G4Material* CsI = G4Material::GetMaterial("CsI");
+  G4double    X0  = CsI->GetRadlen();
+  // Moliere radius:
+  G4double Es = 21*MeV;
+  G4double Rm = X0*Es/Ec;
+
+  // axis of the shower, in global reference frame:
+  G4ThreeVector xShower, yShower, zShower;
+  zShower = fastTrack.GetPrimaryTrack()->GetMomentumDirection();
+  xShower = zShower.orthogonal();
+  yShower = zShower.cross(xShower);
+  // starting point of the shower:
+  G4ThreeVector sShower = fastTrack.GetPrimaryTrack()->GetPosition();
+
+  // We shoot 100 spots of energy:
+  G4int    nSpots  = 100;
+  G4double deposit = Energy/double(nSpots);
+  ExN05EnergySpot eSpot;
+  eSpot.SetEnergy(deposit);
+  G4ThreeVector ePoint;
+  G4double z, r, phi;
+
+  feSpotList.clear();
+  for (int i = 0; i < nSpots; i++)
+    {
+      // Longitudinal profile:
+      // -- shoot z according to Gamma distribution:
+      bt = CLHEP::RandGamma::shoot(a,1.0);
+      t  = bt/b;
+      z  = t*X0;
+      
+      // transverse profile:
+      // we set 90% of energy in one Rm,
+      // the rest between 1 and 3.5 Rm:
+      G4double xr = G4UniformRand();
+      if (xr < 0.9) r = xr/0.9*Rm;
+      else r = ((xr - 0.9)/0.1*2.5 + 1.0)*Rm;
+      phi = G4UniformRand()*twopi;
+
+      // build the position:
+      ePoint = sShower +
+	z*zShower +
+	r*std::cos(phi)*xShower + r*std::sin(phi)*yShower;
+      
+      // and the energy spot:
+      eSpot.SetPosition(ePoint);
+
+      // Records the eSpot:
+      feSpotList.push_back(eSpot);
+    }
+}
+
+
+void ExN05EMShowerModel::BuildDetectorResponse()
+{
+  // Does the assignation of the energy spots to the sensitive volumes:
+  for (size_t i = 0; i < feSpotList.size(); i++)
+    {
+      // Draw the energy spot:
+      feSpotList[i].Draw();
+      //      feSpotList[i].Print();
+      
+      // "converts" the energy spot into the fake
+      // G4Step to pass to sensitive detector:
+      AssignSpotAndCallHit(feSpotList[i]);
+    }
+}
+
+
+void ExN05EMShowerModel::AssignSpotAndCallHit(const ExN05EnergySpot &eSpot)
+{
+  //
+  // "converts" the energy spot into the fake
+  // G4Step to pass to sensitive detector:
+  //
+  FillFakeStep(eSpot);
+
+  //
+  // call sensitive part: taken/adapted from the stepping:
+  // Send G4Step information to Hit/Dig if the volume is sensitive
+  //
+  G4VPhysicalVolume* pCurrentVolume = 
+    fFakeStep->GetPreStepPoint()->GetPhysicalVolume();
+  G4VSensitiveDetector* pSensitive;
+  
+  if( pCurrentVolume != 0 )
+    {
+      pSensitive = pCurrentVolume->GetLogicalVolume()->
+	GetSensitiveDetector();
+      if( pSensitive != 0 )
+	{
+	  pSensitive->Hit(fFakeStep);
+	}
+    }
+}
+
+
+void ExN05EMShowerModel::FillFakeStep(const ExN05EnergySpot &eSpot)
+{
+  //-----------------------------------------------------------
+  // find in which volume the spot is.
+  //-----------------------------------------------------------
+  if (!fNaviSetup)
+    {
+      fpNavigator->
+	SetWorldVolume(G4TransportationManager::GetTransportationManager()->
+		       GetNavigatorForTracking()->GetWorldVolume());
+      fpNavigator->
+	LocateGlobalPointAndUpdateTouchableHandle(eSpot.GetPosition(),
+                                            G4ThreeVector(0.,0.,0.),
+					    fTouchableHandle,
+					    false);
+      fNaviSetup = true;
+    }
+  else
+    {
+      fpNavigator->
+	LocateGlobalPointAndUpdateTouchableHandle(eSpot.GetPosition(),
+                                            G4ThreeVector(0.,0.,0.),
+					    fTouchableHandle);
+     }
+  //--------------------------------------
+  // Fills attribute of the G4Step needed
+  // by our sensitive detector:
+  //-------------------------------------
+  // set touchable volume at PreStepPoint:
+  fFakePreStepPoint->SetTouchableHandle(fTouchableHandle);
+  // set total energy deposit:
+  fFakeStep->SetTotalEnergyDeposit(eSpot.GetEnergy());
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EventAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EventAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05EventAction.cc	(revision 901)
@@ -0,0 +1,122 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05EventAction.cc,v 1.9 2006/06/29 17:53:16 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN05EventAction.hh"
+#include "ExN05EventActionMessenger.hh"
+#include "ExN05CalorimeterHit.hh"
+
+#include "G4Event.hh"
+#include "G4EventManager.hh"
+#include "G4HCofThisEvent.hh"
+#include "G4VHitsCollection.hh"
+#include "G4TrajectoryContainer.hh"
+#include "G4Trajectory.hh"
+#include "G4VVisManager.hh"
+#include "G4SDManager.hh"
+#include "G4UImanager.hh"
+#include "G4ios.hh"
+
+ExN05EventAction::ExN05EventAction()
+  :drawFlag(false)
+{
+  new ExN05EventActionMessenger(this);
+}
+
+ExN05EventAction::~ExN05EventAction()
+{;}
+
+void ExN05EventAction::BeginOfEventAction(const G4Event*)
+{
+  if(drawFlag)
+    {
+      G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+      if(pVVisManager)
+	{
+	  G4UImanager::GetUIpointer()->ApplyCommand("/vis~/draw/current");
+	}
+    }
+}
+
+void ExN05EventAction::EndOfEventAction(const G4Event* evt )
+{
+  G4SDManager * SDman = G4SDManager::GetSDMpointer();
+  G4String colNam;
+  calorimeterCollID    = SDman->GetCollectionID(colNam="CalCollection");
+  hadCalorimeterCollID = SDman->GetCollectionID(colNam="HadCollection");
+  
+   G4cout << ">>> Event " << evt->GetEventID() << G4endl;
+  
+  G4HCofThisEvent * HCE = evt->GetHCofThisEvent();
+  ExN05CalorimeterHitsCollection* CaloHC    = 0;
+  ExN05CalorimeterHitsCollection* HadCaloHC = 0;
+  if(HCE)
+    {
+      CaloHC    = (ExN05CalorimeterHitsCollection*)(HCE->GetHC(calorimeterCollID));
+      HadCaloHC = (ExN05CalorimeterHitsCollection*)(HCE->GetHC(hadCalorimeterCollID));
+    }
+  
+  if(CaloHC)
+    {
+      int n_hit = CaloHC->entries();
+      G4cout << "     " << n_hit
+	   << " hits are stored in EM ExN05CalorimeterHitsCollection." << G4endl;
+      G4double totE = 0;
+      for(int i=0;i<n_hit;i++)
+	{ totE += (*CaloHC)[i]->GetEdep(); }
+      G4cout << "     Total energy deposition in EM calorimeter crytals : "
+	   << totE / GeV << " (GeV)" << G4endl;
+    }
+
+  if(HadCaloHC)
+    {
+      int n_hit = HadCaloHC->entries();
+      G4cout << "     " << n_hit
+	   << " hits are stored in HAD ExN05CalorimeterHitsCollection." << G4endl;
+      G4double totE = 0;
+      for(int i=0;i<n_hit;i++)
+	{ totE += (*HadCaloHC)[i]->GetEdep(); }
+      G4cout << "     Total energy deposition in HAD calorimeter towers : "
+	   << totE / GeV << " (GeV)" << G4endl;
+    }
+  
+  if(drawFlag)
+    {
+      G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
+      if(pVVisManager)
+	{
+	  if(CaloHC)    CaloHC->DrawAllHits();
+	  if(HadCaloHC) HadCaloHC->DrawAllHits();
+	  G4UImanager::GetUIpointer()->ApplyCommand("/vis~/show/view");
+	}
+    }
+}
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PhysicsList.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PhysicsList.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PhysicsList.cc	(revision 901)
@@ -0,0 +1,297 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05PhysicsList.cc,v 1.14 2007/11/30 18:08:42 mverderi Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+#include "ExN05PhysicsList.hh"
+
+#include "globals.hh"
+#include "G4ParticleDefinition.hh"
+#include "G4ProcessManager.hh"
+#include "G4ProcessVector.hh"
+#include "G4ParticleTypes.hh"
+#include "G4ParticleTable.hh"
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+#include "G4ios.hh"
+#include <iomanip>   
+
+#include "G4FastSimulationManagerProcess.hh"
+
+
+ExN05PhysicsList::ExN05PhysicsList():  G4VUserPhysicsList()
+{
+  SetVerboseLevel(1);
+}
+
+ExN05PhysicsList::~ExN05PhysicsList()
+{
+}
+
+void ExN05PhysicsList::ConstructParticle()
+{
+  // In this method, static member functions should be called
+  // for all particles which you want to use.
+  // This ensures that objects of these particle types will be
+  // created in the program. 
+
+  ConstructBosons();
+  ConstructLeptons();
+  ConstructMesons();
+  ConstructBaryons();
+  ConstructIons();
+}
+
+void ExN05PhysicsList::ConstructBosons()
+{
+  // pseudo-particles
+  G4Geantino::GeantinoDefinition();
+  G4ChargedGeantino::ChargedGeantinoDefinition();
+
+  // gamma
+  G4Gamma::GammaDefinition();
+
+  // optical photon
+  G4OpticalPhoton::OpticalPhotonDefinition();
+}
+
+#include "G4LeptonConstructor.hh"
+void ExN05PhysicsList::ConstructLeptons()
+{
+  // Construct all leptons
+  G4LeptonConstructor pConstructor;
+  pConstructor.ConstructParticle();
+}
+
+#include "G4MesonConstructor.hh"
+void ExN05PhysicsList::ConstructMesons()
+{
+  //  Construct all mesons
+  G4MesonConstructor pConstructor;
+  pConstructor.ConstructParticle();
+}
+
+#include "G4BaryonConstructor.hh"
+void ExN05PhysicsList::ConstructBaryons()
+{
+  //  Construct all barions
+  G4BaryonConstructor  pConstructor;
+  pConstructor.ConstructParticle();  
+}
+
+#include "G4IonConstructor.hh"
+void ExN05PhysicsList::ConstructIons()
+{
+  //  Construct light ions
+  G4IonConstructor pConstructor;
+  pConstructor.ConstructParticle();  
+}
+
+void ExN05PhysicsList::ConstructProcess()
+{
+  AddTransportation();
+  AddParameterisation();
+
+  ConstructEM();
+  ConstructGeneral();
+}
+
+void ExN05PhysicsList::AddTransportation()
+{
+  G4VUserPhysicsList::AddTransportation();
+}
+
+#include "G4ComptonScattering.hh"
+#include "G4GammaConversion.hh"
+#include "G4PhotoElectricEffect.hh"
+
+#include "G4MultipleScattering.hh"
+
+#include "G4eIonisation.hh"
+#include "G4eBremsstrahlung.hh"
+#include "G4eplusAnnihilation.hh"
+
+#include "G4MuIonisation.hh"
+#include "G4MuBremsstrahlung.hh"
+#include "G4MuPairProduction.hh"
+
+#include "G4hIonisation.hh"
+void ExN05PhysicsList::ConstructEM()
+{
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    G4String particleName = particle->GetParticleName();
+     
+    if (particleName == "gamma") {
+    // gamma
+      // Construct processes for gamma
+      pmanager->AddDiscreteProcess(new G4GammaConversion());
+      pmanager->AddDiscreteProcess(new G4ComptonScattering());      
+      pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
+
+    } else if (particleName == "e-") {
+    //electron
+      // Construct processes for electron
+      G4VProcess* theeminusMultipleScattering = new G4MultipleScattering();
+      G4VProcess* theeminusIonisation = new G4eIonisation();
+      G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung();
+      // add processes
+      pmanager->AddProcess(theeminusMultipleScattering);
+      pmanager->AddProcess(theeminusIonisation);
+      pmanager->AddProcess(theeminusBremsstrahlung);      
+      // set ordering for AlongStepDoIt
+      pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,  1);
+      pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep,  2);
+      // set ordering for PostStepDoIt
+      pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep, 1);
+      pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep, 2);
+      pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep, 3);
+
+    } else if (particleName == "e+") {
+    //positron
+      // Construct processes for positron
+      G4VProcess* theeplusMultipleScattering = new G4MultipleScattering();
+      G4VProcess* theeplusIonisation = new G4eIonisation();
+      G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung();
+      G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation();
+      // add processes
+      pmanager->AddProcess(theeplusMultipleScattering);
+      pmanager->AddProcess(theeplusIonisation);
+      pmanager->AddProcess(theeplusBremsstrahlung);
+      pmanager->AddProcess(theeplusAnnihilation);
+      // set ordering for AtRestDoIt
+      pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest);
+      // set ordering for AlongStepDoIt
+      pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,  1);
+      pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep,  2);
+      // set ordering for PostStepDoIt
+      pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep, 1);
+      pmanager->SetProcessOrdering(theeplusIonisation, idxPostStep, 2);
+      pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep, 3);
+      pmanager->SetProcessOrdering(theeplusAnnihilation, idxPostStep, 4);
+  
+    } else if( particleName == "mu+" || 
+               particleName == "mu-"    ) {
+    //muon  
+     // Construct processes for muon+
+     G4VProcess* aMultipleScattering = new G4MultipleScattering();
+     G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung();
+     G4VProcess* aPairProduction = new G4MuPairProduction();
+     G4VProcess* anIonisation = new G4MuIonisation();
+      // add processes
+     pmanager->AddProcess(anIonisation);
+     pmanager->AddProcess(aMultipleScattering);
+     pmanager->AddProcess(aBremsstrahlung);
+     pmanager->AddProcess(aPairProduction);
+     // set ordering for AlongStepDoIt
+     pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,  1);
+     pmanager->SetProcessOrdering(anIonisation, idxAlongStep,  2);
+     // set ordering for PostStepDoIt
+     pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep, 1);
+     pmanager->SetProcessOrdering(anIonisation, idxPostStep, 2);
+     pmanager->SetProcessOrdering(aBremsstrahlung, idxPostStep, 3);
+     pmanager->SetProcessOrdering(aPairProduction, idxPostStep, 4);
+     
+   } else if ((!particle->IsShortLived()) &&
+	      (particle->GetPDGCharge() != 0.0) && 
+	      (particle->GetParticleName() != "chargedgeantino")) {
+     // all others charged particles except geantino
+     G4VProcess* aMultipleScattering = new G4MultipleScattering();
+     G4VProcess* anIonisation = new G4hIonisation();
+     // add processes
+     pmanager->AddProcess(anIonisation);
+     pmanager->AddProcess(aMultipleScattering);
+     // set ordering for AlongStepDoIt
+     pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,  1);
+     pmanager->SetProcessOrdering(anIonisation, idxAlongStep,  2);
+     // set ordering for PostStepDoIt
+     pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep, 1);
+     pmanager->SetProcessOrdering(anIonisation, idxPostStep, 2);
+    }
+  }
+}
+
+
+#include "G4Decay.hh"
+void ExN05PhysicsList::ConstructGeneral()
+{
+  // Add Decay Process
+  G4Decay* theDecayProcess = new G4Decay();
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    if (theDecayProcess->IsApplicable(*particle)) { 
+      pmanager ->AddProcess(theDecayProcess);
+      // set ordering for PostStepDoIt and AtRestDoIt
+      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
+      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
+    }
+  }  
+}
+
+void ExN05PhysicsList::AddParameterisation()
+{
+  // -- Fast simulation manager process for "mass geometry":
+  G4FastSimulationManagerProcess* fastSimProcess_massGeom     = new G4FastSimulationManagerProcess("G4FSMP_massGeom");
+  // -- Fast simulation manager process for "parallel geometry":
+  G4FastSimulationManagerProcess* fastSimProcess_parallelGeom = new G4FastSimulationManagerProcess("G4FSMP_parallelGeom", "pionGhostWorld");
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() )
+    {
+      G4ParticleDefinition* particle = theParticleIterator->value();
+      G4ProcessManager* pmanager = particle->GetProcessManager();
+      // -- For the mass geometry, G4FSMP is a PostStep process, ordering does not matter:
+      if (particle->GetParticleName() == "e+"  || 
+	  particle->GetParticleName() == "e-"  ||
+	  particle->GetParticleName() == "gamma")  pmanager->AddDiscreteProcess(fastSimProcess_massGeom);
+      // -- For the parallel geometry, G4FSMP is an Along+PostStep process, and ordering matters:
+      if (particle->GetParticleName() == "pi+" || 
+	  particle->GetParticleName() == "pi-") 
+	{
+	  pmanager->AddProcess(fastSimProcess_parallelGeom);
+	  pmanager->SetProcessOrdering(fastSimProcess_parallelGeom, idxAlongStep, 1);
+	  pmanager->SetProcessOrdering(fastSimProcess_parallelGeom, idxPostStep);
+	}
+    }
+}
+
+void ExN05PhysicsList::SetCuts()
+{
+  if (verboseLevel >1){
+    G4cout << "ExN05PhysicsList::SetCuts:";
+  }  
+  //  " G4VUserPhysicsList::SetCutsWithDefault" method sets 
+  //   the default cut value for all particle types 
+  SetCutsWithDefault();   
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PionShowerModel.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PionShowerModel.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PionShowerModel.cc	(revision 901)
@@ -0,0 +1,230 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05PionShowerModel.cc,v 1.19 2007/05/18 14:32:35 mverderi Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+#include "ExN05PionShowerModel.hh"
+#include "ExN05EnergySpot.hh"
+
+#include "Randomize.hh"
+
+#include "G4PionMinus.hh"
+#include "G4PionPlus.hh"
+#include "G4TransportationManager.hh"
+#include "G4VSensitiveDetector.hh"
+#include "G4TouchableHistory.hh"
+
+#include "G4Colour.hh"
+
+ExN05PionShowerModel::ExN05PionShowerModel(G4String modelName, G4Region* envelope)
+: G4VFastSimulationModel(modelName, envelope)
+{
+  fFakeStep          = new G4Step();
+  fFakePreStepPoint  = fFakeStep->GetPreStepPoint();
+  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
+  fTouchableHandle   = new G4TouchableHistory();
+  fpNavigator        = new G4Navigator();
+  fNaviSetup         = false;
+}
+
+ExN05PionShowerModel::ExN05PionShowerModel(G4String modelName)
+: G4VFastSimulationModel(modelName)
+{
+  fFakeStep          = new G4Step();
+  fFakePreStepPoint  = fFakeStep->GetPreStepPoint();
+  fFakePostStepPoint = fFakeStep->GetPostStepPoint();
+  fTouchableHandle   = new G4TouchableHistory();
+  fpNavigator        = new G4Navigator();
+  fNaviSetup         = false;
+}
+
+ExN05PionShowerModel::~ExN05PionShowerModel()
+{
+  delete fFakeStep;
+  delete fpNavigator;
+}
+
+G4bool ExN05PionShowerModel::IsApplicable(const G4ParticleDefinition& particleType)
+{
+  return 
+    &particleType == G4PionMinus::PionMinusDefinition() ||
+    &particleType == G4PionPlus::PionPlusDefinition();
+}
+
+G4bool ExN05PionShowerModel::ModelTrigger(const G4FastTrack&)
+{
+  // Applies the parameterisation always:
+  // ie as soon as the pion enters the envelope
+  return true;
+}
+
+void ExN05PionShowerModel::DoIt(const G4FastTrack& fastTrack, 
+		     G4FastStep& fastStep)
+{
+  //  G4cout << "ExN05PionShowerModel::DoIt" << G4endl;
+
+  // Kill the parameterised particle:
+  fastStep.KillPrimaryTrack();
+  fastStep.ProposePrimaryTrackPathLength(0.0);
+  fastStep.ProposeTotalEnergyDeposited(fastTrack.GetPrimaryTrack()->GetKineticEnergy());
+
+  // split into "energy spots" energy according to the shower shape:
+  Explode(fastTrack);
+  
+  // and put those energy spots into the crystals:
+  BuildDetectorResponse();
+}
+
+void ExN05PionShowerModel::Explode(const G4FastTrack& fastTrack)
+{
+  //-----------------------------------------------------
+  // Non-physical shower generated: exp along z and
+  // transverse.
+  //-----------------------------------------------------
+
+  // center of the shower, we put at the middle of the ghost:
+  G4ThreeVector showerCenter;
+  G4double distOut;
+  distOut = fastTrack.GetEnvelopeSolid()->
+    DistanceToOut(fastTrack.GetPrimaryTrackLocalPosition(),
+		  fastTrack.GetPrimaryTrackLocalDirection());
+  showerCenter = fastTrack.GetPrimaryTrackLocalPosition() + 
+    (distOut/2.)*fastTrack.GetPrimaryTrackLocalDirection();
+
+  showerCenter = fastTrack.GetInverseAffineTransformation()->
+    TransformPoint(showerCenter);
+
+  // axis of the shower, in global reference frame:
+  G4ThreeVector xShower, yShower, zShower;
+  zShower = fastTrack.GetPrimaryTrack()->GetMomentumDirection();
+  xShower = zShower.orthogonal();
+  yShower = zShower.cross(xShower);
+  
+  // shoot the energy spots:
+  G4double Energy = fastTrack.GetPrimaryTrack()->GetKineticEnergy();
+  G4int nSpot = 50;
+  G4double deposit = Energy/double(nSpot);
+  ExN05EnergySpot eSpot;
+  eSpot.SetEnergy(deposit);
+  G4ThreeVector ePoint;
+
+  // clear the spot list before use
+  feSpotList.clear();
+
+  G4double z, r, phi;
+  for (int i = 0; i < nSpot; i++)
+    {
+      z   = G4RandGauss::shoot(0,20*cm);
+      r   = G4RandGauss::shoot(0,10*cm);
+      phi = G4UniformRand()*twopi;
+      ePoint = showerCenter +
+	z*zShower +
+	r*std::cos(phi)*xShower + r*std::sin(phi)*yShower;
+      eSpot.SetPosition(ePoint);
+      feSpotList.push_back(eSpot);
+    }
+}
+
+
+void ExN05PionShowerModel::BuildDetectorResponse()
+{
+  // Does the assignation of the energy spots to the sensitive volumes:
+  for (size_t i = 0; i < feSpotList.size(); i++)
+    {
+      // Draw the energy spot:
+      G4Colour red(1.,0.,0.);
+      feSpotList[i].Draw(&red);
+      //      feSpotList[i].Print();
+      
+      // "converts" the energy spot into the fake
+      // G4Step to pass to sensitive detector:
+      AssignSpotAndCallHit(feSpotList[i]);
+    }
+}
+
+
+void ExN05PionShowerModel::AssignSpotAndCallHit(const ExN05EnergySpot &eSpot)
+{
+  //
+  // "converts" the energy spot into the fake
+  // G4Step to pass to sensitive detector:
+  //
+  FillFakeStep(eSpot);
+
+  //
+  // call sensitive part: taken/adapted from the stepping:
+  // Send G4Step information to Hit/Dig if the volume is sensitive
+  //
+  G4VPhysicalVolume* pCurrentVolume = 
+    fFakeStep->GetPreStepPoint()->GetPhysicalVolume();
+  G4VSensitiveDetector* pSensitive;
+  
+  if( pCurrentVolume != 0 )
+    {
+      pSensitive = pCurrentVolume->GetLogicalVolume()->
+	GetSensitiveDetector();
+      if( pSensitive != 0 )
+	{
+	  pSensitive->Hit(fFakeStep);
+	}
+    }
+}
+
+
+void ExN05PionShowerModel::FillFakeStep(const ExN05EnergySpot &eSpot)
+{
+  //-----------------------------------------------------------
+  // find in which volume the spot is.
+  //-----------------------------------------------------------
+  if (!fNaviSetup)
+    {
+      fpNavigator->
+	SetWorldVolume(G4TransportationManager::GetTransportationManager()->
+		       GetNavigatorForTracking()->GetWorldVolume());
+      fpNavigator->
+	LocateGlobalPointAndUpdateTouchableHandle(eSpot.GetPosition(),
+                                            G4ThreeVector(0.,0.,0.),
+					    fTouchableHandle,
+					    false);
+      fNaviSetup = true;
+    }
+  else
+    {
+      fpNavigator->
+	LocateGlobalPointAndUpdateTouchableHandle(eSpot.GetPosition(),
+                                            G4ThreeVector(0.,0.,0.),
+					    fTouchableHandle);
+     }
+  //--------------------------------------
+  // Fills attribute of the G4Step needed
+  // by our sensitive detector:
+  //-------------------------------------
+  // set touchable volume at PreStepPoint:
+  fFakePreStepPoint->SetTouchableHandle(fTouchableHandle);
+  // set total energy deposit:
+  fFakeStep->SetTotalEnergyDeposit(eSpot.GetEnergy());
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,69 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05PrimaryGeneratorAction.cc,v 1.5 2006/06/29 17:53:40 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN05PrimaryGeneratorAction.hh"
+
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+#include "globals.hh"
+
+ExN05PrimaryGeneratorAction::ExN05PrimaryGeneratorAction()
+{
+  G4int n_particle = 1;
+  particleGun = new G4ParticleGun(n_particle);
+
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4String particleName;
+  G4ParticleDefinition* particle 
+    = particleTable->FindParticle(particleName="geantino");
+  particleGun->SetParticleDefinition(particle);
+
+  particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.));
+  particleGun->SetParticleEnergy(100.*GeV);
+  particleGun->SetParticlePosition(G4ThreeVector(0.*cm,-300.*cm,0.*cm));
+}
+
+ExN05PrimaryGeneratorAction::~ExN05PrimaryGeneratorAction()
+{
+  delete particleGun;
+}
+
+void ExN05PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  particleGun->GeneratePrimaryVertex(anEvent);
+}
+
+G4ParticleGun* ExN05PrimaryGeneratorAction::GetParticleGun()
+{
+  return particleGun;
+} 
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05RunAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05RunAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N05/src/ExN05RunAction.cc	(revision 901)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN05RunAction.cc,v 1.8 2006/06/29 17:53:42 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+// Make this appear first!
+#include "G4Timer.hh"
+
+#include "ExN05RunAction.hh"
+#include "G4Run.hh"
+#include "G4UImanager.hh"
+#include "G4ios.hh"
+
+ExN05RunAction::ExN05RunAction()
+{
+  timer = new G4Timer;
+}
+
+ExN05RunAction::~ExN05RunAction()
+{
+  delete timer;
+}
+
+void ExN05RunAction::BeginOfRunAction(const G4Run* aRun)
+{
+  G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
+  //  timer->Start();
+}
+
+void ExN05RunAction::EndOfRunAction(const G4Run* aRun)
+{
+  timer->Stop();
+  G4cout << "number of event = " << aRun->GetNumberOfEvent() << G4endl;
+  //       << " " << *timer << G4endl;
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/README/index.html	(revision 901)
@@ -0,0 +1,89 @@
+$Id: README,v 1.5 2004/05/31 18:13:04 gum Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN06
+                            ----------
+
+This example presently illustrates the following basic concepts, and in
+particular (indicated with ***), how to use G4 for optical photon
+generation and transport. An extended example of what is possible
+in Geant4 with optical photons can be found at
+examples/extended/optical/LXe. 
+
+main()
+------
+
+ ==> define Random Number Engine and initial seed
+
+G4VUserPhysicsList 
+------------------
+
+ ==> define particles; including *** G4OpticalPhoton     ***
+     define processes; including *** G4Cerenkov          ***
+                                 *** G4Scintillation     ***
+                                 *** G4OpAbsorption      ***
+                                 *** G4OpRayleigh        ***
+                                 *** G4OpBoundaryProcess ***
+
+G4VUserDetectorConstruction 
+---------------------------
+
+ ==> define material: Air and Water
+     define simple G4box geometry
+     *** add G4MaterialPropertiesTable to G4Material       ***
+     *** define G4LogicalSurface(s)                        ***
+     *** define G4OpticalSurface                           ***
+     *** add G4MaterialPropertiesTable to G4OpticalSurface ***
+
+G4VUserPrimaryGeneratorAction
+-----------------------------
+
+ ==> Use G4ParticleGun to shoot a charge particle into a Cerenkov radiator
+ 
+ ==> A messenger command allows to define interactivly the polarization of an
+     primary optical photon (see for instance optPhoton.mac)
+     
+G4UserRunAction 
+---------------
+
+==> define G4Timer (start/stop)
+    set verbose levels
+
+G4UserStackingAction
+--------------------
+
+==> show how to count the number of secondary particles in an event
+
+Visualisation
+-------------
+ 
+ The Visualization Manager is set in the main().
+ The initialisation of the drawing is done via a set of /vis/ commands
+ in the macro vis.mac. This macro is automatically read from 
+ the main in case of interactive running mode.
+ 	
+ The detector has a default view which is a longitudinal view of the tank. 	
+ The tracks are drawn at the end of event, and erased at the end of run.
+ 
+ How to start
+ ------------
+ 
+ - compile and link to generate an executable
+ 	% cd N06
+ 	% gmake
+ 		
+ - execute N06 in 'batch' mode from macro files
+ 	% exampleN06   exampleN06.in
+ 		
+ - execute N06 in 'interactive mode' with visualization
+ 	% exampleN06
+ 	....
+ 	Idle> type your commands. For instance:
+ 	Idle> /control/execute optPhoton.mac
+ 	....
+ 	Idle> exit
+ 
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/exampleN06.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/exampleN06.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/exampleN06.cc	(revision 901)
@@ -0,0 +1,155 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN06.cc,v 1.14 2006/06/29 17:53:52 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//
+// Description: Test of Continuous Process G4Cerenkov
+//              and RestDiscrete Process G4Scintillation
+//              -- Generation Cerenkov Photons --
+//              -- Generation Scintillation Photons --
+//              -- Transport of optical Photons --
+// Version:     5.0
+// Created:     1996-04-30
+// Author:      Juliet Armstrong
+// mail:        gum@triumf.ca
+//     
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+#include "G4UIterminal.hh"
+#include "G4UItcsh.hh"
+
+#include "G4ios.hh"
+
+#include "ExN06DetectorConstruction.hh"
+#include "ExN06PhysicsList.hh"
+#include "ExN06PrimaryGeneratorAction.hh"
+#include "ExN06RunAction.hh"
+#include "ExN06EventAction.hh"
+#include "ExN06StackingAction.hh"
+#include "ExN06SteppingVerbose.hh"
+
+#include "Randomize.hh"
+
+#ifdef G4VIS_USE
+#include "G4VisExecutive.hh"
+#endif
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+int main(int argc,char** argv)
+{
+  // Seed the random number generator manually
+  //
+  G4long myseed = 345354;
+  CLHEP::HepRandom::setTheSeed(myseed);
+  
+  // User Verbose output class
+  //
+  G4VSteppingVerbose* verbosity = new ExN06SteppingVerbose;
+  G4VSteppingVerbose::SetInstance(verbosity);
+  
+  // Run manager
+  //
+  G4RunManager* runManager = new G4RunManager;
+
+  // UserInitialization classes - mandatory
+  //
+  G4VUserDetectorConstruction* detector = new ExN06DetectorConstruction;
+  runManager-> SetUserInitialization(detector);
+  //
+  G4VUserPhysicsList* physics = new ExN06PhysicsList;
+  runManager-> SetUserInitialization(physics);
+  
+#ifdef G4VIS_USE
+  // visualization manager
+  //
+  G4VisManager* visManager = new G4VisExecutive;
+  visManager->Initialize();
+#endif
+
+  // UserAction classes
+  //
+  G4UserRunAction* run_action = new ExN06RunAction;
+  runManager->SetUserAction(run_action);
+  //
+  G4VUserPrimaryGeneratorAction* gen_action = new ExN06PrimaryGeneratorAction;
+  runManager->SetUserAction(gen_action);
+  //
+  G4UserEventAction* event_action = new ExN06EventAction;
+  runManager->SetUserAction(event_action);
+  //
+  G4UserStackingAction* stacking_action = new ExN06StackingAction;
+  runManager->SetUserAction(stacking_action);
+  
+  // Initialize G4 kernel
+  //
+  runManager->Initialize();
+    
+  // Get the pointer to the User Interface manager
+  //
+  G4UImanager* UI = G4UImanager::GetUIpointer(); 
+   
+  if (argc==1)   // Define UI session for interactive mode
+    {
+      G4UIsession* session = 0;
+#ifdef G4UI_USE_TCSH
+      session = new G4UIterminal(new G4UItcsh);      
+#else
+      session = new G4UIterminal();
+#endif    
+      UI->ApplyCommand("/control/execute vis.mac"); 
+      session->SessionStart();
+      delete session;
+   }
+   
+  else         // Batch mode
+   {
+     G4String command = "/control/execute ";
+     G4String fileName = argv[1];
+     UI->ApplyCommand(command+fileName);
+   }
+   
+  // Job termination
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+
+#ifdef G4VIS_USE
+  delete visManager;
+#endif
+  delete runManager;
+  delete verbosity;
+
+  return 0;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,66 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06DetectorConstruction.hh,v 1.5 2006/06/29 17:53:55 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN06DetectorConstruction_h
+#define ExN06DetectorConstruction_h 1
+
+#include "globals.hh"
+#include "G4VUserDetectorConstruction.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN06DetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+    ExN06DetectorConstruction();
+   ~ExN06DetectorConstruction();
+
+  public:
+    G4VPhysicalVolume* Construct();
+
+  private:
+    G4double expHall_x;
+    G4double expHall_y;
+    G4double expHall_z;
+
+    G4double tank_x;
+    G4double tank_y;
+    G4double tank_z;
+
+    G4double bubble_x;
+    G4double bubble_y;
+    G4double bubble_z;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif /*ExN06DetectorConstruction_h*/
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PhysicsList.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PhysicsList.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PhysicsList.hh	(revision 901)
@@ -0,0 +1,88 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06PhysicsList.hh,v 1.7 2006/06/29 17:53:59 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN06PhysicsList_h
+#define ExN06PhysicsList_h 1
+
+#include "globals.hh"
+#include "G4VUserPhysicsList.hh"
+
+class G4Cerenkov;
+class G4Scintillation;
+class G4OpAbsorption;
+class G4OpRayleigh;
+class G4OpBoundaryProcess;
+class ExN06PhysicsListMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN06PhysicsList : public G4VUserPhysicsList
+{
+  public:
+    ExN06PhysicsList();
+   ~ExN06PhysicsList();
+
+  public:
+    void ConstructParticle();
+    void ConstructProcess();
+
+    void SetCuts();
+
+    //these methods Construct particles
+    void ConstructBosons();
+    void ConstructLeptons();
+    void ConstructMesons();
+    void ConstructBaryons();
+
+    //these methods Construct physics processes and register them
+    void ConstructGeneral();
+    void ConstructEM();
+    void ConstructOp();
+    
+    //for the Messenger 
+    void SetVerbose(G4int);
+    void SetNbOfPhotonsCerenkov(G4int);
+    
+  private:
+    G4Cerenkov*          theCerenkovProcess;
+    G4Scintillation*     theScintillationProcess;
+    G4OpAbsorption*      theAbsorptionProcess;
+    G4OpRayleigh*        theRayleighScatteringProcess;
+    G4OpBoundaryProcess* theBoundaryProcess;
+    
+    ExN06PhysicsListMessenger* pMessenger;   
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif /* ExN06PhysicsList_h */
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,64 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06PrimaryGeneratorAction.hh,v 1.6 2006/06/29 17:54:04 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN06PrimaryGeneratorAction_h
+#define ExN06PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "globals.hh"
+
+class G4ParticleGun;
+class G4Event;
+class ExN06PrimaryGeneratorMessenger;
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class ExN06PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN06PrimaryGeneratorAction();
+   ~ExN06PrimaryGeneratorAction();
+
+  public:
+    void GeneratePrimaries(G4Event*);
+
+    void SetOptPhotonPolar();
+    void SetOptPhotonPolar(G4double);
+
+  private:
+    G4ParticleGun* particleGun;
+    ExN06PrimaryGeneratorMessenger* gunMessenger;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif /*ExN06PrimaryGeneratorAction_h*/
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06RunAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06RunAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/include/ExN06RunAction.hh	(revision 901)
@@ -0,0 +1,60 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06RunAction.hh,v 1.9 2006/06/29 17:54:10 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#ifndef ExN06RunAction_h
+#define ExN06RunAction_h 1
+
+#include "globals.hh"
+#include "G4UserRunAction.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+class G4Timer;
+class G4Run;
+
+class ExN06RunAction : public G4UserRunAction
+{
+  public:
+    ExN06RunAction();
+   ~ExN06RunAction();
+
+  public:
+    void BeginOfRunAction(const G4Run* aRun);
+    void EndOfRunAction(const G4Run* aRun);
+
+  private:
+    G4Timer* timer;
+};
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#endif /*ExN06RunAction_h*/
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,266 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06DetectorConstruction.cc,v 1.15 2006/06/29 17:54:17 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN06DetectorConstruction.hh"
+
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+#include "G4Element.hh"
+#include "G4ElementTable.hh"
+#include "G4LogicalBorderSurface.hh"
+#include "G4LogicalSkinSurface.hh"
+#include "G4Box.hh"
+#include "G4LogicalVolume.hh"
+#include "G4RotationMatrix.hh"
+#include "G4ThreeVector.hh"
+#include "G4Transform3D.hh"
+#include "G4PVPlacement.hh"
+#include "G4OpBoundaryProcess.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06DetectorConstruction::ExN06DetectorConstruction()
+{
+  expHall_x = expHall_y = expHall_z = 10*m;
+  tank_x    = tank_y    = tank_z    = 5*m;
+  bubble_x  = bubble_y  = bubble_z  = 0.5*m;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06DetectorConstruction::~ExN06DetectorConstruction(){;}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+G4VPhysicalVolume* ExN06DetectorConstruction::Construct()
+{
+
+//	------------- Materials -------------
+
+  G4double a, z, density;
+  G4int nelements;
+
+// Air
+// 
+  G4Element* N = new G4Element("Nitrogen", "N", z=7 , a=14.01*g/mole);
+  G4Element* O = new G4Element("Oxygen"  , "O", z=8 , a=16.00*g/mole);
+
+  G4Material* Air = new G4Material("Air", density=1.29*mg/cm3, nelements=2);
+  Air->AddElement(N, 70.*perCent);
+  Air->AddElement(O, 30.*perCent);
+
+// Water
+// 
+  G4Element* H = new G4Element("Hydrogen", "H", z=1 , a=1.01*g/mole);
+
+  G4Material* Water = new G4Material("Water", density= 1.0*g/cm3, nelements=2);
+  Water->AddElement(H, 2);
+  Water->AddElement(O, 1);
+
+//
+// ------------ Generate & Add Material Properties Table ------------
+//
+  const G4int nEntries = 32;
+
+  G4double PhotonEnergy[nEntries] =
+            { 2.034*eV, 2.068*eV, 2.103*eV, 2.139*eV,
+              2.177*eV, 2.216*eV, 2.256*eV, 2.298*eV,
+              2.341*eV, 2.386*eV, 2.433*eV, 2.481*eV,
+              2.532*eV, 2.585*eV, 2.640*eV, 2.697*eV,
+              2.757*eV, 2.820*eV, 2.885*eV, 2.954*eV,
+              3.026*eV, 3.102*eV, 3.181*eV, 3.265*eV,
+              3.353*eV, 3.446*eV, 3.545*eV, 3.649*eV,
+              3.760*eV, 3.877*eV, 4.002*eV, 4.136*eV };
+//
+// Water
+//	      
+  G4double RefractiveIndex1[nEntries] =
+            { 1.3435, 1.344,  1.3445, 1.345,  1.3455,
+              1.346,  1.3465, 1.347,  1.3475, 1.348,
+              1.3485, 1.3492, 1.35,   1.3505, 1.351,
+              1.3518, 1.3522, 1.3530, 1.3535, 1.354,
+              1.3545, 1.355,  1.3555, 1.356,  1.3568,
+              1.3572, 1.358,  1.3585, 1.359,  1.3595,
+              1.36,   1.3608};
+
+  G4double Absorption1[nEntries] =
+           {3.448*m,  4.082*m,  6.329*m,  9.174*m, 12.346*m, 13.889*m,
+           15.152*m, 17.241*m, 18.868*m, 20.000*m, 26.316*m, 35.714*m,
+           45.455*m, 47.619*m, 52.632*m, 52.632*m, 55.556*m, 52.632*m,
+           52.632*m, 47.619*m, 45.455*m, 41.667*m, 37.037*m, 33.333*m,
+           30.000*m, 28.500*m, 27.000*m, 24.500*m, 22.000*m, 19.500*m,
+           17.500*m, 14.500*m };
+
+  G4double ScintilFast[nEntries] =
+            { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00 };
+  G4double ScintilSlow[nEntries] =
+            { 0.01, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00,
+              7.00, 8.00, 9.00, 8.00, 7.00, 6.00, 4.00,
+              3.00, 2.00, 1.00, 0.01, 1.00, 2.00, 3.00,
+              4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 8.00,
+              7.00, 6.00, 5.00, 4.00 };
+
+  G4MaterialPropertiesTable* myMPT1 = new G4MaterialPropertiesTable();
+  myMPT1->AddProperty("RINDEX",       PhotonEnergy, RefractiveIndex1,nEntries);
+  myMPT1->AddProperty("ABSLENGTH",    PhotonEnergy, Absorption1,     nEntries);
+  myMPT1->AddProperty("FASTCOMPONENT",PhotonEnergy, ScintilFast,     nEntries);
+  myMPT1->AddProperty("SLOWCOMPONENT",PhotonEnergy, ScintilSlow,     nEntries);
+  
+  myMPT1->AddConstProperty("SCINTILLATIONYIELD",50./MeV);
+  myMPT1->AddConstProperty("RESOLUTIONSCALE",1.0);
+  myMPT1->AddConstProperty("FASTTIMECONSTANT", 1.*ns);
+  myMPT1->AddConstProperty("SLOWTIMECONSTANT",10.*ns);
+  myMPT1->AddConstProperty("YIELDRATIO",0.8);
+  
+  Water->SetMaterialPropertiesTable(myMPT1);
+
+//
+// Air
+//
+  G4double RefractiveIndex2[nEntries] =
+            { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00,
+              1.00, 1.00, 1.00, 1.00 };
+
+  G4MaterialPropertiesTable* myMPT2 = new G4MaterialPropertiesTable();
+  myMPT2->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex2, nEntries);
+  
+  Air->SetMaterialPropertiesTable(myMPT2);
+
+//
+//	------------- Volumes --------------
+
+// The experimental Hall
+//
+  G4Box* expHall_box = new G4Box("World",expHall_x,expHall_y,expHall_z);
+
+  G4LogicalVolume* expHall_log
+    = new G4LogicalVolume(expHall_box,Air,"World",0,0,0);
+
+  G4VPhysicalVolume* expHall_phys
+    = new G4PVPlacement(0,G4ThreeVector(),expHall_log,"World",0,false,0);
+
+// The Water Tank
+//	
+  G4Box* waterTank_box = new G4Box("Tank",tank_x,tank_y,tank_z);
+
+  G4LogicalVolume* waterTank_log
+    = new G4LogicalVolume(waterTank_box,Water,"Tank",0,0,0);
+
+  G4VPhysicalVolume* waterTank_phys
+    = new G4PVPlacement(0,G4ThreeVector(),waterTank_log,"Tank",
+                        expHall_log,false,0);
+
+// The Air Bubble
+//   
+  G4Box* bubbleAir_box = new G4Box("Bubble",bubble_x,bubble_y,bubble_z);
+
+  G4LogicalVolume* bubbleAir_log
+    = new G4LogicalVolume(bubbleAir_box,Air,"Bubble",0,0,0);
+
+//G4VPhysicalVolume* bubbleAir_phys =
+      new G4PVPlacement(0,G4ThreeVector(0,2.5*m,0),bubbleAir_log,"Bubble",
+                        waterTank_log,false,0);
+
+//	------------- Surfaces --------------
+//
+// Water Tank
+//
+  G4OpticalSurface* OpWaterSurface = new G4OpticalSurface("WaterSurface");
+  OpWaterSurface->SetType(dielectric_dielectric);
+  OpWaterSurface->SetFinish(ground);
+  OpWaterSurface->SetModel(unified);
+
+  G4LogicalBorderSurface* WaterSurface = 
+                                 new G4LogicalBorderSurface("WaterSurface",
+                                 waterTank_phys,expHall_phys,OpWaterSurface);
+
+  if(WaterSurface->GetVolume1() == waterTank_phys) G4cout << "Equal" << G4endl;
+  if(WaterSurface->GetVolume2() == expHall_phys  ) G4cout << "Equal" << G4endl;
+
+// Air Bubble
+//
+  G4OpticalSurface* OpAirSurface = new G4OpticalSurface("AirSurface");
+  OpAirSurface->SetType(dielectric_dielectric);
+  OpAirSurface->SetFinish(polished);
+  OpAirSurface->SetModel(glisur);
+
+  G4LogicalSkinSurface* AirSurface = 
+	  new G4LogicalSkinSurface("AirSurface", bubbleAir_log, OpAirSurface);
+
+  if(AirSurface->GetLogicalVolume() == bubbleAir_log) G4cout << "Equal" << G4endl;
+  ((G4OpticalSurface*)
+  (AirSurface->GetSurface(bubbleAir_log)->GetSurfaceProperty()))->DumpInfo();
+
+//
+// Generate & Add Material Properties Table attached to the optical surfaces
+//
+  const G4int num = 2;
+  G4double Ephoton[num] = {2.038*eV, 4.144*eV};
+
+  //OpticalWaterSurface 
+  G4double RefractiveIndex[num] = {1.35, 1.40};
+  G4double SpecularLobe[num]    = {0.3, 0.3};
+  G4double SpecularSpike[num]   = {0.2, 0.2};
+  G4double Backscatter[num]     = {0.2, 0.2};
+
+  G4MaterialPropertiesTable* myST1 = new G4MaterialPropertiesTable();
+  
+  myST1->AddProperty("RINDEX",                Ephoton, RefractiveIndex, num);
+  myST1->AddProperty("SPECULARLOBECONSTANT",  Ephoton, SpecularLobe,    num);
+  myST1->AddProperty("SPECULARSPIKECONSTANT", Ephoton, SpecularSpike,   num);
+  myST1->AddProperty("BACKSCATTERCONSTANT",   Ephoton, Backscatter,     num);
+
+  OpWaterSurface->SetMaterialPropertiesTable(myST1);
+
+  //OpticalAirSurface
+  G4double Reflectivity[num] = {0.3, 0.5};
+  G4double Efficiency[num]   = {0.8, 1.0};
+
+  G4MaterialPropertiesTable *myST2 = new G4MaterialPropertiesTable();
+
+  myST2->AddProperty("REFLECTIVITY", Ephoton, Reflectivity, num);
+  myST2->AddProperty("EFFICIENCY",   Ephoton, Efficiency,   num);
+
+  OpAirSurface->SetMaterialPropertiesTable(myST2);
+
+//always return the physical World
+  return expHall_phys;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PhysicsList.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PhysicsList.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PhysicsList.cc	(revision 901)
@@ -0,0 +1,321 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06PhysicsList.cc,v 1.14 2007/09/30 22:51:03 gum Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4ios.hh"
+#include <iomanip>
+
+#include "globals.hh"
+#include "ExN06PhysicsList.hh"
+#include "ExN06PhysicsListMessenger.hh"
+
+#include "G4ParticleDefinition.hh"
+#include "G4ParticleTypes.hh"
+#include "G4ParticleTable.hh"
+
+#include "G4Material.hh"
+#include "G4MaterialTable.hh"
+
+#include "G4ProcessManager.hh"
+#include "G4ProcessVector.hh"
+
+#include "G4Cerenkov.hh"
+#include "G4Scintillation.hh"
+#include "G4OpAbsorption.hh"
+#include "G4OpRayleigh.hh"
+#include "G4OpBoundaryProcess.hh"
+ 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06PhysicsList::ExN06PhysicsList() :  G4VUserPhysicsList()
+{
+  theCerenkovProcess           = 0;
+  theScintillationProcess      = 0;
+  theAbsorptionProcess         = 0;
+  theRayleighScatteringProcess = 0;
+  theBoundaryProcess           = 0;
+  
+  pMessenger = new ExN06PhysicsListMessenger(this);  
+  SetVerboseLevel(0);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06PhysicsList::~ExN06PhysicsList() { delete pMessenger;}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructParticle()
+{
+  // In this method, static member functions should be called
+  // for all particles which you want to use.
+  // This ensures that objects of these particle types will be
+  // created in the program.
+
+  ConstructBosons();
+  ConstructLeptons();
+  ConstructMesons();
+  ConstructBaryons();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructBosons()
+{
+  // pseudo-particles
+  G4Geantino::GeantinoDefinition();
+  G4ChargedGeantino::ChargedGeantinoDefinition();
+
+  // gamma
+  G4Gamma::GammaDefinition();
+
+  // optical photon
+  G4OpticalPhoton::OpticalPhotonDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructLeptons()
+{
+  // leptons
+  G4Electron::ElectronDefinition();
+  G4Positron::PositronDefinition();
+  G4NeutrinoE::NeutrinoEDefinition();
+  G4AntiNeutrinoE::AntiNeutrinoEDefinition();
+  G4MuonPlus::MuonPlusDefinition();
+  G4MuonMinus::MuonMinusDefinition();
+  G4NeutrinoMu::NeutrinoMuDefinition();
+  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructMesons()
+{
+ //  mesons
+  G4PionPlus::PionPlusDefinition();
+  G4PionMinus::PionMinusDefinition();
+  G4PionZero::PionZeroDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructBaryons()
+{
+//  barions
+  G4Proton::ProtonDefinition();
+  G4AntiProton::AntiProtonDefinition();
+  G4Neutron::NeutronDefinition();
+  G4AntiNeutron::AntiNeutronDefinition();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructProcess()
+{
+  AddTransportation();
+  ConstructGeneral();
+  ConstructEM();
+  ConstructOp();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4Decay.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructGeneral()
+{
+  // Add Decay Process
+  G4Decay* theDecayProcess = new G4Decay();
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    if (theDecayProcess->IsApplicable(*particle)) {
+      pmanager ->AddProcess(theDecayProcess);
+      // set ordering for PostStepDoIt and AtRestDoIt
+      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
+      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "G4ComptonScattering.hh"
+#include "G4GammaConversion.hh"
+#include "G4PhotoElectricEffect.hh"
+
+#include "G4MultipleScattering.hh"
+
+#include "G4eIonisation.hh"
+#include "G4eBremsstrahlung.hh"
+#include "G4eplusAnnihilation.hh"
+
+#include "G4MuIonisation.hh"
+#include "G4MuBremsstrahlung.hh"
+#include "G4MuPairProduction.hh"
+
+#include "G4hIonisation.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructEM()
+{
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    G4String particleName = particle->GetParticleName();
+
+    if (particleName == "gamma") {
+    // gamma
+      // Construct processes for gamma
+//      pmanager->AddDiscreteProcess(new G4GammaConversion());
+//      pmanager->AddDiscreteProcess(new G4ComptonScattering());
+//      pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
+
+    } else if (particleName == "e-") {
+    //electron
+      // Construct processes for electron
+      pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1);
+      pmanager->AddProcess(new G4eIonisation(),       -1, 2, 2);
+      pmanager->AddProcess(new G4eBremsstrahlung(),   -1, 3, 3);
+
+    } else if (particleName == "e+") {
+    //positron
+      // Construct processes for positron
+      pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1);
+      pmanager->AddProcess(new G4eIonisation(),       -1, 2, 2);
+      pmanager->AddProcess(new G4eBremsstrahlung(),   -1, 3, 3);
+      pmanager->AddProcess(new G4eplusAnnihilation(),  0,-1, 4);
+
+    } else if( particleName == "mu+" ||
+               particleName == "mu-"    ) {
+    //muon
+     // Construct processes for muon
+     pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1);
+     pmanager->AddProcess(new G4MuIonisation(),      -1, 2, 2);
+     pmanager->AddProcess(new G4MuBremsstrahlung(),  -1, 3, 3);
+     pmanager->AddProcess(new G4MuPairProduction(),  -1, 4, 4);
+
+    } else {
+      if ((particle->GetPDGCharge() != 0.0) &&
+          (particle->GetParticleName() != "chargedgeantino")) {
+     // all others charged particles except geantino
+       pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
+       pmanager->AddProcess(new G4hIonisation(),       -1,2,2);
+     }
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::ConstructOp()
+{
+  theCerenkovProcess           = new G4Cerenkov("Cerenkov");
+  theScintillationProcess = new G4Scintillation("Scintillation");
+  theAbsorptionProcess     = new G4OpAbsorption();
+  theRayleighScatteringProcess = new G4OpRayleigh();
+  theBoundaryProcess  = new G4OpBoundaryProcess();
+
+//  theCerenkovProcess->DumpPhysicsTable();
+//  theScintillationProcess->DumpPhysicsTable();
+//  theAbsorptionProcess->DumpPhysicsTable();
+//  theRayleighScatteringProcess->DumpPhysicsTable();
+
+  SetVerbose(1);
+  
+  theCerenkovProcess->SetMaxNumPhotonsPerStep(300);
+  theCerenkovProcess->SetTrackSecondariesFirst(true);
+  
+  theScintillationProcess->SetScintillationYieldFactor(1.);
+  theScintillationProcess->SetTrackSecondariesFirst(true);
+
+  G4OpticalSurfaceModel themodel = unified;
+  theBoundaryProcess->SetModel(themodel);
+
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    G4String particleName = particle->GetParticleName();
+    if (theCerenkovProcess->IsApplicable(*particle)) {
+      pmanager->AddProcess(theCerenkovProcess);
+      pmanager->SetProcessOrdering(theCerenkovProcess,idxPostStep);
+    }
+    if (theScintillationProcess->IsApplicable(*particle)) {
+      pmanager->AddProcess(theScintillationProcess);
+      pmanager->SetProcessOrderingToLast(theScintillationProcess, idxAtRest);
+      pmanager->SetProcessOrderingToLast(theScintillationProcess, idxPostStep);
+    }
+    if (particleName == "opticalphoton") {
+      G4cout << " AddDiscreteProcess to OpticalPhoton " << G4endl;
+      pmanager->AddDiscreteProcess(theAbsorptionProcess);
+      pmanager->AddDiscreteProcess(theRayleighScatteringProcess);
+      pmanager->AddDiscreteProcess(theBoundaryProcess);
+    }
+  }
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::SetVerbose(G4int verbose)
+{
+  theCerenkovProcess->SetVerboseLevel(verbose);
+  theScintillationProcess->SetVerboseLevel(verbose);
+  theAbsorptionProcess->SetVerboseLevel(verbose);
+  theRayleighScatteringProcess->SetVerboseLevel(verbose);
+  theBoundaryProcess->SetVerboseLevel(verbose);  
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::SetNbOfPhotonsCerenkov(G4int MaxNumber)
+{  
+  theCerenkovProcess->SetMaxNumPhotonsPerStep(MaxNumber);
+}
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PhysicsList::SetCuts()
+{
+  //  " G4VUserPhysicsList::SetCutsWithDefault" method sets 
+  //   the default cut value for all particle types
+  // 
+  SetCutsWithDefault();
+  
+  if (verboseLevel>0) DumpCutValuesTable();   
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,112 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06PrimaryGeneratorAction.cc,v 1.6 2006/06/29 17:54:27 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+#include "ExN06PrimaryGeneratorAction.hh"
+#include "ExN06PrimaryGeneratorMessenger.hh"
+
+#include "Randomize.hh"
+
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06PrimaryGeneratorAction::ExN06PrimaryGeneratorAction()
+{
+  G4int n_particle = 1;
+  particleGun = new G4ParticleGun(n_particle);
+  
+  //create a messenger for this class
+  gunMessenger = new ExN06PrimaryGeneratorMessenger(this);
+  
+  //default kinematic
+  //
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4ParticleDefinition* particle = particleTable->FindParticle("e+");
+
+  particleGun->SetParticleDefinition(particle);
+  particleGun->SetParticleTime(0.0*ns);
+  particleGun->SetParticlePosition(G4ThreeVector(0.0*cm,0.0*cm,0.0*cm));
+  particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.));
+  particleGun->SetParticleEnergy(500.0*keV);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06PrimaryGeneratorAction::~ExN06PrimaryGeneratorAction()
+{
+  delete particleGun;
+  delete gunMessenger;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  particleGun->GeneratePrimaryVertex(anEvent);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PrimaryGeneratorAction::SetOptPhotonPolar()
+{
+ G4double angle = G4UniformRand() * 360.0*deg;
+ SetOptPhotonPolar(angle);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06PrimaryGeneratorAction::SetOptPhotonPolar(G4double angle)
+{
+ if (particleGun->GetParticleDefinition()->GetParticleName() != "opticalphoton")
+   {
+     G4cout << "--> warning from PrimaryGeneratorAction::SetOptPhotonPolar() :"
+               "the particleGun is not an opticalphoton" << G4endl;
+     return;
+   }
+     	       
+ G4ThreeVector normal (1., 0., 0.);
+ G4ThreeVector kphoton = particleGun->GetParticleMomentumDirection();
+ G4ThreeVector product = normal.cross(kphoton); 
+ G4double modul2       = product*product;
+ 
+ G4ThreeVector e_perpend (0., 0., 1.);
+ if (modul2 > 0.) e_perpend = (1./std::sqrt(modul2))*product; 
+ G4ThreeVector e_paralle    = e_perpend.cross(kphoton);
+ 
+ G4ThreeVector polar = std::cos(angle)*e_paralle + std::sin(angle)*e_perpend;
+ particleGun->SetParticlePolarization(polar);
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06RunAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06RunAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N06/src/ExN06RunAction.cc	(revision 901)
@@ -0,0 +1,71 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN06RunAction.cc,v 1.10 2006/06/29 17:54:31 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+// 
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+// Make this appear first!
+#include "G4Timer.hh"
+
+#include "ExN06RunAction.hh"
+
+#include "G4Run.hh"
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06RunAction::ExN06RunAction()
+{
+  timer = new G4Timer;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+ExN06RunAction::~ExN06RunAction()
+{
+  delete timer;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06RunAction::BeginOfRunAction(const G4Run* aRun)
+{
+  G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; 
+  timer->Start();
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+
+void ExN06RunAction::EndOfRunAction(const G4Run* aRun)
+{   
+  timer->Stop();
+  G4cout << "number of event = " << aRun->GetNumberOfEvent() 
+         << " " << *timer << G4endl;
+}
+
+//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/README/index.html
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/README/index.html	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/README/index.html	(revision 901)
@@ -0,0 +1,220 @@
+$Id: README,v 1.5 2007/05/04 01:49:28 asaim Exp $
+-------------------------------------------------------------------
+
+     =========================================================
+     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
+     =========================================================
+
+                            ExampleN07
+                            ----------
+
+
+     This example simulates three simplified sandwitch calorimeters.
+     The main features demonstrated in this example are :
+
+     1. Utilizing a concrete run class derived from G4Run base class for
+       accumulating physics quantities for a run
+     2. Changing calorimeter geometries without re-building a world volume
+     3. Defining geometrical regions and setting production thresholds
+       for each region
+     4. Demonstrating the use of primitive scorer and filter classes without
+       implementing sensitive detector class
+     5. Demonstrating the use of parallel scoring geometry and associating
+       parallel world scoring process
+     6. Measuring the timing spent for each region, both for all particle
+       types and for e+/e-
+
+     **********************************************************************
+     Note: Since this example utilizes its own ExN07SteppingVerbose for the
+       timing measurement, the user cannot get the ordinary verbosity with
+       /tracking/verbose.
+     **********************************************************************
+
+ 1- Utilizing a concrete run class derived from G4Run base class for
+    accumulating physics quantities for a run
+ 
+    G4Run is a class the user can inherit and create his/her own concrete
+    class for accumulating information useful to him/her. It has a virtual
+    method RecordEvent(const G4Event*), which will be invoked by G4RunManager
+    at the end of processing each event. By implemeting this method in the
+    user'r concrete run class, he/she can store information associating with
+    G4Event class itself and hits collections attached with G4Event. In this
+    example, ExN07Run is the class derived from G4Run. In the method
+    ExN07Run::RecordEvent(const G4Event*), in addition to counting the
+    number of events, all hits collections are accessed to accumulate
+    energy depositions, step lengths and number of steps.
+
+    In case the user create his/her own run class, an object of this class
+    must be instantiated in the method GenerateRun() of his/her concrete
+    class derived from G4UserRunAction base class. The pointer to this run
+    object must be returned by this method. In this example, ExN07RunAction
+    is the class which instantiating ExN07Run class object.  In
+    ExN07RunAction::EndOfRunAction(const G4Run*) method, ExN07Run object
+    is analized to output the run summary.
+
+    It should be noted that some information about generated secondaries
+    are collected in ExN07StackinAction instead of sensitive detector class.
+    ExN07StackingAction::ClassifyNewTrack(const G4Track*) method is used
+    not for classifying tracks sent to the stack, but for accessing to all
+    secondaries generated in an event. 
+         
+ 2- Changing calorimeter geometries without re-building a world volume
+
+    In ExN07DetectorConstruction, all solids, logical and physical volumes
+    are constructed only once at the first invocation of Constuct() method.
+    Positions and number of slices are changed not by re-constructing another
+    objects but by modifying data members of already existing objects as
+    it is implemented in ExN07DetectorConstruction::SetNumberOfLayers(G4int)
+    for changing the number of parameterized volumes, and also
+    ExN07DetectorConstruction::SetSerialGeometry(G4bool) for changing the
+    position of placed volumes.
+ 
+ 3- Defining geometrical regions and setting production thresholds
+    for each region
+
+    Setting production thresholds (so-called production cuts) to individual
+    region of a detector geometry is the new feature provided by Geant4 5.1
+    release. This feature is also called as "Cuts per region".
+
+    Please note that this new feature is supporsed to be used only by the
+    users,
+     a) who is simulating most complex geometry such as an LHC detector,
+     b) and who has enough experience of simulating EM showers in matter.
+    We strongly recommend to compare the simulated results of this new
+    feature with the results of the same geometry but having uniform 
+    production thresholds. Setting completely different cut values for
+    individual region may break the coherent and comprehensive accuracy
+    of the simulation. Thus such cut values should be carefully optimized
+    by the user with comparison with results of uniform cuts.
+
+    In ExN07DetectorConstruction::Construct(), Three objects of G4Region
+    class are instantiated and set to the logical volumes of each of three
+    calorimeter modules. Also, these individual logical volumes are
+    registered as "root logical volume" so that all daghter volumes in
+    these logical volumes are also affected by the corresponding regions.
+
+    In ExN07PhysicsList::SetCuts(), in addition to set the default threshold
+    values for the world volume, three threshold values are set to three
+    calorimeter regions respectively. By setting production thresholds to
+    a region, gamma, electron or positron will not be generated as a
+    secondary if its range is shorter than the production threshold of that
+    particular region. Please note that some EM processes still generate
+    such secondary below threshold.
+
+ 4- Demonstrating the use of primitive scorer and filter classes without
+    implementing sensitive detector class
+
+    In ExN07DetectorConstruction::SetupDetector() method, concrete classes
+    G4PSEnergyDeposit, G4PSNofSecondary, G4PSTrackLength, G4PSNofStep and
+    G4PSMinKinEAtGeneration, all of thich are derivalable of G4VPrimitiveScorer,
+    are used to define the sensitivity of the calorimeter. All of them are
+    registered to G4MultiFunctionalDetector and this detector object is set
+    to the logical volume. G4SDParticleFilter is used to define the particle
+    type(s) to be scored.
+
+    In ExN07Run::RecordEvent() method, the way of retreiving G4THitsMap
+    from each primitive scorer via G4HCofThisEvent is demonstrated.
+    In ExN07RunAction::EndOfRunAction(), Run is summarized with data kept
+    in ExN07Run class object.
+
+ 5- Demonstrating the use of parallel scoring geometry and associating
+    parallel world scoring process
+
+    In ExN07PhysicsList::ConstructGeneral(), G4ParallelWorldScoringProcess is
+    assigned to all the particle types. This process invokes sensitive detectors
+    (and scorers) defined in the parallel world "ParallelScoringWorld", the
+    name of the parallel world which is defined in main() (exampleN07.cc) as
+    an argument of ExN07ParallelWorld constructor.
+    
+    As implemented in ExN07ParallelWorld::SetupGeometry(), the world volume of
+    the parallel world is obtained by GetWorld() method as a clone copy of the
+    world volume of the mass geometry. The user should not create the world volume.
+
+    ExN07ParallelWorld defines three cylindrical volumes, each of them is
+    located at the same position as three sandwitch calorimeters defined
+    in the mass geometry (ExN07DetectorConstruction). Each cylinder is replicated
+    in Rho to define 20 layers, and scores the same quantities as the mass geometry.
+    These three cylinders are relocated accordingly when the mass geometry is
+    modified by ExN07DetectorConstruction::SetSerialGeometry().
+
+ 6- Measuring the timing spent for each region, both for all particle
+    types and for e+/e-
+ 
+    ExN07SteppingVerbose class has two G4SliceTimer class objects for each
+    detector region. One G4SliceTimer is measuring the time spent by a step
+    in a region for all types of particles, and another is measuring for
+    e+/e- only. 
+
+    ExN07SteppingVerbose::InitializeTimers() is invoked by ExN07RunAction::
+    BeginOfRunAction(), and checks the number of regions appear in the
+    geometry and instantiates the necessary number of timers. Thus, this
+    ExN07SteppingVerbose class can be used for any kind of geometry the user
+    defines without any modification. Given G4VSteppingVerbose is not invoked
+    if the verbosity of G4SteppingManager is 0, this verbosity is set to 1.
+
+    NewStep() and StepInfo() are the methods defined in G4VSteppingVerbose
+    base class, and they are invoked at the beginning and the end of every
+    step, respectively, from G4SteppingManager. Thus, these methods are
+    utilized in ExN07SteppingVerbose to start/resume and pause the timer.
+
+    ExN07SteppingVerbose::Report() method is used by ExN07RunAction::
+    EndOfRunAction() to get the timing measured.
+
+ 7- Macro files
+
+  exampleN07.in
+    To be used for batch mode. The reference output file is made by this
+    macro file.
+
+  sample.mac
+    To be used for interactive mode. Issue "/control/execute sample.mac"
+    when "Idle>" prompt appears.
+
+  vis.mac
+    Setting visualization parameters. This macro file will be called 
+    automatically when interactive execution starts.
+
+ 8- UI commands defined in this example
+ 
+Command /N07/setAbsMat
+Guidance :
+Select Material of the Absorber.
+
+Parameter : choice
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : Aluminium liquidArgon Lead Water Scintillator Air Galactic 
+
+
+
+Command /N07/setGapMat
+Guidance :
+Select Material of the Gap.
+
+Parameter : choice
+ Parameter type  : s
+ Omittable       : False
+ Candidates      : Aluminium liquidArgon Lead Water Scintillator Air Galactic 
+
+
+
+Command /N07/numberOfLayers
+Guidance :
+Set number of layers.
+ Range of parameters : nl>0
+
+Parameter : nl
+ Parameter type  : i
+ Omittable       : False
+
+
+
+Command /N07/serialGeometry
+Guidance :
+Select calorimeters to be placed in serial or parallel.
+
+Parameter : serialize
+ Parameter type  : b
+ Omittable       : False
+
+     
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/exampleN07.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/exampleN07.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/exampleN07.cc	(revision 901)
@@ -0,0 +1,127 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: exampleN07.cc,v 1.10 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+// --------------------------------------------------------------
+//      GEANT 4 - exampleN07 
+// --------------------------------------------------------------
+
+#include "G4RunManager.hh"
+#include "G4UImanager.hh"
+#include "G4UIterminal.hh"
+#include "G4UItcsh.hh"
+
+#ifdef G4VIS_USE
+#include "G4VisExecutive.hh"
+#endif
+#include "ExN07DetectorConstruction.hh"
+#include "ExN07ParallelWorld.hh"
+#include "ExN07PhysicsList.hh"
+#include "ExN07PrimaryGeneratorAction.hh"
+#include "ExN07RunAction.hh"
+#include "ExN07SteppingVerbose.hh"
+
+int main(int argc,char** argv)
+{
+ // Construct the stepping verbose class
+ ExN07SteppingVerbose* verbosity = new ExN07SteppingVerbose;
+ G4VSteppingVerbose::SetInstance(verbosity);
+
+ // Construct the run manager
+ //
+ G4RunManager * runManager = new G4RunManager;
+
+ // Set mandatory initialization classes
+ //
+ G4VUserDetectorConstruction* detector = new ExN07DetectorConstruction;
+ detector->RegisterParallelWorld(new ExN07ParallelWorld("ParallelScoringWorld"));
+ runManager->SetUserInitialization(detector);
+ //
+ G4VUserPhysicsList* physics = new ExN07PhysicsList;
+ runManager->SetUserInitialization(physics);
+    
+ // Set user action classes
+ //
+ G4VUserPrimaryGeneratorAction* gen_action = new ExN07PrimaryGeneratorAction;
+ runManager->SetUserAction(gen_action);
+ //
+ G4UserRunAction* run_action = new ExN07RunAction;
+ runManager->SetUserAction(run_action);
+  
+#ifdef G4VIS_USE
+ // Visualization manager
+ //
+ G4VisManager* visManager = new G4VisExecutive;
+ visManager->Initialize();
+#endif
+    
+ // Initialize G4 kernel
+ //
+ runManager->Initialize();
+  
+ // Get the pointer to the User Interface manager
+ //
+ G4UImanager* UI = G4UImanager::GetUIpointer();  
+
+ if (argc==1)   // Define UI session for interactive mode
+ {
+   G4UIsession* session=0;
+  
+   // G4UIterminal is a (dumb) terminal
+   //
+#ifdef G4UI_USE_TCSH
+   session = new G4UIterminal(new G4UItcsh);      
+#else
+   session = new G4UIterminal();
+#endif    
+      
+   UI->ApplyCommand("/control/execute vis.mac");    
+   session->SessionStart();
+
+   delete session;
+ }
+ else           // Batch mode
+ { 
+   G4String command = "/control/execute ";
+   G4String fileName = argv[1];
+   UI->ApplyCommand(command+fileName);
+ }
+
+  // Job termination
+  // Free the store: user actions, physics_list and detector_description are
+  //                 owned and deleted by the run manager, so they should not
+  //                 be deleted in the main() program !
+
+#ifdef G4VIS_USE
+ delete visManager;
+#endif
+ delete runManager;
+
+ return 0;
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorConstruction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorConstruction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorConstruction.hh	(revision 901)
@@ -0,0 +1,125 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07DetectorConstruction.hh,v 1.5 2006/06/29 17:54:42 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+#ifndef ExN07DetectorConstruction_h
+#define ExN07DetectorConstruction_h 1
+
+#include "G4VUserDetectorConstruction.hh"
+#include "globals.hh"
+
+class G4LogicalVolume;
+class G4VPhysicalVolume;
+class G4PVReplica;
+class G4Material;
+class G4Box;
+class ExN07DetectorMessenger;
+
+class ExN07DetectorConstruction : public G4VUserDetectorConstruction
+{
+  public:
+    ExN07DetectorConstruction();
+    virtual ~ExN07DetectorConstruction();
+
+  public:
+    virtual G4VPhysicalVolume* Construct();
+     
+  public:
+    void PrintCalorParameters() const;
+    void SetAbsorberMaterial(G4String materialChoice);     
+    G4String GetAbsorberMaterial() const;
+    void SetGapMaterial(G4String materialChoice);     
+    G4String GetGapMaterial() const;
+    void SetSerialGeometry(G4bool ser);
+    void SetNumberOfLayers(G4int nl);
+    inline G4int GetNumberOfLayers() const
+    { return numberOfLayers; }
+    inline G4bool IsSerial() const
+    { return serial; }
+
+    void  AddMaterial();
+  
+    G4int GetVerboseLevel() const;
+    void SetVerboseLevel(G4int val);
+ 
+     
+  private:
+    void DefineMaterials();
+    void SetupGeometry();
+    void SetupDetectors();
+
+  private:
+    G4int              numberOfLayers;
+    G4double           totalThickness; // total thinkness of one calorimeter
+    G4double           layerThickness; // = totalThickness / numberOfLayers
+
+    G4bool             constructed;
+    
+    G4String           calName[3];
+
+    G4Material*        worldMaterial;
+    G4Material*        absorberMaterial;
+    G4Material*        gapMaterial;
+
+    G4Box*             layerSolid;
+    G4Box*             gapSolid;
+
+    G4LogicalVolume*   worldLogical;
+    G4LogicalVolume*   calorLogical[3];
+    G4LogicalVolume*   layerLogical[3];
+    G4LogicalVolume*   gapLogical[3];
+
+    G4VPhysicalVolume* worldPhysical;
+    G4VPhysicalVolume* calorPhysical[3];
+    G4PVReplica*       layerPhysical[3];
+    G4VPhysicalVolume* gapPhysical[3];
+
+    G4bool             serial;
+
+    ExN07DetectorMessenger* detectorMessenger; 
+    
+    G4int              verboseLevel;
+      
+};
+
+inline  G4int ExN07DetectorConstruction::GetVerboseLevel() const
+{
+  return  verboseLevel;
+}
+
+inline  void ExN07DetectorConstruction::SetVerboseLevel(G4int val)
+{
+  verboseLevel = val;
+}
+
+
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorMessenger.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorMessenger.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07DetectorMessenger.hh	(revision 901)
@@ -0,0 +1,68 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07DetectorMessenger.hh,v 1.6 2006/06/29 17:54:44 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN07DetectorMessenger_h
+#define ExN07DetectorMessenger_h 1
+
+#include "globals.hh"
+#include "G4UImessenger.hh"
+
+class ExN07DetectorConstruction;
+class G4UIdirectory;
+class G4UIcmdWithAString;
+class G4UIcmdWithABool;
+class G4UIcmdWithAnInteger;
+
+class ExN07DetectorMessenger: public G4UImessenger
+{
+  public:
+    ExN07DetectorMessenger(ExN07DetectorConstruction* );
+    virtual ~ExN07DetectorMessenger();
+    
+    virtual void SetNewValue(G4UIcommand*, G4String);
+    virtual G4String GetCurrentValue(G4UIcommand * command);
+    
+  private:
+    void UpdateMaterialList();
+
+    ExN07DetectorConstruction* ExN07Detector;
+    
+    G4UIdirectory*             N07Dir;
+    G4UIcmdWithAString*        AbsMaterCmd;
+    G4UIcmdWithAString*        GapMaterCmd;
+    G4UIcmdWithAnInteger*      numLayerCmd;
+    G4UIcmdWithABool*          SerialCmd;
+    G4UIcmdWithAnInteger*      verboseCmd;
+    G4UIcmdWithABool*          AddMatCmd;
+};
+
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PhysicsList.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PhysicsList.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PhysicsList.hh	(revision 901)
@@ -0,0 +1,68 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07PhysicsList.hh,v 1.4 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN07PhysicsList_h
+#define ExN07PhysicsList_h 1
+
+#include "G4VUserPhysicsList.hh"
+#include "globals.hh"
+
+class ExN07PhysicsList: public G4VUserPhysicsList
+{
+  public:
+    ExN07PhysicsList();
+   ~ExN07PhysicsList();
+
+  protected:
+    // Construct particle and physics
+    void ConstructParticle();
+    void ConstructProcess();
+ 
+    void SetCuts();
+
+   
+  protected:
+    // these methods Construct particles 
+    void ConstructBosons();
+    void ConstructLeptons();
+    void ConstructMesons();
+    void ConstructBaryons();
+
+  protected:
+    // these methods Construct physics processes and register them
+    void ConstructGeneral();
+    void ConstructEM();
+
+};
+
+#endif
+
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh	(revision 901)
@@ -0,0 +1,61 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:54:48 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN07PrimaryGeneratorAction_h
+#define ExN07PrimaryGeneratorAction_h 1
+
+#include "G4VUserPrimaryGeneratorAction.hh"
+#include "globals.hh"
+
+class G4ParticleGun;
+class G4Event;
+
+class ExN07PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
+{
+  public:
+    ExN07PrimaryGeneratorAction();    
+    virtual ~ExN07PrimaryGeneratorAction();
+
+  public:
+    virtual void GeneratePrimaries(G4Event*);
+
+  private:
+    G4ParticleGun*                particleGun;
+    G4bool                        serial;
+
+  public:
+    inline void SetSerial(G4bool ser)
+    { serial = ser; }
+};
+
+
+#endif
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07Run.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07Run.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07Run.hh	(revision 901)
@@ -0,0 +1,117 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07Run.hh,v 1.6 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN07Run_h
+#define ExN07Run_h 1
+
+#include "globals.hh"
+#include "G4Run.hh"
+
+#include "G4THitsMap.hh"
+
+class G4Event;
+
+class ExN07Run : public G4Run
+{
+  public:
+    ExN07Run();
+    virtual ~ExN07Run();
+
+  public:
+    virtual void RecordEvent(const G4Event*);
+
+  private:
+    G4double GetTotal(const G4THitsMap<G4double> &map) const;
+    G4double FindMinimum(const G4THitsMap<G4double> &map) const;
+
+  private:
+    // Maps for accumulation
+    // mapSum[i][j]
+    //  i = 0 : Calor-A_abs    j = 0 : total eDep
+    //  i = 1 : Calor-A_gap    j = 1 : number of gamma
+    //  i = 2 : Calor-B_abs    j = 2 : number of electron
+    //  i = 3 : Calor-B_gap    j = 3 : number of positron
+    //  i = 4 : Calor-C_abs    j = 4 : total step length for e+/e-
+    //  i = 5 : Calor-C_gap    j = 5 : total number of steps for e+/e-
+    G4THitsMap<G4double> mapSum[6][6];
+    G4int colIDSum[6][6];
+
+    // Maps for minimum value
+    //  i = 0 : Calor-A_abs    j = 0 : minimum kinE at generation for gamma
+    //  i = 1 : Calor-A_gap    j = 1 : minimum kinE at generation for electron
+    //  i = 2 : Calor-B_abs    j = 2 : minimum kinE at generation for positron
+    //  i = 3 : Calor-B_gap
+    //  i = 4 : Calor-C_abs
+    //  i = 5 : Calor-C_gap
+    G4THitsMap<G4double> mapMin[6][3];
+    G4int colIDMin[6][3];
+
+    // Maps for accumulation in parallel world
+    // mapPara[i][j]
+    //  i = 0 : Calor-AP_para    j = 0 : total eDep
+    //  i = 1 : Calor-BP_para    j = 1 : number of gamma
+    //  i = 2 : Calor-CP_para    j = 2 : number of electron
+    //                          j = 3 : number of positron
+    //                          j = 4 : total step length for e+/e-
+    //                          j = 5 : total number of steps for e+/e-
+    G4THitsMap<G4double> mapPara[3][6];
+    G4int colIDPara[3][6];
+
+  public:
+    inline G4double GetTotalE(G4int i) const
+    { return GetTotal(mapSum[i][0]); }
+    inline G4double GetNGamma(G4int i) const
+    { return GetTotal(mapSum[i][1]); }
+    inline G4double GetNElectron(G4int i) const
+    { return GetTotal(mapSum[i][2]); }
+    inline G4double GetNPositron(G4int i) const
+    { return GetTotal(mapSum[i][3]); }
+    inline G4double GetTotalL(G4int i) const
+    { return GetTotal(mapSum[i][4]); }
+    inline G4double GetNStep(G4int i) const
+    { return GetTotal(mapSum[i][5]); }
+
+    inline G4double GetEMinGamma(G4int i) const
+    { return FindMinimum(mapMin[i][0]); }
+    inline G4double GetEMinElectron(G4int i) const
+    { return FindMinimum(mapMin[i][1]); }
+    inline G4double GetEMinPositron(G4int i) const
+    { return FindMinimum(mapMin[i][2]); }
+
+    inline G4double GetParaValue(G4int i,G4int j,G4int k) const
+    { 
+      G4double* p = mapPara[i][j][k];
+      if(p) return *p;
+      return 0.;
+    }
+};
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07RunAction.hh
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07RunAction.hh	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/include/ExN07RunAction.hh	(revision 901)
@@ -0,0 +1,52 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07RunAction.hh,v 1.4 2006/11/04 19:23:07 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#ifndef ExN07RunAction_h
+#define ExN07RunAction_h 1
+
+#include "G4UserRunAction.hh"
+#include "globals.hh"
+
+class G4Run;
+
+class ExN07RunAction : public G4UserRunAction
+{
+  public:
+    ExN07RunAction();
+   ~ExN07RunAction();
+
+  public:
+    G4Run* GenerateRun();
+    virtual void BeginOfRunAction(const G4Run*);
+    virtual void EndOfRunAction(const G4Run*);
+};
+
+#endif
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorConstruction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorConstruction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorConstruction.cc	(revision 901)
@@ -0,0 +1,477 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07DetectorConstruction.cc,v 1.8 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+// 
+
+#include "ExN07DetectorConstruction.hh"
+
+#include "G4RunManager.hh"
+
+#include "G4Material.hh"
+#include "G4Box.hh"
+#include "G4LogicalVolume.hh"
+#include "G4PVPlacement.hh"
+#include "G4PVReplica.hh"
+
+#include "G4VisAttributes.hh"
+#include "G4Colour.hh"
+
+#include "G4SDManager.hh"
+#include "G4MultiFunctionalDetector.hh"
+#include "G4VPrimitiveScorer.hh"
+#include "G4PSEnergyDeposit.hh"
+#include "G4PSNofSecondary.hh"
+#include "G4PSTrackLength.hh"
+#include "G4PSNofStep.hh"
+#include "G4PSMinKinEAtGeneration.hh"
+#include "G4VSDFilter.hh"
+#include "G4SDParticleFilter.hh"
+#include "G4ios.hh"
+
+#include "ExN07DetectorMessenger.hh"
+#include "ExN07PrimaryGeneratorAction.hh"
+#include "ExN07ParallelWorld.hh"
+
+ExN07DetectorConstruction::ExN07DetectorConstruction()
+:constructed(false),worldMaterial(0),absorberMaterial(0),gapMaterial(0),
+ layerSolid(0),gapSolid(0),worldLogical(0),worldPhysical(0),serial(false),
+ verboseLevel(1)
+{
+  numberOfLayers = 40;
+  totalThickness = 2.0*m;
+  layerThickness = totalThickness / numberOfLayers;
+
+  for(size_t i=0;i<3;i++)
+  {
+    calorLogical[i] = 0;
+    layerLogical[i] = 0;
+    gapLogical[i] = 0;
+    calorPhysical[i] = 0;
+    layerPhysical[i] = 0;
+    gapPhysical[i] = 0;
+  }
+
+  calName[0] = "Calor-A";
+  calName[1] = "Calor-B";
+  calName[2] = "Calor-C";
+
+  detectorMessenger = new ExN07DetectorMessenger(this);
+}
+
+ExN07DetectorConstruction::~ExN07DetectorConstruction()
+{ delete detectorMessenger;}
+
+G4VPhysicalVolume* ExN07DetectorConstruction::Construct()
+{
+  if(!constructed)
+  { 
+    constructed = true;
+    DefineMaterials();
+    SetupGeometry();
+    SetupDetectors();
+  }
+  if (GetVerboseLevel()>0) {
+    PrintCalorParameters();
+  }
+  return worldPhysical;
+}
+
+void ExN07DetectorConstruction::DefineMaterials()
+{ 
+  G4String name, symbol;             //a=mass of a mole;
+  G4double a, z, density;            //z=mean number of protons;  
+  G4int iz;                          //iz=number of protons  in an isotope; 
+  G4int n;                           // n=number of nucleons in an isotope;
+
+  G4int ncomponents, natoms;
+  G4double abundance, fractionmass;
+  G4double temperature, pressure;
+
+  //
+  // define Elements
+  //
+
+  a = 1.01*g/mole;
+  G4Element* H  = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
+
+  a = 12.01*g/mole;
+  G4Element* C  = new G4Element(name="Carbon"  ,symbol="C" , z= 6., a);
+
+  a = 14.01*g/mole;
+  G4Element* N  = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
+
+  a = 16.00*g/mole;
+  G4Element* O  = new G4Element(name="Oxygen"  ,symbol="O" , z= 8., a);
+
+  //
+  // define an Element from isotopes, by relative abundance 
+  //
+
+  G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole);
+  G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole);
+
+  G4Element* U  = new G4Element(name="enriched Uranium",symbol="U",ncomponents=2);
+  U->AddIsotope(U5, abundance= 90.*perCent);
+  U->AddIsotope(U8, abundance= 10.*perCent);
+
+  //
+  // define simple materials
+  //
+
+  new G4Material(name="Aluminium", z=13., a=26.98*g/mole, density=2.700*g/cm3);
+  new G4Material(name="Silicon", z=14., a= 28.09*g/mole, density= 2.33*g/cm3);
+  new G4Material(name="Iron", z=26., a=55.85*g/mole, density=7.87*g/cm3);
+  new G4Material(name="ArgonGas",z=18., a= 39.95*g/mole, density=1.782*mg/cm3);
+  new G4Material(name="He", z=2., a=4.0*g/mole, density=0.1786e-03*g/cm3);
+
+  density = 1.390*g/cm3;
+  a = 39.95*g/mole;
+  G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
+
+  density = 11.35*g/cm3;
+  a = 207.19*g/mole;
+  G4Material* Pb = new G4Material(name="Lead"     , z=82., a, density);
+
+  //
+  // define a material from elements.   case 1: chemical molecule
+  //
+ 
+  density = 1.000*g/cm3;
+  G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
+  H2O->AddElement(H, natoms=2);
+  H2O->AddElement(O, natoms=1);
+
+  density = 1.032*g/cm3;
+  G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2);
+  Sci->AddElement(C, natoms=9);
+  Sci->AddElement(H, natoms=10);
+
+  //
+  // define a material from elements.   case 2: mixture by fractional mass
+  //
+
+  density = 1.290*mg/cm3;
+  G4Material* Air = new G4Material(name="Air"  , density, ncomponents=2);
+  Air->AddElement(N, fractionmass=0.7);
+  Air->AddElement(O, fractionmass=0.3);
+
+  //
+  // examples of vacuum
+  //
+
+  density     = universe_mean_density;
+  pressure    = 3.e-18*pascal;
+  temperature = 2.73*kelvin;
+  G4Material* Vacuum = new G4Material(name="Galactic", z=1., a=1.01*g/mole,
+                                    density,kStateGas,temperature,pressure);
+
+  if (GetVerboseLevel()>1) {
+    G4cout << *(G4Material::GetMaterialTable()) << G4endl;
+  }
+
+  //default materials of the calorimeter
+  worldMaterial    = Vacuum;
+  absorberMaterial = Pb;
+  gapMaterial      = lAr;
+}
+
+void ExN07DetectorConstruction::SetupGeometry()
+{
+  //     
+  // World
+  //
+  G4VSolid* worldSolid = new G4Box("World",2.*m,2.*m,totalThickness*2.);
+  worldLogical = new G4LogicalVolume(worldSolid,worldMaterial,"World");
+  worldPhysical = new G4PVPlacement(0,G4ThreeVector(),worldLogical,"World",
+                        0,false,0);
+  
+  //                               
+  // Calorimeter
+  //  
+  G4VSolid* calorSolid = new G4Box("Calor",0.5*m,0.5*m,totalThickness/2.);
+  G4int i;
+  for(i=0;i<3;i++)
+  {
+    calorLogical[i] = new G4LogicalVolume(calorSolid,absorberMaterial,calName[i]);
+    if(serial)
+    {
+      calorPhysical[i] = new G4PVPlacement(0,
+                 G4ThreeVector(0.,0.,G4double(i-1)*totalThickness),
+                 calorLogical[i],calName[i],worldLogical,false,i);
+    }
+    else
+    {
+      calorPhysical[i] = new G4PVPlacement(0,
+                 G4ThreeVector(0.,G4double(i-1)*m,0.),
+                 calorLogical[i],calName[i],worldLogical,false,i);
+    }
+  }
+ 
+  //                                 
+  // Layers --- as absorbers
+  //
+  layerSolid = new G4Box("Layer",0.5*m,0.5*m,layerThickness/2.);
+  for(i=0;i<3;i++)
+  {
+    layerLogical[i] = new G4LogicalVolume(layerSolid,absorberMaterial,calName[i]+"_LayerLog");
+    layerPhysical[i] = new G4PVReplica(calName[i]+"_Layer",layerLogical[i],calorLogical[i],kZAxis,
+                          numberOfLayers,layerThickness);
+  }
+   
+  //
+  // Gap
+  //
+  gapSolid = new G4Box("Gap",0.5*m,0.5*m,layerThickness/4.);
+  for(i=0;i<3;i++)
+  {
+    gapLogical[i] = new G4LogicalVolume(gapSolid,gapMaterial,"Gap");
+    gapPhysical[i] = new G4PVPlacement(0,G4ThreeVector(0.,0.,layerThickness/4.),
+                gapLogical[i],calName[i]+"_gap",layerLogical[i],false,0);
+  }
+
+  //
+  // Regions
+  //
+  for(i=0;i<3;i++)
+  {
+    G4Region* aRegion = new G4Region(calName[i]);
+    calorLogical[i]->SetRegion(aRegion);
+    aRegion->AddRootLogicalVolume(calorLogical[i]);
+  }
+
+  //                                        
+  // Visualization attributes
+  //
+  worldLogical->SetVisAttributes(G4VisAttributes::Invisible);
+  G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
+  simpleBoxVisAtt->SetVisibility(true);
+  for(i=0;i<3;i++)
+  { 
+    calorLogical[i]->SetVisAttributes(simpleBoxVisAtt);
+    layerLogical[i]->SetVisAttributes(simpleBoxVisAtt);
+    gapLogical[i]->SetVisAttributes(simpleBoxVisAtt);
+  }
+  
+}
+
+void ExN07DetectorConstruction::SetupDetectors()
+{
+  G4SDManager::GetSDMpointer()->SetVerboseLevel(1);
+  G4String filterName, particleName;
+
+  G4SDParticleFilter* gammaFilter = new G4SDParticleFilter(filterName="gammaFilter",particleName="gamma");
+  G4SDParticleFilter* electronFilter = new G4SDParticleFilter(filterName="electronFilter",particleName="e-");
+  G4SDParticleFilter* positronFilter = new G4SDParticleFilter(filterName="positronFilter",particleName="e+");
+  G4SDParticleFilter* epFilter = new G4SDParticleFilter(filterName="epFilter");
+  epFilter->add(particleName="e-");
+  epFilter->add(particleName="e+");
+
+
+  for(G4int i=0;i<3;i++)
+  {
+   for(G4int j=0;j<2;j++)
+   {
+    // Loop counter j = 0 : absorber
+    //                = 1 : gap
+    G4String detName = calName[i];
+    if(j==0)
+    { detName += "_abs"; }
+    else
+    { detName += "_gap"; }
+    G4MultiFunctionalDetector* det = new G4MultiFunctionalDetector(detName);
+
+    //  The second argument in each primitive means the "level" of geometrical hierarchy,
+    // the copy number of that level is used as the key of the G4THitsMap.
+    //  For absorber (j = 0), the copy number of its own physical volume is used.
+    //  For gap (j = 1), the copy number of its mother physical volume is used, since there
+    // is only one physical volume of gap is placed with respect to its mother.
+    G4VPrimitiveScorer* primitive;
+    primitive = new G4PSEnergyDeposit("eDep",j);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSNofSecondary("nGamma",j);
+    primitive->SetFilter(gammaFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSNofSecondary("nElectron",j);
+    primitive->SetFilter(electronFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSNofSecondary("nPositron",j);
+    primitive->SetFilter(positronFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSMinKinEAtGeneration("minEkinGamma",j);
+    primitive->SetFilter(gammaFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSMinKinEAtGeneration("minEkinElectron",j);
+    primitive->SetFilter(electronFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSMinKinEAtGeneration("minEkinPositron",j);
+    primitive->SetFilter(positronFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSTrackLength("trackLength",j);
+    primitive->SetFilter(epFilter);
+    det->RegisterPrimitive(primitive);
+    primitive = new G4PSNofStep("nStep",j);
+    primitive->SetFilter(epFilter);
+    det->RegisterPrimitive(primitive);
+
+    G4SDManager::GetSDMpointer()->AddNewDetector(det);
+    if(j==0)
+    { layerLogical[i]->SetSensitiveDetector(det); }
+    else
+    { gapLogical[i]->SetSensitiveDetector(det); }
+   }
+  }
+  G4SDManager::GetSDMpointer()->SetVerboseLevel(0);
+}
+
+void ExN07DetectorConstruction::PrintCalorParameters() const
+{
+  G4cout << "--------------------------------------------------------" << G4endl;
+  if(serial)
+  { G4cout << " Calorimeters are placed in serial." << G4endl; }
+  else
+  { G4cout << " Calorimeters are placed in parallel." << G4endl; }
+  G4cout << " Absorber is made of " << absorberMaterial->GetName() << G4endl;
+  G4cout << " Gap is made of " << gapMaterial->GetName() << G4endl;
+  G4cout << "--------------------------------------------------------" << G4endl;
+}
+
+void ExN07DetectorConstruction::SetAbsorberMaterial(G4String materialChoice)
+{
+  // search the material by its name   
+  G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);     
+  if(pttoMaterial)
+  {
+    absorberMaterial = pttoMaterial;
+    if(constructed) for(size_t i=0;i<3;i++)
+    {
+      calorLogical[i]->SetMaterial(absorberMaterial);
+      layerLogical[i]->SetMaterial(absorberMaterial);
+    }
+    G4RunManager::GetRunManager()->GeometryHasBeenModified();
+    if (GetVerboseLevel()>1) {
+      PrintCalorParameters();
+    }
+  }
+  else
+  { G4cerr << materialChoice << " is not defined. - Command is ignored." << G4endl; }
+}
+
+G4String ExN07DetectorConstruction::GetAbsorberMaterial() const
+{ return absorberMaterial->GetName(); }
+
+void ExN07DetectorConstruction::SetGapMaterial(G4String materialChoice)
+{
+  // search the material by its name 
+  G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);  
+  if(pttoMaterial)
+  {
+    gapMaterial = pttoMaterial;
+    if(constructed) for(size_t i=0;i<3;i++)
+    { gapLogical[i]->SetMaterial(gapMaterial); }
+    G4RunManager::GetRunManager()->GeometryHasBeenModified();
+    if (GetVerboseLevel()>1) {
+      PrintCalorParameters();
+    }
+   }
+  else
+  { G4cerr << materialChoice << " is not defined. - Command is ignored." << G4endl; }
+}
+
+G4String ExN07DetectorConstruction::GetGapMaterial() const
+{ return gapMaterial->GetName(); }
+
+void ExN07DetectorConstruction::SetSerialGeometry(G4bool ser)
+{
+  if(serial==ser) return;
+  serial=ser;
+  ExN07PrimaryGeneratorAction* gen = (ExN07PrimaryGeneratorAction*)
+          (G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction());
+  if(gen) gen->SetSerial(serial);
+  if(!constructed) return;
+  for(G4int i=0;i<3;i++)
+  {
+    if(serial)
+    { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,0.,G4double(i-1)*2.*m)); }
+    else
+    { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,G4double(i-1)*m,0.)); }
+  }
+  ((ExN07ParallelWorld*)GetParallelWorld(0))->SetSerialGeometry(ser);
+  G4RunManager::GetRunManager()->GeometryHasBeenModified();
+}
+
+void ExN07DetectorConstruction::SetNumberOfLayers(G4int nl)
+{
+  numberOfLayers = nl;
+  layerThickness = totalThickness/numberOfLayers;
+  if(!constructed) return;
+
+  layerSolid->SetZHalfLength(layerThickness/2.);
+  gapSolid->SetZHalfLength(layerThickness/4.);
+  for(size_t i=0;i<3;i++)
+  { 
+    calorLogical[i]->RemoveDaughter(layerPhysical[i]);
+    delete layerPhysical[i];
+    layerPhysical[i] = new G4PVReplica(calName[i]+"_Layer",layerLogical[i],calorLogical[i],kZAxis,
+                          numberOfLayers,layerThickness);
+    gapPhysical[i]->SetTranslation(G4ThreeVector(0.,0.,layerThickness/4.));
+  }
+  G4RunManager::GetRunManager()->GeometryHasBeenModified();
+}
+
+void   ExN07DetectorConstruction::AddMaterial()
+{
+  static G4bool isAdded = false;   
+
+  if( isAdded ) return;
+
+  G4String name, symbol;             //a=mass of a mole;
+  G4double a, z, density;            //z=mean number of protons;  
+
+  G4int ncomponents, natoms;
+
+  //
+  // define simple materials
+  //
+
+  new G4Material(name="Copper", z=29., a=63.546*g/mole, density=8.96*g/cm3);
+  new G4Material(name="Tungsten", z=74., a=183.84*g/mole, density=19.3*g/cm3);
+
+  G4Element* C = G4Element::GetElement("Carbon");
+  G4Element* O = G4Element::GetElement("Oxygen");
+  
+
+  G4Material* CO2 = 
+    new G4Material("CarbonicGas", density= 27.*mg/cm3, ncomponents=2,
+		   kStateGas, 325.*kelvin, 50.*atmosphere);
+  CO2->AddElement(C, natoms=1);
+  CO2->AddElement(O, natoms=2);
+
+  isAdded = true;
+
+}
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorMessenger.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorMessenger.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07DetectorMessenger.cc	(revision 901)
@@ -0,0 +1,167 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07DetectorMessenger.cc,v 1.6 2006/06/29 17:54:57 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN07DetectorMessenger.hh"
+
+#include "ExN07DetectorConstruction.hh"
+#include "G4UIdirectory.hh"
+#include "G4UIcmdWithAString.hh"
+#include "G4UIcmdWithABool.hh"
+#include "G4UIcmdWithAnInteger.hh"
+#include "G4Material.hh"
+
+ExN07DetectorMessenger::ExN07DetectorMessenger(
+                                           ExN07DetectorConstruction* ExN07Det)
+:ExN07Detector(ExN07Det)
+{ 
+  N07Dir = new G4UIdirectory("/N07/");
+  N07Dir->SetGuidance("UI commands of this example");
+  
+  G4String matList;
+  const G4MaterialTable* matTbl = G4Material::GetMaterialTable();
+  for(size_t i=0;i<G4Material::GetNumberOfMaterials();i++)
+  {
+    matList += (*matTbl)[i]->GetName();
+    matList += " ";
+  }
+
+  AbsMaterCmd = new G4UIcmdWithAString("/N07/setAbsMat",this);
+  AbsMaterCmd->SetGuidance("Select Material of the Absorber.");
+  AbsMaterCmd->SetParameterName("choice",false);
+  AbsMaterCmd->AvailableForStates(G4State_Idle);
+  AbsMaterCmd->SetCandidates(matList);
+  
+  GapMaterCmd = new G4UIcmdWithAString("/N07/setGapMat",this);
+  GapMaterCmd->SetGuidance("Select Material of the Gap.");
+  GapMaterCmd->SetParameterName("choice",false);
+  GapMaterCmd->AvailableForStates(G4State_Idle);
+  GapMaterCmd->SetCandidates(matList);
+
+  numLayerCmd = new G4UIcmdWithAnInteger("/N07/numberOfLayers",this);
+  numLayerCmd->SetGuidance("Set number of layers.");
+  numLayerCmd->SetParameterName("nl",false);
+  numLayerCmd->AvailableForStates(G4State_Idle);
+  numLayerCmd->SetRange("nl>0");
+    
+  SerialCmd = new G4UIcmdWithABool("/N07/serialGeometry",this);
+  SerialCmd->SetGuidance("Select calorimeters to be placed in serial or parallel.");
+  SerialCmd->SetParameterName("serialize",false);
+  SerialCmd->AvailableForStates(G4State_Idle);
+
+  verboseCmd = new G4UIcmdWithAnInteger("/N07/verbose",this);
+  verboseCmd->SetGuidance("Set verbosity level");
+  verboseCmd->SetParameterName("verbose",false);
+  verboseCmd->AvailableForStates(G4State_Idle);
+  verboseCmd->SetRange("verbose>=0");
+ 
+  AddMatCmd = new G4UIcmdWithABool("/N07/AddMaterial",this);
+  AddMatCmd->SetGuidance("Add materials ");
+  AddMatCmd->SetParameterName("dummy",true);
+  AddMatCmd->AvailableForStates(G4State_Idle);
+
+
+}
+
+ExN07DetectorMessenger::~ExN07DetectorMessenger()
+{
+  delete AbsMaterCmd;
+  delete GapMaterCmd;
+  delete numLayerCmd;
+  delete SerialCmd;
+  delete N07Dir;  
+}
+
+void ExN07DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
+{ 
+  if( command == AbsMaterCmd ) {
+    ExN07Detector->SetAbsorberMaterial(newValue);
+
+  } else if( command == GapMaterCmd ){
+    ExN07Detector->SetGapMaterial(newValue);
+  
+  } else if( command == numLayerCmd ) {
+    ExN07Detector->SetNumberOfLayers(numLayerCmd->GetNewIntValue(newValue));
+
+  } else if( command == SerialCmd ) {
+    ExN07Detector->SetSerialGeometry(SerialCmd->GetNewBoolValue(newValue));
+
+  } else if( command == verboseCmd ) {
+    ExN07Detector->SetVerboseLevel(verboseCmd->GetNewIntValue(newValue));
+
+  } else if( command == AddMatCmd ) {
+    ExN07Detector->AddMaterial();
+    UpdateMaterialList(); 
+  }
+}
+
+G4String ExN07DetectorMessenger::GetCurrentValue(G4UIcommand * command)
+{
+  G4String ans;
+  if( command == AbsMaterCmd ){
+    ans=ExN07Detector->GetAbsorberMaterial(); 
+
+  } else if( command == GapMaterCmd ){ 
+    ans=ExN07Detector->GetGapMaterial(); 
+
+  } else if( command == numLayerCmd ) {
+    ans=numLayerCmd->ConvertToString(ExN07Detector->GetNumberOfLayers()); 
+
+  } else if( command == SerialCmd ){
+    ans=SerialCmd->ConvertToString(ExN07Detector->IsSerial()); 
+
+  } else if( command == SerialCmd ) {
+    ans=SerialCmd->ConvertToString(ExN07Detector->IsSerial()); 
+  
+  } else if( command == verboseCmd ) {
+    ans=verboseCmd->ConvertToString(ExN07Detector->GetVerboseLevel()); 
+ 
+  }
+  return ans;
+}
+
+void    ExN07DetectorMessenger::UpdateMaterialList() 
+{
+  G4String matList;
+  const G4MaterialTable* matTbl = G4Material::GetMaterialTable();
+  for(size_t i=0;i<G4Material::GetNumberOfMaterials();i++)
+  {
+    matList += (*matTbl)[i]->GetName();
+    matList += " ";
+  }
+
+  if(AbsMaterCmd !=0) {
+    AbsMaterCmd->SetCandidates(matList);
+  }
+  if (GapMaterCmd !=0) {
+    GapMaterCmd->SetCandidates(matList);
+  }
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PhysicsList.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PhysicsList.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PhysicsList.cc	(revision 901)
@@ -0,0 +1,306 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07PhysicsList.cc,v 1.7 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN07PhysicsList.hh"
+
+#include "G4ParticleDefinition.hh"
+#include "G4ProcessManager.hh"
+#include "G4ProcessVector.hh"
+#include "G4ParticleTypes.hh"
+#include "G4ParticleTable.hh"
+#include "G4ios.hh"              
+
+ExN07PhysicsList::ExN07PhysicsList():  G4VUserPhysicsList()
+{
+ defaultCutValue = 1.0*mm;
+ SetVerboseLevel(1);
+}
+
+ExN07PhysicsList::~ExN07PhysicsList()
+{}
+
+void ExN07PhysicsList::ConstructParticle()
+{
+  // In this method, static member functions should be called
+  // for all particles which you want to use.
+  // This ensures that objects of these particle types will be
+  // created in the program. 
+
+  ConstructBosons();
+  ConstructLeptons();
+  ConstructMesons();
+  ConstructBaryons();
+}
+
+void ExN07PhysicsList::ConstructBosons()
+{
+  // pseudo-particles
+  G4Geantino::GeantinoDefinition();
+  G4ChargedGeantino::ChargedGeantinoDefinition();
+
+  // gamma
+  G4Gamma::GammaDefinition();
+}
+
+void ExN07PhysicsList::ConstructLeptons()
+{
+  // leptons
+  G4Electron::ElectronDefinition();
+  G4Positron::PositronDefinition();
+  G4MuonPlus::MuonPlusDefinition();
+  G4MuonMinus::MuonMinusDefinition();
+
+  G4NeutrinoE::NeutrinoEDefinition();
+  G4AntiNeutrinoE::AntiNeutrinoEDefinition();
+  G4NeutrinoMu::NeutrinoMuDefinition();
+  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
+}
+
+void ExN07PhysicsList::ConstructMesons()
+{
+ //  mesons
+  G4PionPlus::PionPlusDefinition();
+  G4PionMinus::PionMinusDefinition();
+  G4PionZero::PionZeroDefinition();
+  G4Eta::EtaDefinition();
+  G4EtaPrime::EtaPrimeDefinition();
+  G4KaonPlus::KaonPlusDefinition();
+  G4KaonMinus::KaonMinusDefinition();
+  G4KaonZero::KaonZeroDefinition();
+  G4AntiKaonZero::AntiKaonZeroDefinition();
+  G4KaonZeroLong::KaonZeroLongDefinition();
+  G4KaonZeroShort::KaonZeroShortDefinition();
+}
+
+void ExN07PhysicsList::ConstructBaryons()
+{
+//  barions
+  G4Proton::ProtonDefinition();
+  G4AntiProton::AntiProtonDefinition();
+  G4Neutron::NeutronDefinition();
+  G4AntiNeutron::AntiNeutronDefinition();
+}
+
+void ExN07PhysicsList::ConstructProcess()
+{
+  AddTransportation();
+  ConstructGeneral();
+  ConstructEM();
+}
+
+#include "G4ComptonScattering.hh"
+#include "G4GammaConversion.hh"
+#include "G4PhotoElectricEffect.hh"
+
+#include "G4MultipleScattering.hh"
+
+#include "G4eIonisation.hh"
+#include "G4eBremsstrahlung.hh"
+#include "G4eplusAnnihilation.hh"
+
+#include "G4MuIonisation.hh"
+#include "G4MuBremsstrahlung.hh"
+#include "G4MuPairProduction.hh"
+
+#include "G4hIonisation.hh"
+
+void ExN07PhysicsList::ConstructEM()
+{
+  G4bool displacementFlg = true; // for multiple scattering
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    G4String particleName = particle->GetParticleName();
+     
+    if (particleName == "gamma") {
+    // gamma
+      pmanager->AddDiscreteProcess(new G4GammaConversion());
+      pmanager->AddDiscreteProcess(new G4ComptonScattering());      
+      pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
+
+    } else if (particleName == "e-") {
+    //electron
+      G4MultipleScattering* theeminusMultipleScattering = new G4MultipleScattering();
+      theeminusMultipleScattering->SetLateralDisplasmentFlag(displacementFlg);
+      G4VProcess* theeminusIonisation         = new G4eIonisation();
+      G4VProcess* theeminusBremsstrahlung     = new G4eBremsstrahlung();
+      //
+      // add processes
+      pmanager->AddProcess(theeminusMultipleScattering);
+      pmanager->AddProcess(theeminusIonisation);
+      pmanager->AddProcess(theeminusBremsstrahlung);
+      //      
+      // set ordering for AlongStepDoIt
+      pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1);
+      pmanager->SetProcessOrdering(theeminusIonisation,         idxAlongStep,2);
+      pmanager->SetProcessOrdering(theeminusBremsstrahlung,     idxAlongStep,3);      
+      //
+      // set ordering for PostStepDoIt
+      pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1);
+      pmanager->SetProcessOrdering(theeminusIonisation,         idxPostStep,2);
+      pmanager->SetProcessOrdering(theeminusBremsstrahlung,     idxPostStep,3);
+
+    } else if (particleName == "e+") {
+    //positron
+      G4MultipleScattering* theeplusMultipleScattering = new G4MultipleScattering();
+      theeplusMultipleScattering->SetLateralDisplasmentFlag(displacementFlg);
+      G4VProcess* theeplusIonisation         = new G4eIonisation();
+      G4VProcess* theeplusBremsstrahlung     = new G4eBremsstrahlung();
+      G4VProcess* theeplusAnnihilation       = new G4eplusAnnihilation();
+      //
+      // add processes
+      pmanager->AddProcess(theeplusMultipleScattering);
+      pmanager->AddProcess(theeplusIonisation);
+      pmanager->AddProcess(theeplusBremsstrahlung);
+      pmanager->AddProcess(theeplusAnnihilation);
+      //
+      // set ordering for AtRestDoIt
+      pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest);
+      //
+      // set ordering for AlongStepDoIt
+      pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1);
+      pmanager->SetProcessOrdering(theeplusIonisation,         idxAlongStep,2);
+      pmanager->SetProcessOrdering(theeplusBremsstrahlung,     idxAlongStep,3);      
+      //
+      // set ordering for PostStepDoIt
+      pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1);
+      pmanager->SetProcessOrdering(theeplusIonisation,         idxPostStep,2);
+      pmanager->SetProcessOrdering(theeplusBremsstrahlung,     idxPostStep,3);
+      pmanager->SetProcessOrdering(theeplusAnnihilation,       idxPostStep,4);
+  
+    } else if( particleName == "mu+" || 
+               particleName == "mu-"    ) {
+    //muon  
+      G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
+      aMultipleScattering->SetLateralDisplasmentFlag(displacementFlg);
+      G4VProcess* aBremsstrahlung     = new G4MuBremsstrahlung();
+      G4VProcess* aPairProduction     = new G4MuPairProduction();
+      G4VProcess* anIonisation        = new G4MuIonisation();
+      //
+      // add processes
+      pmanager->AddProcess(anIonisation);
+      pmanager->AddProcess(aMultipleScattering);
+      pmanager->AddProcess(aBremsstrahlung);
+      pmanager->AddProcess(aPairProduction);
+      //
+      // set ordering for AlongStepDoIt
+      pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
+      pmanager->SetProcessOrdering(anIonisation,        idxAlongStep,2);
+      pmanager->SetProcessOrdering(aBremsstrahlung,     idxAlongStep,3);
+      pmanager->SetProcessOrdering(aPairProduction,     idxAlongStep,4);
+      
+      //
+      // set ordering for PostStepDoIt
+      pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1);
+      pmanager->SetProcessOrdering(anIonisation,        idxPostStep,2);
+      pmanager->SetProcessOrdering(aBremsstrahlung,     idxPostStep,3);
+      pmanager->SetProcessOrdering(aPairProduction,     idxPostStep,4);
+
+     } else if ((!particle->IsShortLived()) &&
+	       (particle->GetPDGCharge() != 0.0) && 
+	       (particle->GetParticleName() != "chargedgeantino")) {
+     // all others charged particles except geantino     
+     G4MultipleScattering* aMultipleScattering = new G4MultipleScattering();
+     aMultipleScattering->SetLateralDisplasmentFlag(displacementFlg);
+     G4VProcess* anIonisation        = new G4hIonisation();
+     //
+     // add processes
+     pmanager->AddProcess(anIonisation);
+     pmanager->AddProcess(aMultipleScattering);
+     //
+     // set ordering for AlongStepDoIt
+     pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
+     pmanager->SetProcessOrdering(anIonisation,        idxAlongStep,2);
+     //
+     // set ordering for PostStepDoIt
+     pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1);
+     pmanager->SetProcessOrdering(anIonisation,        idxPostStep,2);
+    }
+  }
+}
+
+#include "G4Decay.hh"
+#include "G4ParallelWorldScoringProcess.hh"
+
+void ExN07PhysicsList::ConstructGeneral()
+{
+  // Add Decay Process and Parallel world Scoring Process
+  G4Decay* theDecayProcess = new G4Decay();
+  G4ParallelWorldScoringProcess* theParallelWorldScoringProcess
+      = new G4ParallelWorldScoringProcess("ParaWorldScoringProc");
+  theParallelWorldScoringProcess->SetParallelWorld("ParallelScoringWorld");
+
+  theParticleIterator->reset();
+  while( (*theParticleIterator)() ){
+    G4ParticleDefinition* particle = theParticleIterator->value();
+    G4ProcessManager* pmanager = particle->GetProcessManager();
+    if (theDecayProcess->IsApplicable(*particle)) { 
+      pmanager ->AddProcess(theDecayProcess);
+      pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
+      pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
+    }
+    pmanager->AddProcess(theParallelWorldScoringProcess);
+    pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxAtRest);
+    pmanager->SetProcessOrdering(theParallelWorldScoringProcess, idxAlongStep, 1);
+    pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxPostStep);
+  }
+}
+
+#include "G4Region.hh"
+#include "G4RegionStore.hh"
+#include "G4ProductionCuts.hh"
+
+void ExN07PhysicsList::SetCuts()
+{
+  if (verboseLevel >0){
+    G4cout << "ExN07PhysicsList::SetCuts: default cut length : "
+         << G4BestUnit(defaultCutValue,"Length") << G4endl;
+  }  
+
+  // These values are used as the default production thresholds
+  // for the world volume.
+  SetCutsWithDefault();
+
+ 
+  // Production thresholds for detector regions
+  G4String regName[] = {"Calor-A","Calor-B","Calor-C"};
+  G4double fuc = 1.;
+  for(G4int i=0;i<3;i++)
+  { 
+    G4Region* reg = G4RegionStore::GetInstance()->GetRegion(regName[i]);
+    G4ProductionCuts* cuts = new G4ProductionCuts;
+    cuts->SetProductionCut(defaultCutValue*fuc);
+    reg->SetProductionCuts(cuts);
+    fuc *= 10.;
+  }
+}
+
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc	(revision 901)
@@ -0,0 +1,75 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07PrimaryGeneratorAction.cc,v 1.3 2006/06/29 17:55:01 gunter Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN07PrimaryGeneratorAction.hh"
+
+#include "G4Event.hh"
+#include "G4ParticleGun.hh"
+#include "G4ParticleTable.hh"
+#include "G4ParticleDefinition.hh"
+
+ExN07PrimaryGeneratorAction::ExN07PrimaryGeneratorAction()
+:serial(false)
+{
+  G4int n_particle = 1;
+  particleGun  = new G4ParticleGun(n_particle);
+  
+  // default particle kinematic
+  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
+  G4String particleName;
+  G4ParticleDefinition* particle
+                    = particleTable->FindParticle(particleName="mu-");
+  particleGun->SetParticleDefinition(particle);
+  particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
+  particleGun->SetParticleEnergy(100.*GeV);
+}
+
+ExN07PrimaryGeneratorAction::~ExN07PrimaryGeneratorAction()
+{
+  delete particleGun;
+}
+
+void ExN07PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
+{
+  if(serial)
+  {
+    particleGun->SetParticlePosition(G4ThreeVector(0.,0.,-3.5*m));
+    particleGun->GeneratePrimaryVertex(anEvent);
+  }
+  else
+  {
+    for(G4int i=0;i<3;i++)
+    {
+      particleGun->SetParticlePosition(G4ThreeVector(0.,G4double(i-1)*m,-1.5*m));
+      particleGun->GeneratePrimaryVertex(anEvent);
+    }
+  }
+}
+
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07Run.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07Run.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07Run.cc	(revision 901)
@@ -0,0 +1,128 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07Run.cc,v 1.6 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN07Run.hh"
+#include "G4Event.hh"
+#include "G4HCofThisEvent.hh"
+#include "G4SDManager.hh"
+
+ExN07Run::ExN07Run()
+{
+  G4String detName[6] = {"Calor-A_abs","Calor-A_gap","Calor-B_abs","Calor-B_gap","Calor-C_abs","Calor-C_gap"};
+  G4String primNameSum[6] = {"eDep","nGamma","nElectron","nPositron","trackLength","nStep"};
+  G4String primNameMin[3] = {"minEkinGamma","minEkinElectron","minEkinPositron"};
+  G4String paraName[3] = {"Calor-AP_para","Calor-BP_para","Calor-CP_para"};
+
+  G4SDManager* SDMan = G4SDManager::GetSDMpointer();
+  G4String fullName;
+  size_t i,j;
+  for(i=0;i<6;i++)
+  {
+    for(j=0;j<6;j++)
+    {
+      fullName = detName[i]+"/"+primNameSum[j];
+      colIDSum[i][j] = SDMan->GetCollectionID(fullName);
+    }
+    for(j=0;j<3;j++)
+    {
+      fullName = detName[i]+"/"+primNameMin[j];
+      colIDMin[i][j] = SDMan->GetCollectionID(fullName);
+    }
+  }
+  for(i=0;i<3;i++)
+  {
+    for(j=0;j<6;j++)
+    {
+      fullName = paraName[i]+"/"+primNameSum[j];
+      colIDPara[i][j] = SDMan->GetCollectionID(fullName);
+    }
+  }
+}
+
+ExN07Run::~ExN07Run()
+{;}
+
+void ExN07Run::RecordEvent(const G4Event* evt)
+{
+  G4HCofThisEvent* HCE = evt->GetHCofThisEvent();
+  if(!HCE) return;
+  numberOfEvent++;
+  size_t i,j;
+  for(i=0;i<6;i++)
+  {
+    for(j=0;j<6;j++)
+    {
+      G4THitsMap<G4double>* evtMap = (G4THitsMap<G4double>*)(HCE->GetHC(colIDSum[i][j]));
+      mapSum[i][j] += *evtMap;
+    }
+    for(j=0;j<3;j++)
+    {
+      G4THitsMap<G4double>* evtMap = (G4THitsMap<G4double>*)(HCE->GetHC(colIDMin[i][j]));
+      std::map<G4int,G4double*>::iterator itr = evtMap->GetMap()->begin();
+      for(; itr != evtMap->GetMap()->end(); itr++)
+      {
+        G4int key = (itr->first);
+        G4double val = *(itr->second);
+        G4double* mapP = mapMin[i][j][key];
+        if( mapP && (val>*mapP) ) continue;
+        mapMin[i][j].set(key,val);
+      }
+    }
+  }
+  for(i=0;i<3;i++)
+  {
+    for(j=0;j<6;j++)
+    {
+      G4THitsMap<G4double>* evtMap = (G4THitsMap<G4double>*)(HCE->GetHC(colIDPara[i][j]));
+      mapPara[i][j] += *evtMap;
+    }
+  }
+}
+
+G4double ExN07Run::GetTotal(const G4THitsMap<G4double> &map) const
+{
+  G4double tot = 0.;
+  std::map<G4int,G4double*>::iterator itr = map.GetMap()->begin();
+  for(; itr != map.GetMap()->end(); itr++) 
+  { tot += *(itr->second); }
+  return tot;
+}
+
+G4double ExN07Run::FindMinimum(const G4THitsMap<G4double> &map) const
+{
+  G4double val = DBL_MAX;
+  std::map<G4int,G4double*>::iterator itr = map.GetMap()->begin();
+  for(; itr != map.GetMap()->end(); itr++) 
+  { if(val>*(itr->second)) val = *(itr->second); }
+  return val;
+}
+
+
+  
Index: trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07RunAction.cc
===================================================================
--- trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07RunAction.cc	(revision 901)
+++ trunk/Documentation/geant4/geant4_public/source/geant4/examples/novice/N07/src/ExN07RunAction.cc	(revision 901)
@@ -0,0 +1,133 @@
+//
+// ********************************************************************
+// * License and Disclaimer                                           *
+// *                                                                  *
+// * The  Geant4 software  is  copyright of the Copyright Holders  of *
+// * the Geant4 Collaboration.  It is provided  under  the terms  and *
+// * conditions of the Geant4 Software License,  included in the file *
+// * LICENSE and available at  http://cern.ch/geant4/license .  These *
+// * include a list of copyright holders.                             *
+// *                                                                  *
+// * Neither the authors of this software system, nor their employing *
+// * institutes,nor the agencies providing financial support for this *
+// * work  make  any representation or  warranty, express or implied, *
+// * regarding  this  software system or assume any liability for its *
+// * use.  Please see the license in the file  LICENSE  and URL above *
+// * for the full disclaimer and the limitation of liability.         *
+// *                                                                  *
+// * This  code  implementation is the result of  the  scientific and *
+// * technical work of the GEANT4 collaboration.                      *
+// * By using,  copying,  modifying or  distributing the software (or *
+// * any work based  on the software)  you  agree  to acknowledge its *
+// * use  in  resulting  scientific  publications,  and indicate your *
+// * acceptance of all terms of the Geant4 Software license.          *
+// ********************************************************************
+//
+//
+// $Id: ExN07RunAction.cc,v 1.7 2007/05/04 01:49:28 asaim Exp $
+// GEANT4 tag $Name: geant4-09-01 $
+//
+
+#include "ExN07RunAction.hh"
+#include "ExN07Run.hh"
+
+#include "G4RegionStore.hh"
+#include "G4Region.hh"
+#include "G4ProductionCuts.hh"
+#include "G4ios.hh"
+#include "G4UnitsTable.hh"
+
+#include "G4VSteppingVerbose.hh"
+#include "ExN07SteppingVerbose.hh"
+
+ExN07RunAction::ExN07RunAction()
+{;}
+
+ExN07RunAction::~ExN07RunAction()
+{;}
+
+G4Run* ExN07RunAction::GenerateRun()
+{ return new ExN07Run; }
+
+void ExN07RunAction::BeginOfRunAction(const G4Run*)
+{
+  ExN07SteppingVerbose* sv = (ExN07SteppingVerbose*)(G4VSteppingVerbose::GetInstance());
+  sv->InitializeTimers();
+}
+
+void ExN07RunAction::EndOfRunAction(const G4Run* aRun)
+{
+  static G4String regName[3] = {"Calor-A","Calor-B","Calor-C"};
+
+  const ExN07Run* theRun = (const ExN07Run*)aRun;
+  
+  G4cout
+    << "############################################################" << G4endl;
+  G4cout 
+    << " Run Summary - Number of events : " << theRun->GetNumberOfEvent() 
+    << G4endl;
+  G4cout
+    << "############################################################" << G4endl;
+
+  G4double nEvt = (G4double)(theRun->GetNumberOfEvent());
+  for(size_t i=0;i<3;i++)
+  {
+    size_t ih1 = 2*i;
+    size_t ih2 = 2*i+1;
+
+    G4Region* region = G4RegionStore::GetInstance()->GetRegion(regName[i]);
+    G4ProductionCuts* cuts = region->GetProductionCuts();
+    G4cout << "Region : " << region->GetName() << G4endl;
+    G4cout << " Production thresholds :" << G4endl << "   "
+           << " gamma " << G4BestUnit(cuts->GetProductionCut("gamma"),"Length")
+           << "    e- " << G4BestUnit(cuts->GetProductionCut("e-"),"Length")
+           << "    e+ " << G4BestUnit(cuts->GetProductionCut("e+"),"Length")
+           << G4endl;
+    G4cout << " Energy deposition in an event :" << G4endl << "   "
+           << " Absorber " << G4BestUnit((theRun->GetTotalE(ih1))/nEvt,"Energy")
+           << "      Gap " << G4BestUnit((theRun->GetTotalE(ih2))/nEvt,"Energy")
+           << G4endl;
+    G4cout << " Number of secondaries in an event :" << G4endl << "   "
+           << " gamma in Absorber " << (theRun->GetNGamma(ih1))/nEvt
+           << "    in Gap " << (theRun->GetNGamma(ih2))/nEvt << G4endl << "   "
+           << " e-    in Absorber " << (theRun->GetNElectron(ih1))/nEvt
+           << "    in Gap " << (theRun->GetNElectron(ih2))/nEvt << G4endl << "   "
+           << " e+    in Absorber " << (theRun->GetNPositron(ih1))/nEvt
+           << "    in Gap " << (theRun->GetNPositron(ih2))/nEvt << G4endl;
+    G4cout << " Minimum kinetic energy of generated secondaries :" << G4endl << "   "
+           << " gamma in Absorber " << G4BestUnit(theRun->GetEMinGamma(ih1),"Energy")
+           << "    in Gap " << G4BestUnit(theRun->GetEMinGamma(ih2),"Energy")
+           << G4endl << "   "
+           << " e-    in Absorber " << G4BestUnit(theRun->GetEMinElectron(ih1),"Energy")
+           << "    in Gap " << G4BestUnit(theRun->GetEMinElectron(ih2),"Energy")
+           << G4endl << "   "
+           << " e+    in Absorber " << G4BestUnit(theRun->GetEMinPositron(ih1),"Energy")
+           << "    in Gap " << G4BestUnit(theRun->GetEMinPositron(ih2),"Energy")
+           << G4endl;
+    G4cout << " Total track length of e+/e- in an event :" << G4endl << "   "
+           << " Absorber " << G4BestUnit((theRun->GetTotalL(ih1))/nEvt,"Length")
+           << "      Gap " << G4BestUnit((theRun->GetTotalL(ih2))/nEvt,"Length")
+           << G4endl;
+    G4cout << " Total number of steps of e+/e- in an event :" << G4endl << "   "
+           << " Absorber " << (theRun->GetNStep(ih1))/nEvt
+           << "      Gap " << (theRun->GetNStep(ih2))/nEvt
+           << G4endl;
+    G4cout
+    << "------------------------------------------------------------" << G4endl;
+    G4cout << "Scores in parallel geometry" << G4endl;
+    G4cout << "layer  eDep/evt   nGamma/evt   nElec/evt   nPosi/evt   stepLen/evt   nStep/evt"
+           << G4endl;
+    for(size_t k=0;k<20;k++)
+    {
+      G4cout << "  " << k;
+      for(size_t j=0;j<6;j++)
+      { G4cout << "  " << (theRun->GetParaValue(i,j,k))/nEvt; }
+      G4cout << G4endl;
+    }
+    G4cout
+    << "############################################################" << G4endl;
+  }
+  ExN07SteppingVerbose* sv = (ExN07SteppingVerbose*)(G4VSteppingVerbose::GetInstance());
+  sv->Report();
+}
+
Index: trunk/Documentation/geant4/includes/geantstyle.css
===================================================================
--- trunk/Documentation/geant4/includes/geantstyle.css	(revision 901)
+++ trunk/Documentation/geant4/includes/geantstyle.css	(revision 901)
@@ -0,0 +1,2 @@
+@import url("styles.css");
+@import url("print.css");
Index: trunk/Documentation/geant4/index.html
===================================================================
--- trunk/Documentation/geant4/index.html	(revision 901)
+++ trunk/Documentation/geant4/index.html	(revision 901)
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: A toolkit for the simulation of the passage of particles thorugh matter</title>
+<link rel="stylesheet" type="text/css" href="includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<!-- start main page content -->
+<table cellspacing="6" cellpadding="0">
+  <tr class="header">
+    <td colspan="4">
+    <p class="main"><strong>Geant4</strong> is a toolkit for the simulation of
+     the passage of particles through matter. Its areas of application include 
+     high energy, nuclear and accelerator physics, as well as studies in
+     medical and space science.  The two main reference papers for Geant4 are 
+     published in <i>Nuclear Instruments and Methods in Physics Research</i> 
+     <a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TJM-48TJFY8-5&_user=145269&_handle=V-WA-A-W-E-MsSAYVW-UUW-U-AAVYCABEVE-AAVZUEVDVE-YWWWCDVAA-E-U&_fmt=full&_coverDate=07%2F01%2F2003&_rdoc=4&_orig=browse&_srch=%23toc%235314%232003%23994939996%23434441!&_cdi=5314&view=c&_acct=C000012078&_version=1&_urlVersion=0&_userid=145269&md5=8e2714edb10b952cbe8557f511685d59">
+     A 506 (2003) 250-303,</a> and <i>IEEE Transactions on Nuclear Science</i>
+    <a href="http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=33833&amp;arnumber=1610988&amp;count=33&amp;index=7">53 No. 1 (2006) 270-278.</a>
+    </p>
+    </td>
+    <td id="sidebar" rowspan="5">
+    <table id="news" width="100%">
+      <tr>
+        <td width="100%">
+        <h2>News</h2>
+        <ul>
+          <li><small><i>19 September 2008</i></small> -<br>
+              <b>Patch-03</b> to <b>release 9.1</b> is available from the
+              <a href="support/download.shtml">download</a> area.</li>
+          <li><small><i>4 July 2008</i></small> -<br>
+              <b>Release 9.2 BETA</b> is available from the
+              <a href="support/download_beta.shtml">Beta download</a> area.</li>
+          <li><small><i>8 June 2008</i></small> -<br>
+              Geant4 reference paper among
+              <a href="http://sciencewatch.com/dr/cc/08-juncc/">Science Watch Current Classics</a>.</li>
+          <li><small><i>20 March 2008</i></small> -<br>
+              <a href="support/planned_features.shtml">2008 planned developments</a>.</li>
+        </ul>
+        </td>
+      </tr>
+    </table>
+    </td>
+  </tr>
+  <tr class="header">
+    <td>
+    <h1>Applications</h1>
+    </td>
+    <td>
+    <h1>User Support</h1>
+    </td>
+    <td>
+    <h1>Results &amp; Publications</h1>
+    </td>
+    <td>
+    <h1>Collaboration</h1>
+    </td>
+  </tr>
+  <tr>
+    <td><a href="applications/index.shtml">
+    <img src="images/techtranscolor.jpg" alt="Applications" width="160" height="116"></a></td>
+    <td><a href="support/index.shtml">
+    <img src="images/lisa.gif" width="160" height="116" alt="User Support"></a></td>
+    <td><a href="results/index.shtml">
+    <img src="images/devinfocolor.jpg" alt="Results and Publications" width="160" height="116"></a></td>
+    <td><a href="collaboration/index.shtml">
+    <img src="images/group.gif" alt="Collaboration" width="160" height="116"></a></td>
+  </tr>
+  <tr class="descript">
+    <td>A <a href="applications/index.shtml">sampling of applications</a>, 
+        technology transfer and <br/> other uses of Geant4</td>
+    <td><a href="support/gettingstarted.shtml">Getting started</a>, <br>
+        <a href="support/userdocuments.shtml">user guides</a> and information 
+        for developers</td>
+    <td><a href="results/index.shtml">Validation of Geant4</a>, <br>
+        results from experiments and publications</td>
+    <td><a href="collaboration/index.shtml">Who we are</a>: collaborating institutions, 
+        <a href="collaboration/members.shtml">members</a>, 
+        organization and legal information</td>
+  </tr>
+</table>
+<table id="events" width="100%">
+<tr>
+  <td id="sidebar">
+  <h2>Events</h2>
+  <ul>
+     <li><a href="http://www.inta.es/g4suw2009/">6<sup>th</sup> Geant4 Space Users' Workshop</a>,
+         National Institute for Aerospace Technology, Madrid (Spain), <b>20-22 May 2009</b>.</li>
+  </ul>
+  <ul>
+  <li><h3><a href="pastevents.shtml">Past events</a></h3></li>
+  </ul>
+  </td>
+</tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   02 Dec 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/index.shtml
===================================================================
--- trunk/Documentation/geant4/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/index.shtml	(revision 901)
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: A toolkit for the simulation of the passage of particles thorugh matter</title>
+<link rel="stylesheet" type="text/css" href="includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<!-- start main page content -->
+<table cellspacing="6" cellpadding="0">
+  <tr class="header">
+    <td colspan="4">
+    <p class="main"><strong>Geant4</strong> is a toolkit for the simulation of
+     the passage of particles through matter. Its areas of application include 
+     high energy, nuclear and accelerator physics, as well as studies in
+     medical and space science.  The two main reference papers for Geant4 are 
+     published in <i>Nuclear Instruments and Methods in Physics Research</i> 
+     <a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TJM-48TJFY8-5&_user=145269&_handle=V-WA-A-W-E-MsSAYVW-UUW-U-AAVYCABEVE-AAVZUEVDVE-YWWWCDVAA-E-U&_fmt=full&_coverDate=07%2F01%2F2003&_rdoc=4&_orig=browse&_srch=%23toc%235314%232003%23994939996%23434441!&_cdi=5314&view=c&_acct=C000012078&_version=1&_urlVersion=0&_userid=145269&md5=8e2714edb10b952cbe8557f511685d59">
+     A 506 (2003) 250-303,</a> and <i>IEEE Transactions on Nuclear Science</i>
+    <a href="http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=33833&amp;arnumber=1610988&amp;count=33&amp;index=7">53 No. 1 (2006) 270-278.</a>
+    </p>
+    </td>
+    <td id="sidebar" rowspan="5">
+    <table id="news" width="100%">
+      <tr>
+        <td width="100%">
+        <h2>News</h2>
+        <ul>
+          <li><small><i>19 September 2008</i></small> -<br>
+              <b>Patch-03</b> to <b>release 9.1</b> is available from the
+              <a href="support/download.shtml">download</a> area.</li>
+          <li><small><i>4 July 2008</i></small> -<br>
+              <b>Release 9.2 BETA</b> is available from the
+              <a href="support/download_beta.shtml">Beta download</a> area.</li>
+          <li><small><i>8 June 2008</i></small> -<br>
+              Geant4 reference paper among
+              <a href="http://sciencewatch.com/dr/cc/08-juncc/">Science Watch Current Classics</a>.</li>
+          <li><small><i>20 March 2008</i></small> -<br>
+              <a href="support/planned_features.shtml">2008 planned developments</a>.</li>
+        </ul>
+        </td>
+      </tr>
+    </table>
+    </td>
+  </tr>
+  <tr class="header">
+    <td>
+    <h1>Applications</h1>
+    </td>
+    <td>
+    <h1>User Support</h1>
+    </td>
+    <td>
+    <h1>Results &amp; Publications</h1>
+    </td>
+    <td>
+    <h1>Collaboration</h1>
+    </td>
+  </tr>
+  <tr>
+    <td><a href="applications/index.shtml">
+    <img src="images/techtranscolor.jpg" alt="Applications" width="160" height="116"></a></td>
+    <td><a href="support/index.shtml">
+    <img src="images/lisa.gif" width="160" height="116" alt="User Support"></a></td>
+    <td><a href="results/index.shtml">
+    <img src="images/devinfocolor.jpg" alt="Results and Publications" width="160" height="116"></a></td>
+    <td><a href="collaboration/index.shtml">
+    <img src="images/group.gif" alt="Collaboration" width="160" height="116"></a></td>
+  </tr>
+  <tr class="descript">
+    <td>A <a href="applications/index.shtml">sampling of applications</a>, 
+        technology transfer and <br/> other uses of Geant4</td>
+    <td><a href="support/gettingstarted.shtml">Getting started</a>, <br>
+        <a href="support/userdocuments.shtml">user guides</a> and information 
+        for developers</td>
+    <td><a href="results/index.shtml">Validation of Geant4</a>, <br>
+        results from experiments and publications</td>
+    <td><a href="collaboration/index.shtml">Who we are</a>: collaborating institutions, 
+        <a href="collaboration/members.shtml">members</a>, 
+        organization and legal information</td>
+  </tr>
+</table>
+<table id="events" width="100%">
+<tr>
+  <td id="sidebar">
+  <h2>Events</h2>
+  <ul>
+     <li><a href="http://www.inta.es/g4suw2009/">6<sup>th</sup> Geant4 Space Users' Workshop</a>,
+         National Institute for Aerospace Technology, Madrid (Spain), <b>20-22 May 2009</b>.</li>
+  </ul>
+  <ul>
+  <li><h3><a href="pastevents.shtml">Past events</a></h3></li>
+  </ul>
+  </td>
+</tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   02 Dec 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/license/index.html
===================================================================
--- trunk/Documentation/geant4/license/index.html	(revision 901)
+++ trunk/Documentation/geant4/license/index.html	(revision 901)
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+   <title>Geant4: License</title>
+   <link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+   <script src="../includes/D2_open.js" type="text/javascript">
+   </script>
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                <a href="../collaboration/index.shtml">Collaboration</a> &gt;
+                    License
+    <!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+    <li><a href="LICENSE.html">Geant4 Software License</a>.</li>
+    <li><a href="http://cern.ch/geant4/support/download.shtml">Source code
+        download</a>.</li>
+    </ul>
+  </tr>
+
+  <tr>
+    <td id="main">  
+</P>
+<hr>
+<p>
+<b><a href="LICENSE.html">The Geant4 Software License</a></b>
+<p>
+Established 30 June 2006 for Geant4 release 8.1, subsequent patches and releases.
+<p>
+Previous releases are covered by the disclaimer included in the release.
+<p>
+<hr>
+
+<h3>Copyright Holders of the Geant4 Collaboration</h3>
+<p>
+Last revision: 30 June 2006
+<p>
+The collaboration has established the following list of institutions
+and individuals who hold copyright of parts of the Geant4 toolkit. 
+In case there are attributions missing, the collaboration invites
+potential contributors to inform us of their contribution and who
+holds copyright over it, by writing to 
+<a href="John.Apostolakis@cern.ch">John.Apostolakis@cern.ch</a>.
+
+<h4>Institutions</h4>
+
+Bath University, Bath, UK<br>
+Budker Institute Nuclear Physics, Novosibirsk, Russia <br>
+Budapest Technical University, Budapest, Hungary<br>
+California Institute of Technology, Pasadena, USA<br>
+CERN, European Organization for Nuclear Research, Geneva, Switzerland<br>
+CIEMAT, Madrid, Spain<br>
+CNRS-IN2P3, Institut National de Physique Nucleaire, France<br>
+ESA, European Space Agency<br>
+ETH, Zurich, Switzerland<br>
+Fermi National Accelerator Laboratory, Batavia, USA<br>
+Helsinki Institute of Physics, Helsinki, Finland<br>
+IHEP, Protvino, Russia<br>
+Imperial College, London, UK<br>
+Institut fur experimentelle Kernphysic, Karlsruhe University, Karlsruhe, Germany<br>
+Instituto de Fisica de Cantabria, Santander, Spain<br>
+INFN, Istituto Nazionale di Fisica Nucleare, Italy<br>
+IST National Institute for Cancer Research, Italy<br>
+Jefferson Laboratory, USA<br>
+JINR, Dubna, Russia<br>
+J. W. Goethe-Universit&auml;t, Frankfurt am Main, Germany<br>
+Karolinska Institutet, Stockholm, Sweden<br>
+KFKI Research Institute for Particle and Nuclear Physics, Budapest, Hungary<br>
+LaboratÃ³rio de InstrumentaÃ§Ã£o e FÃ­sica Experimental de PartÃ­culas (LIP), Lisbon, Portugal<br>
+Lebedev Institute, Moscow, Russia<br>
+Manchester University, Manchester, UK<br>
+MIT, Massachussets Institute of Technology, Cambridge, USA<br>
+Moscow Engineering Physics Institute (State University), Moscow, Russia<br>
+Northeastern University, Boston, USA<br>
+Pittsburgh University, Pittsburgh, USA<br>
+Rutherford Appleton Laboratory, UK<br>
+Southampton University, Southampton, UK<br>
+Stanford University (for SLAC, Stanford Linear Accelerator Center), Stanford, USA<br>
+Tampere University, Tampere, Finland<br>
+TRIUMF, Vancouver, Canada<br>
+University of British Columbia, Vancouver, Canada<br>
+University of California, Santa-Cruz, USA<br>
+University of Cordoba, Cordoba, Spain<br>
+University of Maryland, USA<br>
+
+<h4>Individuals</h4>
+
+Akinori Kimura<br>
+Eri Suzuki <br>
+Glenn Horton-Smith<br>
+Harm Fesefeldt<br>
+Hisaya Kurashige<br>
+Hajime Yoshida<br>
+Kotoyo Hoshina<br>
+Katsuya Amako<br>
+Koichi Murakami<br>
+Makoto Takahata<br>
+Makoto Asai<br>
+Masayasu Nagamatu<br>
+Marcus H. Mendelhall<br>
+Kaz Minamimoto<br>
+Robert A. Weller <br>
+Shunji Sei<br>
+Satoshi Tanaka<br>
+Yasuhide Sawada<br>
+Toshiaki Kodama<br>
+Tetsuya Yamada<br>
+Tsukasa Aso<br>
+Takashi Sasaki<br>
+Youhei Morita
+
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   01/15/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/pastevents.shtml
===================================================================
--- trunk/Documentation/geant4/pastevents.shtml	(revision 901)
+++ trunk/Documentation/geant4/pastevents.shtml	(revision 901)
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Past Events</title>
+<link rel="stylesheet" type="text/css" href="includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="index.shtml">Home</a> &gt;
+                    Past Events
+    <!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="http://geant4.cern.ch/collaboration/workshops.shtml">Workshops and Reviews</a>.</li>
+      <li><a href="http://geant4.cern.ch/support/training.shtml">Training Courses</a>.</li>
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <h2>Past Events</h2>
+<ul>
+  <li><a href="http://geant4.in2p3.fr/2008/">Ecole Geant4 2008</a>,<br>
+    LAPP, Annecy (France), <b>18-28 November 2008</b>.</li>
+  <li><a href="http://www-conf.kek.jp/g4ws2008/">13<sup>th</sup> Geant4 Collaboration Workshop</a><br>
+    Kobe University, Kobe (Japan), <b>6-11 October 2008</b>.</li>
+  <li><a href="collaboration/technical_forum">24<sup>th</sup> Technical Forum</a><br>
+    Kobe - Japan, <b>7 October 2008</b>.</li>
+  <li><a href="http://rsicc.ornl.gov/rsiccnew/geant4.htm">Geant4 Training Course</a><br>
+    Oak Ridge National Laboratory, Oak Ridge, Tennessee (USA), <b>19-23 May 2008</b>.</li>
+  <li><a href="http://www.astro.isas.jaxa.jp/g4space5/">5<sup>th</sup> Geant4 Space Users' Workshop</a><br>
+    University of Tokyo, Tokyo (JP), <b>13-15 February 2008</b>.</li>
+  <li><a href="http://cmpwg.ans.org/workshop.html">2<sup>nd</sup> Computational Medical Physics Working Group Workshop (CMPWG-II)</a><br>
+    University of Florida, Gainesville - Florida (USA), <b>30 September - 3 October 2007</b>.</li>
+  <li><a href="http://indico.cern.ch/conferenceDisplay.py?confId=10311">12<sup>th</sup> Geant4 Collaboration Workshop</a><br>
+    Hebden House, Hebden Bridge (UK), <b>13-19 September 2007</b>.</li>
+  <li><a href="http://geant4.in2p3.fr/2007/">Ecole Geant4 2007</a><br>
+    Ministere de la Recherche et des Nouvelles Technologies, Paris (F), <b>4-8 June 2007</b>.</li>
+  <li><a href="http://www.medphys.mcgill.ca/~mcworkshop2007/Welcome.html">3<sup>rd</sup> McGill International Workshop
+    on Monte Carlo Techniques in Radiotherapy delivery and verification</a><br>
+    McGill University, Montreal (Canada), <b>29 May - 1 June 2007</b>.</li>
+  <li><a href="http://geant4.slac.stanford.edu/SLACTutorial07/">Geant4 SLAC Tutorial</a><br>
+    SLAC, Stanford (USA), <b>14-18 May 2007</b>.</li>
+  <li><a href="http://cern.ch/geant4/collaboration/Geant4-Review2007.html">Geant4 Review 2007</a><br>
+    CERN, Geneva (CH), <b>16-20 April 2007</b>.</li>
+  <li><a href="http://www.npl.co.uk/ionrad/training/montecarlo/">International Workshop on Monte Carlo codes & MCNEG 2007</a><br>
+    NPL, Teddington (UK), <b>26-29 March 2007</b>.</li>
+  <li><a href="http://www-conf.kek.jp/geant4/">The Japan Taiwan Symposium on Simulation in Medicine</a><br>
+    KEK, Tsukuba (Japan), <b>12-15 December 2006</b>.</li>
+  <li><a target="ext" href="http://geant4.slac.stanford.edu/Space06/">Geant4-Spenvis Space Users' Workshop</a><br>
+    NASA Jet Propulsion Laboratory - Pasadena, California (USA), <b>6-10 November 2006</b>.</li>
+  <li><a target="ext" href="http://indico.cern.ch/conferenceDisplay.py?confId=3190">11<sup>th</sup> Geant4 Collaboration Workshop</a><br>
+    LIP, Lisbon (Portugal), <b>9-14 October 2006</b>.</li>
+  <li><a target="ext" href="http://www.ge.infn.it/geant4/events/siena2006/geant4course.html">Geant4
+    Course</a> at the <a href="http://www.bo.infn.it/sminiato/siena06.html">10<sup>th</sup> Topical Seminar on Innovative Particle and Radiation Detectors</a><br>
+    Siena (Italy), <b>5-6 October 2006</b>.</li>
+  <li><a target="ext" href="http://www.medphys.mcgill.ca/~geant4/">Geant4 tutorial course</a><br>
+    McGill University, Montreal (Canada), <b>25-28 September 2006</b>.</li>
+  <li><a target="ext" href="http://pollux.fis.uc.pt/isrp10/workshop/">Workshop on Use of Monte Carlo Techniques for Design and Analysis of Radiation Detectors</a><br>
+    Coimbra (Portugal), <b>15-17 September 2006</b>.</li>
+  <li><a target="ext" href="http://conferences.fnal.gov/hss06/">Hadronic Shower Simulation Workshop</a><br>
+    Fermilab, Batavia, Illinois (USA), <b>6-8 September 2006</b>.</li>
+  <li><a target="ext" href="http://indico.cern.ch/conferenceDisplay.py?confId=4532">Geant4 Physics Verification and Validation Workshop</a><br>
+    CERN, Geneva (Switzerland), <b>17-19 July 2006</b>.</li>
+  <li><a target="ext" href="http://conferences.jlab.org/glab/">4-day Geant4 tutorial</a><br>
+    Jefferson Lab, Newport News, Virginia (USA), <b>22-25 May 2006</b>.</li>
+  <li><a target="ext" href="http://www.ge.infn.it/geant4/events/vienna_may2006/geant4course.html">Geant4 training course</a><br>
+    Austrian Academy of Sciences, Vienna (Austria), <b>18-20 May 2006</b>.</li>
+  <li><a target="ext" href="http://geant4.slac.stanford.edu/SLACTutorial06">4-day Geant4 tutorial</a><br>
+    SLAC, Stanford (USA), <b>7-10 March 2006</b>.</li>
+  <li><a target="ext" href="http://www.tifr.res.in/chep06">CHEP06, Computing
+    in High Energy and Nuclear Physics</a><br>
+    T.I.F.R. Mumbai (India), <b>13-17 February 2006</b>.</li>
+  <li><a target="ext" href="http://www.ge.infn.it/geant4/events/pisa_jan2006/geant4course.html">Geant4 short course</a><br>
+    INFN Pisa, Pisa (Italy), <b>12 January 2006</b>.</li>
+  <li><a target="ext" href="http://geant4.in2p3.fr/2005">10<sup>th</sup>Geant4
+    Collaboration Workshop and Users Conference</a><br>
+    Bordeaux (France), <b>3-10 November 2005</b>.<br>
+    Slides & videos for the <a target="ext" href="http://geant4.in2p3.fr/2005/userSession.htm">Users Workshop</a>
+    and the <a target="ext" href="http://geant4.in2p3.fr/2005/workshop.htm">Collaboration Workshop</a>.</li>
+  <li><a target="ext" href="http://www.nss-mic.org/2005">2005 IEEE NSS/MIC Conference</a><br>
+    San Juan (Puerto Rico), <b>23-29 October 2005</b>.</li>
+  <li><a target="ext" href="http://villaolmo.mib.infn.it/GEANT4_Symposium.pdf">Symposium on the    Applications of the Geant4 Simulation Software</a><br>
+    at the <a target="ext" href="http://villaolmo.mib.infn.it/Conference2005.html">9<sup>th</sup>
+    ICATPP Conference</a>, Villa Olmo, Como (Italy), <b>17-21 October 2005</b>.</li>
+  <li><a target="ext" href="http://www.spenvis.oma.be/spenvis/workshop/workshop.html">Workshop
+    for SPENVIS and Geant4 Space applications</a><br>
+    Catholic University, Leuven (Belgium), <b>3-7 October 2005</b>.</li>
+  <li><a target="ext" href="http://www.ge.infn.it/geant4/events/july2005">4<sup>th</sup> Geant4 Developers
+    Workshop on bio-medical applications and physics validation</a><br>
+    INFN Genova, Genova (Italy), <b>13-20 July 2005</b>.</li>
+  <li><a target="ext" href="http://www.hip.fi/geant4/workshop05">2<sup>nd</sup>
+    Finnish Geant4 Workshop</a>
+    and Tutorial<br>
+    HIP, Helsinki (Finland), <b>6-7 June 2005</b>.</li>
+</ul>
+
+  </td>
+</tr>
+
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+   
+  <div id="update">
+  <p>Last updated:
+  
+   12/02/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+   
+ 
+</body>
+ 
+</html>
Index: trunk/Documentation/geant4/problemreport/index.html
===================================================================
--- trunk/Documentation/geant4/problemreport/index.html	(revision 901)
+++ trunk/Documentation/geant4/problemreport/index.html	(revision 901)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4 problem tracking system</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<meta http-equiv="Refresh" 
+      content="5; URL=http://bugzilla-geant4.kek.jp/"
+
+</head>
+
+<body>
+
+<!--#include virtual="../includes/header.ssi"-->
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <a href="index.shtml">User Support</a> &gt;
+                    Problem tracking system
+    <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <h2>Geant4 problem tracking system<br/></h2>
+
+<p>
+The Geant4 problem reporting system has a new 
+<a href="http://bugzilla-geant4.kek.jp">home</a>. You will be re-directed in 5
+seconds...
+<!-- start footer -->
+<div id="bottom">
+  <!--#include virtual="../includes/footer.ssi"-->
+
+  <div id="update">   
+  <p>Last updated:
+  <!--#config timefmt=" %m/%d/%Y" -->
+  <!--#flastmod file="problemreport.shtml" -->
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+
+</body>
+
+</html>
+
Index: trunk/Documentation/geant4/problemreport/index.shtml
===================================================================
--- trunk/Documentation/geant4/problemreport/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/problemreport/index.shtml	(revision 901)
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4 problem tracking system</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<meta http-equiv="Refresh" 
+      content="5; URL=http://bugzilla-geant4.kek.jp/"
+
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <a href="index.shtml">User Support</a> &gt;
+                    Problem tracking system
+    <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <h2>Geant4 problem tracking system<br/></h2>
+
+<p>
+The Geant4 problem reporting system has a new 
+<a href="http://bugzilla-geant4.kek.jp">home</a>. You will be re-directed in 5
+seconds...
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">   
+  <p>Last updated:
+  
+  [an error occurred while processing this directive]
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+
+</body>
+
+</html>
+
Index: trunk/Documentation/geant4/reports/talks/geometry/touchables/index.htm
===================================================================
--- trunk/Documentation/geant4/reports/talks/geometry/touchables/index.htm	(revision 901)
+++ trunk/Documentation/geant4/reports/talks/geometry/touchables/index.htm	(revision 901)
@@ -0,0 +1,61 @@
+
+<html>
+
+<head>
+<META HTTP-EQUIV="Context-Type" CONTEXT="text/html;charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft Internet Assistant for PowerPoint 97">
+<title>Reference
+Counted
+Touchables
+
+Design</title>
+</head>
+
+<BODY     >
+<CENTER>
+<h1>Reference
+Counted
+Touchables
+
+Design</h1>
+<h4>5/28/01</h4>
+<br><h2> <A HREF="sld001.htm">Click here to start</A>
+ </h2><br>  
+</center>
+<center>
+ <table width=90%>
+  <tr>
+   <td valign=top align=left width=50%>
+      <h3><u>Table of Contents</u></h3>
+            <P ALIGN=LEFT><A HREF="sld001.htm">Reference
+Counted
+Touchables
+
+Design</A></P>
+        <P ALIGN=LEFT><A HREF="sld002.htm">Motivation</A></P>
+        <P ALIGN=LEFT><A HREF="sld003.htm">Requirements</A></P>
+        <P ALIGN=LEFT><A HREF="sld004.htm">Affected classes and categories</A></P>
+        <P ALIGN=LEFT><A HREF="sld005.htm">Possibilities</A></P>
+        <P ALIGN=LEFT><A HREF="sld006.htm">Prototype implementation</A></P>
+        <P ALIGN=LEFT><A HREF="sld007.htm">Design - Class Diagram</A></P>
+        <P ALIGN=LEFT><A HREF="sld008.htm">Design - Class Diagram</A></P>
+        <P ALIGN=LEFT><A HREF="sld009.htm">Possible extensions</A></P>
+        <P ALIGN=LEFT><A HREF="sld010.htm">Alternative Implementation</A></P>
+
+   </td>
+   <td valign=top width=50%>
+	 <strong>Author: </strong>Radovan Chytracek 
+     <P> <strong>Email: </strong> <A HREF="MAILTO:Radovan.Chytracek@cern.ch">Radovan.Chytracek@cern.ch</A> </P> 
+	 <P> <strong>Home Page: </strong> <A HREF="http://cern.ch/radoone/g4/touchables">http://cern.ch/radoone/g4/touchables</A> </P> 
+	
+	
+	
+	 <P><A HREF="g4touchables.ppt"> Download presentation source </A> 
+   </td>
+  </tr>
+ </table>
+</center>
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/results/index.shtml
===================================================================
--- trunk/Documentation/geant4/results/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/results/index.shtml	(revision 901)
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: Results and Publications</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                         Results &amp; Publications
+    <!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="../collaboration/steering_board/minutes">Steering Board minutes</a></li>
+      <li><a href="../collaboration/EMindex.shtml"><font color="#FA0A00">Electromagnetic Physics</font></a></li> 
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+        <h1>Results &amp; Publications related to Geant4</h1>
+        <ol>
+          <li><a href="results.shtml">Validation and testing</a></li>
+          <li>Results from experiments</li>
+          <li><a href="publications.shtml">Publications</a></li>
+          <li><a href="reports.shtml">Reports and Presentations</a></li>
+        </ol>
+    <p>&nbsp;</p>
+    <p>&nbsp;</p>
+    <!--end main page content --></td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   06 Dec 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/sitemap.shtml
===================================================================
--- trunk/Documentation/geant4/sitemap.shtml	(revision 901)
+++ trunk/Documentation/geant4/sitemap.shtml	(revision 901)
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: Site Map</title>
+<link rel="stylesheet" type="text/css" href="includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="index.shtml">Home</a> &gt; Site 
+        Map<!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+
+        <h1><a href="index.shtml">Geant4 Home Page</a> (1)</h1>
+        <ul>
+          <li><a href="applications.shtml">Applications</a> (1)<ul>
+            <li><a href="appexamples.shtml">Example Applications</a> (4)</li>
+          </ul>
+          </li>
+          <li><a href="usersupport.shtml">User Support</a> (2)<ul>
+            <li><a href="gettingstarted.shtml">Getting Started</a> (2)</li>
+            <li><a href="userdocuments.shtml">User Documentation</a> (4)</li>
+          </ul>
+          </li>
+          <li><a href="collab.shtml">Collaboration</a> (3)</li>
+          <li><a href="resultspubs.shtml">Results and Publications</a> (2)</li>
+          <li><a href="about.shtml">About Geant4</a> (2)</li>
+        </ul>
+        <ol>
+          <li><a href="template1.shtml">Geant4 Design Template - Main Page</a></li>
+          <li><a href="template2.shtml">Geant4 Design Template 2 - Subpage with 
+          Related Links</a></li>
+          <li><a href="template3.shtml">Geant4 Design Template 3 - Subpage with 
+          Collaborator Jump Menu</a></li>
+          <li><a href="template4.shtml">Geant4 Design Template 4 - Subpage with 
+          no Related links</a></li>
+          <li><a href="samplestyles.shtml">Geant4 Design Template 2 - With 
+          sample styles</a></li>
+        </ol>
+        <p><a href="support/download.shtml">Download 
+           </a> Geant4 source code, libraries,
+	and data files.</p></td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <p>Last update:
+  <script type="text/javascript">
+<!--//
+	document.write(document.lastModified);
+//-->
+</script>
+  </p>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/Patch4.9.1-1.txt
===================================================================
--- trunk/Documentation/geant4/support/Patch4.9.1-1.txt	(revision 901)
+++ trunk/Documentation/geant4/support/Patch4.9.1-1.txt	(revision 901)
@@ -0,0 +1,158 @@
+
+                 Geant4 9.1 - patch-01 Release Notes
+                 -----------------------------------
+
+                                                           25 January 2008
+
+List of fixes included in this public patch since the public release 9.1:
+
+  o Configuration:
+    -------------
+    + Added commented lines for OpenGL setup in Darwin-g++.gmk for MacOS
+      10.5 Leopard, pending fix from Apple.
+
+  o Geometry:
+    --------
+    + magneticfield:
+      o G4CashKarpRKF45: deleted un-needed duplicate (and unused) instance
+        variable already defined in G4MagIntegratorStepper.
+      o Some code cleanup.
+    + navigation:
+      o G4PropagatorInField: changed condition for 'ReEstimationEndPoint'
+        in order to better handle very strict parameters of propagation.
+        Also added more verbosity in case of error for negative step.
+        Fixes rare problem observed in production by ATLAS.  (*)
+      o G4PhantomParameterisation: bug fix in GetReplicaNo() to catch
+        overflows in X and Y.
+        Made CheckVoxelsFillContainer() visible in public interface.
+    + solids/BREPS: (*)
+      o Fixed bug in G4BREPSolidPolyhedra::DistanceToOut() for cases of
+        particle passing the border of two touching surfaces.
+      o G4BREPSolidBox: fixed problem in the constructor in definition of
+        the side for the normal to surface.
+    + solids/specific:
+      o In G4ExtrudedSolid::MakeFacets(), now adding triangular facets before
+        quadrangular ones, following logic behind G4TessellatedSolid.
+        Fixes occasional crashes when defining solids with mixed facets.
+        Corrected triangularization of polygon, now correctly handling case
+        of concave shapes.
+      o Corrected order of arguments in G4Paraboloid constructor.
+    + volumes:
+      o Fixed problem of double-deletion of rotation matrix in destructor
+        of G4AssemblyVolume.
+
+  o Global:
+    ------
+    + Changed date for patch-01 to release 9.1.
+
+  o Graphics Representations:
+    ------------------------
+    + HepPolyhedron: fixed bug and improvement in the visualization of
+      G4Paraboloid.
+
+  o Interfaces:
+    ----------
+    + G4UItcsh: fixed problem with <Ctl-D> termination for bash users.
+    + G4UIQt: some improvements for Qt3, corrections of some bugs.
+    + G4UIQt_moc: added versions for QT_MOC_REVISION 28,58 and 59.
+ 
+  o Electromagnetic Processes:
+    -------------------------
+    + Standard:
+      o G4PAIModel, G4PAIPhotonModel: added extra protection to guarantee
+        correct usage of the last bin for the table of energy transfers.
+        Fixes problem report #995.
+      o G4hIonisation, G4ionIonisation, G4ionGasIonisation: fixed
+        computation of non-ionizing energy loss: at the last ionization step
+        and at energies above 2 MeV for protons.
+      o G4eCoulombScatteringModel: using safer numerical espression.
+    + Utils:
+      o G4EmCorrections: improved CPU by usage of expansions and precalculated
+        values of Z^0.23.
+      o G4VEnergyLossProcess: fixed list of "collaborative" processes needed
+        for sub-cutoff option.
+
+  o Hadronic Processes:
+    ------------------
+    + cross_sections:
+      o G4PhotoNuclearCrossSection and G4ElectroNuclearCrossSection: fixed
+        wrong return value (was zero instead of pseudo-inf) and commented out 
+        extra debug warning. Moved unnecessary inline methods to implementation.
+    + models/chiral_inv_phase_space:
+      o Fixed problem of non-reproducibility induced by
+        G4QElasticCrossSection.  (*)
+      o Reduce memory allocation induced by use std::deque collection in    (*)
+        G4QHadron class; temporary workaround by replacing it with std::list.
+      o G4ChiralInvariantPhaseSpace: moved some unnecessary inline methods to 
+        implementation and fixed non-reproducibility due to difference in 
+        initialisation.
+      o G4StringChipsInterface: fixed non-reproducibility due to difference in
+        initialisation.  (*)
+      o Commented out debug printout in G4Quasmon.
+      o Fixed compilation warning on SUN/CC compiler in G4QNucleus.
+    + models/coherent_elastic:
+      o G4DiffuseElastic: removed dependency on other elastic models.
+      o G4ElasticHadrNucleusHE: fixed non-reproducibility problem.
+        Removed commented part of old code and added more formatting.
+      o G4HadronElastic: restored threshold to G4ElasticHadrNucleusHE 
+        model at 1 GeV.
+
+  o Persistency:
+    -----------
+    + gdml:
+      o Fixed vertex referencing for tessellated-solid in G4GDMLSolids.
+      o Fixed entity resolution in G4GDMLBase.
+      o Fixed naming of convention for external files in G4GDMLStructure.
+
+  o Physics Lists:
+    + G4EmExtraPhysics: fixed swapping of synchrotron radiation and mu-nuclear
+      activation. Addressing problem report #993.
+
+  o Track:
+    -----
+    + Added non-ionizing energy loss to EM physics (classes
+      G4ParticleChangeForGamma and G4ParticleChangeForLoss).
+
+  o Transportation:
+    --------------
+    + G4Transportation & G4CoupledTransportation: allow for clearing the
+      state of all chord-finders using G4FieldManagerStore. Assures for
+      event reproducibility in case multiple local fields are used.
+    + Syncronised files with CVS HEAD.
+
+  o Examples:
+    --------
+    + extended/electromagnetic/TestEm7:
+      o Added PhysListStandardNR PhysList in which G4ScreenedNuclearRecoil
+        process is used ("standardNR");
+      o Added computation of mean NIEL energy loss.
+      o Fixed experimental physics lists if single scattering models are used 
+        instead of multiple scattering. Set nuclear stopping flag for ionisation 
+        to "false".
+    + extended/gdml:
+      o Added entity.gdml and materials.xml to demonstrate the ability of
+        the parser of resolving entities.
+      o Fixed axes.gdml and diamond.gdml according to tessellated-solid
+        specifications.
+    + extended/medical/DICOM:
+      o Fix to not use 'rindex' in DicomHandler class to avoid problems
+        on Windows.
+
+ (*) Fixes also included in the patched releases 9.0.p02 and 8.3.p02.
+
+ ----------------------------------------------------------------------------
+
+                             Technical Notes
+                             --------------- 
+
+  o  This patch should be applied on top of release 9.1
+  o  Technical notes distributed for release 9.1 are also applicable and
+     valid for this patch.
+
+The code and rebuilt binary libraries for release 9.1 are available
+through our "Download" Web page:
+   http://cern.ch/geant4/support/download.shtml
+
+Please refer to the Geant4 User Documentation:
+   http://cern.ch/geant4/support/userdocuments.shtml
+for further information about using Geant4.
Index: trunk/Documentation/geant4/support/Patch4.9.1-2.txt
===================================================================
--- trunk/Documentation/geant4/support/Patch4.9.1-2.txt	(revision 901)
+++ trunk/Documentation/geant4/support/Patch4.9.1-2.txt	(revision 901)
@@ -0,0 +1,203 @@
+
+                 Geant4 9.1 - patch-02 Release Notes
+                 -----------------------------------
+
+                                                            9 May 2008
+
+List of fixes included in this public patch since the public release 9.1.p01:
+
+  o Configuration:
+    -------------
+    + Fixed in liblist.c use of gets() by adopting safer fgets().
+    + Linux-icc.gmk: updated setup to make use of icc-10.1 and ifort-10.1;
+      changed compilation option "-mp" to more performant "-fp_model precise".
+    + Linux-g++.gmk: Replaced g77 with gfortran compiler.
+
+  o Environments:
+    ------------
+    + Fixed compilation problems.
+    + Make direct usage of tags in G4Version header.
+
+  o Geometry:
+    --------
+    + Cleared compilation warnings detected on gcc-4.3.0.
+    + magneticfield:
+      o Fixed 'unused' non-initialized values of dydx in classes
+        G4EqMagElectricField and G4EqEMFieldWithSpin.
+    + management:
+      o Added missing protected copy-contructor and assignment operator
+        for G4VSolid.
+      o Added Shrink() and Reserve() methods to G4SmartVoxelNode to be used
+        for debugging studies.
+    + navigation:
+      o G4PathFinder: commented out warning and exception in ComputeStep()
+        for steps smaller than minimum threshold.
+    + solids/CSG:
+      o G4Cons: added protection against NaN in GetPointOnSurface() in the
+        case the check is run for Rmax1==Rmax2.
+      o G4Trap: corrections for arithmetic operations in 8-point constructor.
+        Addressing problem report #934.
+    + solids/specific:
+      o G4ExtrudedSolid: bug fix in MakeFacets() to fill 'fTriangles' also
+        in case of polygon with 3 or 4 vertices, as they are needed for
+        Inside(p). Fix in Inside(p) for correctly handling the case of
+        points located on the edges of triangles which are not the outline
+        edges of the polygon.
+      o G4TessellatedSolid: fixed bug in copy-constructor and internal method
+        CopyObjects() for cloning of facets. Fix in DistanceToOut(p,v,..) to
+        compute normal only if specified by flag in input.
+      o G4Polyhedra: fixed problem of out-of-bound access to vectors in
+        method GetPointOnSurface().
+      o G4IntersectingVone: added protection against NaN in LineHitsCone1()
+        in case of configurations where a conic section becomes a tube.
+        Added kCarTolerance in definition of "low" and "high" cone limits
+        in R and in Z in order to protect against numerical errors; this
+        fixes cases of DistanceToIn(p,v) returning 'kInfinity' when p+t*v
+        cross intersection between two cones.
+      o G4EllipticalCone: removed some debug printouts.
+      o G4Hype: refined polyhedron representation for correct visualization
+        of the shape.
+
+  o Global:
+    ------
+    + Introduced inclusion of <cstring> and <climits> in G4String.hh and
+      templates.hh respectively for porting on gcc-4.3.0 compiler.
+    + Cleared compilation warnings detected on gcc-4.3.0
+    + Removed useless specification of units in implementation of
+      G4GeometryTolerance::SetSurfaceTolerance().
+    + Changed date for patch-02 to release 9.1.
+
+  o Graphics Representations:
+    ------------------------
+    + Added G4Hype representation to HepPolyhedron and G4Polyhedron.
+    + Added inclusion of <cstdlib> in HepPolyhedron.cc for porting on
+      gcc-4.3.0 compiler.
+
+  o Materials:
+    ---------
+    + G4NistMaterialBuilder: using correct dimension for the density for
+      ConstructNewMaterial() methods.
+    + G4Material: improved printout in error conditions by specifying the
+      name of the material affected.
+
+  o Particles:
+    ---------
+    + G4ParticleTable: fixed implementation of methods Remove() and
+      RemoveAllParticles() so that particle definition objects are properly
+      deleted when invoking these methods between runs. It's user's
+      responsibility to delete dynamically instantiated particle objects.
+      Added method DeleteAllParticles() to remove and delete all particles
+      in the list. Addressing problem report #1007.
+    + Fixed bugs in G4Iontable::Remove() and G4ShortLivedTable::Remove().
+
+  o Physics Lists:
+    -------------
+    + Fixed deletion using uninitialized pointers in FTF-BIC, for classes
+      HadronPhysicsFTF_BIC, G4FTFBinaryNeutronBuilder and G4LEPNeutronBuilder.
+
+  o Electromagnetic Processes:
+    -------------------------
+    + Standard:
+      o G4UrbanMscModel90, G4UrbanMscModel: fixed asymmetry of lateral
+        displacement.
+      o G4ionIonisation: adopt 'linLossLimit' 0.15 as it was originally in 9.1.
+      o G4IonFluctuations: fixed discontinuity of width correction factor 
+        for small velocities and added a protection to its value 
+        (factor>1), which fixes very long alpha events.
+    + Utils:
+      o G4EmCorrections: set finite size correction to zero (provides flat
+        distribution of vertex detector response for high energy hadrons).
+      o G4ionEffectiveCharge: minor change of numerical constants to provide
+        continuous change of charge versus energy.
+
+  o Hadronic Processes:
+    ------------------
+    + Cleared most compilation warnings detected on gcc-4.3.0.
+    + cross_sections:
+      o G4NeutronInelasticCrossSection: fixed bug which used to return zero
+        cross section for 3He.
+      o G4TripathiLightCrossSection: fixed bug in method IsApplicable() to
+        use GetN() instead of GetA() for target.
+      o Added capability to use element-based cross section data
+        sets if no isotope-based ones are available. This is required to
+        get the HP neutron code to work within the cross section framework
+        introduced in version 9.0. Added internal method to class
+        G4CrossSectionDataStore.
+    + models/cascade:
+      o Added Coulomb barrier in G4EquilibriumEvaporator.
+      o Changed pp, nn total cross section parameterization in class
+        G4CascadSpecialFunctions to more closely reflect the PDG values;
+        fixed cross section bug responsible for returning low or zero total
+        cross sections for pi-p, pi+n, np, and pi0 interactions.
+    + models/chiral_inv_phase_space:
+      o Modified G4QElasticCrossSection to fix problem with quasi-elastic.
+        When run together with elastic, the parameters to sample T were not
+        updated, this fix is to always update these.
+      o Fixed case of exceeded boundary bounds in G4QCollision.
+      o Check on tolerance is replaced by check on exact equality for fixing
+        event reproducibility.
+    + models/coherent_elastic:
+      o G4HadronElastic: added extra protection against precision lost
+        when projectile almost lost kinetic energy; set 'lowestEnergyLimit'
+        to be 1.e-6*eV (was 0.0).
+        Added extra protection: if sampled t out of the physics range then
+        no scattering.
+      o G4UHadronElasticProcess: call to G4QElasticCrossSection with option
+        "false", so parameters for sampling of scattering are precalculated.
+    + models/neutron_hp:
+      o Fix against cases of division by zero.
+      o Fixed erroneous condition in G4NeutronHPContAngularPar.
+      o To increase performance, checking point of "neglecting doppler
+        broadening" flag is changed from GetCrossSection() method to
+        BuildPhysicsTable().
+    + models/theo_high_energy:
+      o Added missing Fermi momentum to quasi elastic scattering.
+    + stopping:
+      o G4MuMinusCaptureCascade: fixed case of NaN value in bound muon decay.
+
+  o Generic Processes:
+    -----------------
+    + Decay:
+      o Added protection to properly handle shortlived particles with finite
+        pre-assigned proper time.
+    + Management:
+      o Fixed bug related to invoking ResetNumberOfInteractionLengthLeft()
+        at the zero length step
+      o Allow zero mean free path for PostStepDoIt().
+    + Parameterisation:
+      o Cleared compilation warnings detected on gcc-4.3.0.
+
+  o Run:
+    ---
+    + Added G4Transportation to shortlived particles in G4VUserPhysicsList
+      in order to fix problem of non-assigned process for shortlived particle
+      decay detected in CMS.
+
+  o Examples:
+    --------
+    + advanced/underground_physics:
+      o Fixed mis-sized arrays 'ring_phys_gas' and 'ring_phys_liq';
+        both were less than the utilized size.
+    + extended/field/field02:
+      o Fixed setup to correctly handle electric field.
+    + extended/field/field04:
+      o Fix to avoid error for invalid rotation specification
+        in F04DetectorConstruction::stringToRotationMatrix().
+
+
+ ----------------------------------------------------------------------------
+
+                             Technical Notes
+                             --------------- 
+
+  o  This patch should be applied on top of release 9.1
+  o  Technical notes distributed for release 9.1 are also applicable and
+     valid for this patch.
+
+The code and rebuilt binary libraries for release 9.1 are available
+through our "Download" Web page:
+   http://cern.ch/geant4/support/download.shtml
+
+Please refer to the Geant4 User Documentation:
+   http://cern.ch/geant4/support/userdocuments.shtml
+for further information about using Geant4.
Index: trunk/Documentation/geant4/support/Patch4.9.1-3.txt
===================================================================
--- trunk/Documentation/geant4/support/Patch4.9.1-3.txt	(revision 901)
+++ trunk/Documentation/geant4/support/Patch4.9.1-3.txt	(revision 901)
@@ -0,0 +1,203 @@
+
+                 Geant4 9.1 - patch-03 Release Notes
+                 -----------------------------------
+
+                                                            12 September 2008
+
+List of fixes included in this public patch since the public release 9.1.p02:
+
+  o Configuration:
+    -------------
+    + architecture.gmk: removed obsoled DOM library from GDMLIBS; resolving
+      run-time problems on Windows systems.
+    + liblist.c: removed C++ style comments; resolving compilation problems
+      on legacy SUN-CC compiler.
+
+  o Digits_Hits:
+    -----------
+    + Fixed a bug in G4ScoringBox for the use of G4PVDivision
+      and G4VScoreWriter for indexing scheme in GetIndex() method.
+
+  o Event:
+    -----
+    + Provided accessors to G4SPSAngDistribution.
+      Addressing problem report #1013.
+    + Cleared gcc-4.3.0 compilation warnings in G4SPSEneDistribution.
+
+  o G3toG4:
+    ------
+    + GNUmakefile: workaround for renewing Fortran objects in 'lib' target
+      before re-build of libraries.
+
+  o Geometry:
+    --------
+    + divisions:
+      o Corrected initialisation for 'fnReplicas' and 'fwidth' data members
+        in CheckAndSetParameters(), to make use of precomputed values retrieved
+        from concrete parameterisations; simplified method signature.
+      o Corrected error print-out in CheckNDivAndWidth() method in
+        G4VDivisionParameterisation class.
+    + management:
+      o G4LogicalVolume, G4LogicalVolumeStore: corrected logic for the deletion
+        of the root-region volumes, adding locking mechanism and automatically
+        de-registering the world default root-region.
+        Simplified Clean() method in the store, by removing unused and
+        unnecessary default flag for logical-volumes notification.
+      o Reinstated update of materials in G4Region::RemoveRootLogicalVolume()
+        to correct handling individual removal of root-region volumes and
+        restore proper setup state.
+      o G4Region: changed condition inside ScanVolumeTree() to check for the
+        existence of a valid material-scanner pointer to apply the material
+        scan instead of using the flag for nested structures.
+      o G4GeometryManager: do not apply optimisation on the current volume if
+        it has been defined as a regular structure.
+        Addresses problem report #990.
+      o G4VSolid: promote copy-constructor and assignment operator to public
+        to cope with specific use-case in ATLAS (see problem report #1023).
+    + navigation:
+      o G4PropagatorInField: correction to LocateIntersectionPoint() algorithm
+        to ensure that endpoints are not further apart in space than on the
+        curve due to different errors in the integration.
+        Resolves rare error conditions in ATLAS production.
+    + solids/CSG:
+      o G4Sphere: fixed bug in DistanceToOut(p, v, ...) for normal 'fSTheta'
+        greater than 90*deg, and use of tangent giving negative value.
+        Fixed calculation of roots in DistanceToOut(p,v,...) for theta-conical
+        surface interserctions and for sTheta<=90 degree intersection.
+        Addresses issue reported when running PET application with optical
+        photons about mis-computation of distance on half-sphere constructs,
+        and later also reported in problem report #1022.
+      o G4Tubs: fix in DistanceToIn(p,v, ...) in case of point on surface with
+        very small tangent direction; now returning kInfinity and no longer
+        zero. It fixes rare observed cases of zero value returned by both
+        DistanceToIn() and DistanceToOut(), causing stuck tracks with zero
+        step length. 
+    + solids/specific:
+      o G4ExtrudedSolid: fix in polygon decomposition; systematically use
+        half kCarTolerance instead of kCarTolerance; added solid name in the
+        error messages coming from fatal exceptions.
+        Added missing 'std' namespace to standard mathematical function calls.
+      o G4Paraboloid: revised DistanceToOut(p,v,...) in answer to problem
+        report #1015. Fixed precision problem when solving quadratic equation;
+        apply comparison with kCarTolerance and not with zero; fixed logic
+        problem in algorithm for points on surface and direction inside,
+        relative to directions along Z, (0,0,Vz).
+      o G4VFacet: corrected increment of indeces in operator==().
+        Addressing problem report #1024.
+
+  o Global:
+    ------
+    + Corrected signature of G4SwapPtr() to use reference of pointers as
+      arguments.
+    + Changed date for patch-03 to release 9.1.
+
+  o Interfaces:
+    ----------
+    + Replaced calls to exit() with G4Exception wherever applicable.
+
+  o Materials:
+    ---------
+    + G4Element: extended printout of errors and warnings; added more safe
+      check of consistency between Z and A in construction.
+    + G4Material: improved errors printout.
+
+  o Hadronic Processes:
+    ------------------
+    + models/coherent_elastic:
+      o G4HadronElastic: added protection inside LElastic algorithm against
+        cases of t>tmax (outside kinematically allowed 4-momentum transfer).
+    + models/lll_fission:
+      o Replaced usage of exit() with G4Exception in G4fissionerr.
+    + models/high_energy:
+      o In G4HEInelastic: fixed bug in HighEnergyCascading() and
+        MediumEnergyCascading() for momentum sampling, responsible for
+        oscillatory behavior in spectrum.
+        In TuningOfHighEnergyCascade(), removed abnormally high pt secondaries
+        due to incident strange particles by prohibiting the assignment of
+        leading particle to anything that goes backward in the CM frame. 
+        Replaced usage of exit() with G4Exception in Factorial() method.
+        In NBodyPhaseSpace(), removed error message "total mass > total energy"
+        and replaced with message only when verbosity is > 1.
+    + models/parton_string/diffraction:
+      o Fixed compilation warnings for unused variables in G4FTFModel.
+    + models/pre_equilibrium:
+      o Fixed cases of floating point overflow when using pre-compound in
+        combination with binary-cascade; reviewed algorithm in method
+        G4PreCompoundEmission::rho().
+    + util:
+      o G4ReactionDynamics::GenerateXandPt(): fixed bug in momentum bin
+        responsible for causing oscillatory behavior in spectrum.
+        Replaced usage of exit() with G4Exception. 
+
+  o Generic Processes:
+    -----------------
+    + Management:
+      o Fixed un-necessary double deletion/creation of vector in operator=()
+        in G4ProcessVector.
+      o Fixed compilation warning on messenger. 
+
+  o Run:
+    ---
+    + G4RunManagerKernel: avoid deletion of default root-region which is now
+      taken care by the geometry stores. It resolves the ambiguity of explicitly
+      avoiding the de-registration and deletion of the default root-region by
+      the stores and eliminates the limitation of forcing the world logical
+      volume being the first registered in the logical-volumes store.
+    + Invoke G4Particle::DeleteAllParticles() in the destructor of
+      G4VUserPhysicsList to clear memory leak at application closure.
+
+  o Tracking:
+    --------
+    + Fix in G4SteppingManager to properly update 'fTouchableHandle' data
+      member. Addresses problem report #1009.
+
+  o Examples:
+    --------
+    + advanced/air_shower:
+      o Adjusted range of optical properties tables in DetectorConstruction;
+        Added check of optical photon energy in PrimaryGeneratorAction;
+        Cerenkov process attached to all applicable particles;
+        Modified Visualisation.mac and UltraMacro.mac macros.
+      o Corrected a parameter in the DetectorConstruction to fix a
+        segmentation due to a non correct definition of the refraction index
+        of the Quartz.
+      o Implemented access to private data members of DetectorConstruction
+        through accessors.
+      o Fixed a compilation warning in AnalysisManager. 
+    + advanced/brachytherapy:
+      o Fixed compilation warning in AnalysisManager. Fixed bad type assignment.
+      o Activated generation of histogram files for output.
+    + advanced/gammaray_telescope:
+      o Fixed problems in compilation.
+    + advanced/lAr_calorimeter:
+      o Fixed compilation warning in AnalysisManager.
+    + advanced/Rich:
+      o Fixed compilation errors and removed warnings.
+    + advanced/Tiara:
+      o Fixed compilation errors.
+    + extended/exoticphysics/monopole:
+      o Fixed compilation warnings.
+    + extended/medical/DICOM:
+      o Bug fix in DicomNestedPhantomParameterisation in calculating the cell
+        copy-number; now fixing the material assignments.
+      o Set default cut to 1 mm to reduce physics content and enhance tracking
+        performance.
+      o Corrected direction and position of primary particles to better
+        traverse the DICOM voxels.
+
+ ----------------------------------------------------------------------------
+
+                             Technical Notes
+                             --------------- 
+
+  o  This patch should be applied on top of release 9.1
+  o  Technical notes distributed for release 9.1 are also applicable and
+     valid for this patch.
+
+The code and rebuilt binary libraries for release 9.1 are available
+through our "Download" Web page:
+   http://cern.ch/geant4/support/download.shtml
+
+Please refer to the Geant4 User Documentation:
+   http://cern.ch/geant4/support/userdocuments.shtml
+for further information about using Geant4.
Index: trunk/Documentation/geant4/support/ReleaseNotes4.9.1.html
===================================================================
--- trunk/Documentation/geant4/support/ReleaseNotes4.9.1.html	(revision 901)
+++ trunk/Documentation/geant4/support/ReleaseNotes4.9.1.html	(revision 901)
@@ -0,0 +1,1499 @@
+<HTML>
+<HEAD>
+<TITLE>Geant4 9.1 Release Notes</TITLE>
+</HEAD>
+<BODY BGCOLOR='F0F0F0'>
+
+<P> </P>
+<BR>
+<P> </P>
+
+<P ALIGN="Center">
+<FONT SIZE="+4" COLOR="#238E23">
+<B>Geant4 9.1 Release Notes</B>
+</FONT>
+
+<TABLE WIDTH="100%">
+<TR><TD ALIGN="Right">
+<FONT SIZE="-1" COLOR="#5C3317">
+<B><I>December 14<SUP>th</SUP>, 2007</I></B>
+</FONT>
+</TD></TR>
+</TABLE>
+
+<BR><BR>
+<HR ALIGN="Center" SIZE="7%">
+<P>
+The code and binary libraries for the supported systems are available
+through our <A TARGET="ext" HREF="http://cern.ch/geant4/support/download.shtml">Source
+Code Web page</A>.
+</P>
+<P>
+Please refer to the
+<A TARGET="ext" HREF="http://cern.ch/geant4/support/userdocuments.shtml">Geant4
+User Documentation</A> for further information about using Geant4.
+</P>
+
+<H2><I>Contents</I></H2>
+<OL>
+<LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
+<LI><A HREF="#2.">CLHEP and AIDA</A></LI>
+<LI><A HREF="#3.">Items for migration of the user code</A></LI>
+<LI><A HREF="#4.">New Developments and Capabilities</A></LI>
+<LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
+<LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
+<LI><A HREF="#7.">Compilation Warnings</A></LI>
+<LI><A HREF="#8.">Known Run-Time Warnings</A></LI>
+<LI><A HREF="#9.">Geant4 Software License</A></LI>
+<LI><A HREF="#10.">Detailed list of changes and fixes</A></LI>
+</OL>
+
+<P> </P>
+<A NAME="1."></a>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>1. Supported and Tested Platforms</H2>
+
+Official platforms:
+<UL>
+<LI>Linux, gcc-3.4.6.<BR>
+    Tested on <I>32 bits architectures</I> and <I>64 bits architectures</I>
+    (Intel or AMD) with the Scientific Linux CERN 4 (SLC4) distribution
+    (based on RedHat Linux Enterprise 4).
+    Versions of Geant4 have also been compiled successfully on other
+    Linux distributions, like Debian, Suse or other RedHat systems.</LI>
+<LI>MacOSX 10.4, gcc-4.0.1</LI>
+<LI>SUN Solaris 5.8, C++ CC-5.5.</LI>
+<LI>Windows/XP and CygWin Tools with: Visual C++ 8.0 (Visual Studio 2005)</LI>
+</UL>
+
+More verified configurations:
+<UL>
+<LI>Linux, gcc-3.2.3, gcc-4.2.2</LI>
+<LI>Linux, Intel-icc 9.1</LI>
+<LI>SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02</LI>
+<LI>Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET</LI>
+</UL>
+
+Platforms configured but not tested and not supported:
+<UL>
+<LI>AIX 4.3.2, xlC 6.0</LI>
+<LI>DEC V4.0, cxx C++ V6.1-027</LI>
+<LI>HP 10.20, aCC C++ B3910B A.01.23</LI>
+<LI>SGI V6.5.5, CC 7.2.1</LI>
+</UL>
+
+<P> </P>
+<A NAME="2."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>2. CLHEP and AIDA</H2>
+
+Geant4 9.1 requires the installation of
+<A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>.<BR>
+Tests have been performed with <B>CLHEP-2.0.3.2</B><BR>
+<P> </P>
+Geant4 9.1 examples with histogramming cowork with analysis tools compliant
+to AIDA 3.2.1 interfaces (for details, see
+<A TARGET="ext" HREF="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas02.html">Appendix 2</A>
+of the
+<A TARGET="ext" HREF="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/">Users Guide for Application Developers</A>).<BR>
+AIDA headers can be downloaded from:
+<A TARGET="ext" HREF="http://aida.freehep.org/">http://aida.freehep.org</A>
+
+
+<P> </P>
+<A NAME="3."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>3. Items for migration of the user code</H2>
+
+Listed here is some relevant information on developments included in this
+release, some of which may require migrations (mainly for advanced uses of
+features in Geant4) in order to upgrade from release 9.0 to release 9.1.
+Note that a full re-installation of libraries (or a full recompilation) and
+a recompilation of user applications is required.
+
+<P> </P>
+<B>Geometry</B>
+<P> </P>
+The revision of <TT>G4TessellatedSolid</TT> required a name change for some
+public methods. User code making explicit use of these methods should migrate
+accordingly.
+
+<P> </P>
+<B>Low Energy Electromagnetic physics</B>
+<P> </P>
+The prototype interfaces of beta-version <TT>G4DNA*</TT> processes have been
+replaced by a unique process. Prototype user code is required to migrate; in
+principle the migration is limited to replacing <TT>typedef</TT> statements.
+
+<P> </P>
+<B>Standard Electromagnetic physics</B>
+<P> </P>
+The <TT>G4Cerenkov</TT> process was changed from being an <TT>AlongStep</TT>
+process to a <TT>PostStep</TT> process. Custom user physics-lists that
+include <TT>G4Cerenkov</TT> must be changed accordingly:
+<PRE>
+   pmanager->AddContinuousProcess(theCerenkovProcess);
+</PRE>
+to:
+<PRE>
+   pmanager->AddProcess(theCerenkovProcess);
+   pmanager->SetProcessOrdering(theCerenkovProcess,idxPostStep);
+</PRE>
+
+<P> </P>
+<B>Hadronic physics</B>
+<P> </P>
+Gamma level file warnings in <TT>G4NuclearLevelManager</TT> have been 
+suppressed, so if an isotope has no data, no warning will be issued.
+To turn them on again, set the pre-compiler flag <TT>GAMMAFILEWARNING</TT>
+as follows:
+<PRE>
+   CPPFLAGS += -DGAMMAFILEWARNING
+</PRE>
+and re-build the library in
+<TT>processes/hadronic/models/de_excitation/photon_evaporation</TT> of Geant4.
+
+<P> </P>
+<B>Fast Parameterised Simulation</B>
+<P> </P>
+The process <TT>G4FastSimulationManagerProcess</TT> (<TT>G4FSMP</TT>) can be
+used for trigger fast simulation models. These can be attached either to a region of the primary 'mass'
+geometry or to a region of a parallel (ghost) geometry.<BR>
+In the first case, the user has to attach an instance of the <TT>G4FSMP</TT>
+process as a <TT>PostStep</TT> process to particles having a fast simulation
+model in the mass geometry; this remains unchanged.<BR>
+A change is required in the second case, of a ghost geometry: the <TT>G4FSMP</TT> process now must be attached as an <TT>AlongStep+PostStep</TT>
+process to particles having fast simulation models bound to regions of the
+ghost geometry.<BR>
+The <TT>AlongGetPhysicalInteractionLength()</TT> method of the <TT>G4FSMP</TT>
+process must be placed second-to-last in this case (i.e. after the Multiple
+Scattering, but before the Transportation processes). An example is given in
+the physics-list defined in <TT>examples/novice/N05</TT>.
+
+<P> </P>
+<B>Data Sets</B>
+<P> </P>
+This release introduces a new data set and two new versions.
+Please see the last section for the corresponding details.
+<UL>
+<LI>New data for neutron cross-sections, G4NDL.3.12.</LI>
+<LI>New low-energy data set, G4EMLOW.5.1.</LI>
+<LI>New data set for nuclear shell effects, G4ABLA3.0 used by the new ABLA .</LI>
+</UL>
+
+<P> </P>
+<A NAME="4."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>4. New Developments and Capabilities </H2>
+
+<B>Geometry</B>
+<UL>
+<LI>Introduced new  navigation for phantoms and similar regular
+    structures. The new algorithm provides  fast navigation
+    and no memory overhead for  voxels phantoms and similar geometries.
+    An option is available to skip volume boundaries, when the volumes on either side hold the same material. The example  in <TT>extended/medical/DICOM</TT> has been
+    revised to demonstrate the usage of the new parameterisation required and the corresponding navigation. In addition it
+    enables  comparison against existing algorithms, including the nested parameterisation (which had reduced memory overhead) and the older  3D optimisation.</LI>
+</UL>
+
+<B>GDML detector description persistency</B>
+<UL>
+<LI>A plugin-module for GDML can be installed optionally  in Geant4.  This replaces the dependency on the external GDML (GDML-2.X series) library. The new
+    module includes all the features supported in the old GDML library for
+    importing GDML descriptions, except for handling of parameterised volumes
+    and material optical properties. (These will be added in a future version
+    of the new plugin.) It remains possible to use the old external
+    GDML library, if needed.</LI>
+</UL>
+
+<B>Low Energy Electromagnetic physics</B>
+<UL>
+<LI>Fully functional capabilities of physics processes in liquid water for
+    microdosimetry simulation are provided in this release; details can be
+    found in <I>S. Chauvie et al., "Geant4 physics processes for
+    microdosimetry simulation: design foundation and implementation
+    of the first set of models", IEEE Trans. Nucl. Sci., vol. 54,
+    no. 6, Dec. 2007</I>.</LI>
+</UL>
+
+<B>Standard Electromagnetic physics</B>
+<UL>
+<LI>Non-ionizing energy loss is filled by ion ionisation processes and is
+    available to user actions.</LI>
+<LI>The new process <TT>G4ionGasIonisation</TT> is available. It is recommended
+    to be used for simulation of ion transport in low-density media.</LI>
+<LI>The process <TT>G4CoulombScattering</TT> was verified and is proposed to
+    be used instead of the multiple scattering process for simulation of
+    scattering in low-density media.</LI>
+<LI>The <TT>G4ScreenNuclearRecoil</TT> process developed by the Vanderbilt
+    University group is available with the extended example <TT>TestEm7</TT>.
+    This process is an alternative to the multiple scattering process for
+    ions.</LI>
+<LI>The simulation of energy loss of the classical magnetic monopole is
+    provided. The example of Physics List with the monopole is available with
+    the new extended example <TT>exotic_physics/monopole</TT>.</LI>
+</UL>
+
+<B>Hadronic physics</B>
+<UL>
+<LI>Extended applicability of the Binary cascade. <TT>G4BinaryCascade::Propagate()</TT> method is first released.  This allows
+    the use of the Binary cascade to transport the remnants of a high energy collision, as it has become model in the high energy
+    framework (<TT>G4TheoFSGenerator::SetTransport()</TT>). This feature is
+    aimed for expert use currently, as validation is starting.<br>
+    The binary cascade can now be used for pions, benefiting from a bug fix for
+    incident pions; validation is in progress.</LI>
+<LI>The first,  alpha release of  the new   INCL (Liege) cascade module is included. This will be an alternative to the 
+    Binary and Bertini cascades,  are already offered in Geant4, and valid up
+    to <TT>3 GeV</TT>. It has been converted from the Fortran implementation and its  validation is ongoing.</LI>
+<LI>First, alpha release of new QMD (quantum molecular dynamics) nucleus-nucleus
+    interaction code. Its validation is ongoing.</LI>
+<LI>High precision neutrons: G4NDL 3.12 data set is now released. This uses
+    JENDL entries for Cd isotopes, and adds four new elements with their
+    corresponding isotopes: <TT>Hg</TT>, <TT>Ra</TT>, <TT>Br</TT>, and
+    <TT>La</TT>.</LI>
+</UL>
+
+<P> </P>
+<B>Physics Lists</B>
+<P> </P>
+<P>
+Several new physics lists are offered, providing new configurations or new
+modeling options. Feedback via the Hypernews Forum on physics lists is welcome.
+The new physics lists are:
+<UL>
+<LI><B>FTFP_BERT</B> and <B>QGSC_BERT</B>: both of these reduce the use of
+    parameterized modeling. For proton, neutron, pion and kaon induced
+    inelastic hadronic interactions the parameterized model is not used.</LI>
+<LI><B>QGSP_DIF</B> and <B>QGSP_BERT_DIF</B>: for diffractive scattering of
+    proton and neutron at high energies a diffractive scattering model
+    provided by CHIPS is used.</LI>
+<LI><B>QGS_BIC</B> and <B>FTF_BIC</B>: offering new developments of
+    Binary cascade. For more details, see the detailed notes.</LI>
+</UL>
+
+<B>Command-based scoring</B>
+<UL>
+<LI>The user can 
+    use this new ability to score on an arbitrary three-dimensional scoring mesh, using only new user commands. No user code needs be
+    written to apply the scoring. It utilises a parallel world making the mesh geometry
+    can be independent of the mass geometry. An arbitrary number of physics
+    quantities to be scored and filters affecting these scorers can be assigned
+    to the mesh. After scoring has been applied (i.e. after the run), the user
+    can visualize the score map and also dump scores into a file. Relevant
+    UI commands are listed in the Application Developers Guide, and the new
+    <TT>extended/runAndEvent/RE03</TT> example demonstrates their usage.</LI> 
+<LI>Command-based scoring is in Beta release; commands and methods are subject
+    to modification in future releases. Feedback will be greatly appreciated.</LI>
+</UL>
+
+<P> </P>
+<A NAME="5."></A>
+<HR>
+<!-- ============================================== -->
+
+<H2>5. Expected effects on physics and performance</H2>
+
+<B>Standard Electromagnetic physics</B>
+<UL>
+<LI>Improved simulation of the high-energy gamma tail for muon Bremsstrahlung
+    (rare process, important for background simulation - NA49).</LI>
+<LI>Improved simulation of straggling for ions; the width of the Bragg peak
+    becomes stable versus modification of the cut in range.</LI>
+</UL>
+
+<B>Hadronic physics</B>
+<UL>
+<LI>Fixed problem reported by ATLAS of high energy collision of <TT>sigma+</TT>
+    and a nucleon producing a high energy backward proton. This problem has
+    been in the hadronic code since the beginning and was due to incorrectly
+    selecting evaporated nucleons as leading particles. At <TT>1 TeV</TT>
+    incident energy, this type of event occurred 0.5% to 1% of the time when
+    the HEP models are used. After the fix, no high energy backward nucleons
+    are observed, with the effect that such events will not exist to mimic
+    exotic reactions.</LI>
+<LI>Bug fixes and completed implementation of theory in <TT>G4PreCompoundModel</TT>
+    and <TT>G4Evaporation</TT> have produced a 10-15% increase in neutron flux
+    for <TT>2.5 GeV/c</TT> protons incident on <TT>Pb</TT>.</LI>
+<LI>Correct time is now set for secondaries, instead of global time. This will
+    primarily affect neutron times for users of the HP neutron package.</LI>
+<LI>An angular distribution bug in Bertini cascade has been fixed. Previously,
+    double differential cross sections showed an excess of events at high 
+    energy and small to medium scattering angles. The fix removes this by
+    using an <TT>exp(t)</TT> distribution for nucleon-nucleon scattering above
+    <TT>2.8 GeV</TT>. This will result in only a small reduction of average
+    particle energy in the secondaries.</LI>
+<LI>Bug fix in quasi-elastic scattering may cause shower shapes to be a bit 
+    shorter and wider when using QGSC/QGSP physics lists.</LI>
+</UL>  
+
+<P> </P>
+<A NAME="6."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>6. Known Run-Time Problems and Limitations</H2>
+
+For a complete list of outstanding run-time problems and to submit any
+problem you may find running this version of Geant4, please refer to the
+<A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
+Reporting System</A>.
+
+<P> </P>
+<A NAME="7."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>7. Compilation Warnings</H2>
+
+There are compilation warnings on some tested platforms. We do not believe
+that any of these lead to incorrect run-time behaviour.
+
+<P> </P>
+<A NAME="8."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>8. Known Run-Time Warnings</H2>
+
+The following message can be written to standard output at the end of a program:
+<PRE>
+    G4Transportation: Statistics for looping particles 
+       Sum of energy of loopers killed: 
+       Max energy of loopers killed: 
+</PRE>
+It provides the total energy (in <TT>MeV</TT>) of tracks  killed due to
+excessive number of steps ('looping') during the simulation, and the maximum
+energy of such a track. Such behaviour can be due to looping in magnetic fields
+or encountering problems at geometrical boundaries.
+<P></P>
+In case either of these reported energy is significant, we recommend to
+increase the verbosity of <TT>G4Transportation</TT> to obtain information for
+each track killed. A user can change the threshold energy above which particles
+are not killed using the method <TT>SetThresholdImportantEnergy</TT> of
+<TT>G4Transportation</TT>. The default value is <TT>250 MeV</TT>.
+
+<P> </P>
+<A NAME="9."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>9. Geant4 Software License</H2>
+
+A Software License applies to the Geant4 code.
+Users must accept this license in order to use it. The details and the list of
+copyright holders is available at
+<A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
+and also in the text file <TT>LICENSE</TT> distributed with the source code.
+
+<P> </P>
+<A NAME="10."></A>
+<HR>
+
+<!-- ============================================== -->
+
+<H2>10. Detailed list of changes and fixes</H2>
+
+These are the main new features/fixes included in this release since the
+last patched public release (for more detailed lists of fixes/additions,
+please refer to the corresponding History files provided in most packages):
+
+<P> </P>
+
+<A NAME="conf-notes">
+<H3><I>Configuration</I></H3></A>
+<UL>
+<LI>New modules added to <TT>binmake.gmk</TT>:
+    <TT>digits_hits/scorer</TT>, <TT>processes/hadronic/models/rpg</TT>,
+    <TT>processes/hadronic/models/incl</TT> (Liege cascade),
+    <TT>processes/hadronic/models/qmd</TT> and <TT>persistency/gdml</TT>.</LI>
+<LI>Introduced <TT>G4LIB_BUILD_GDML/G4LIB_USE_GDML</TT> flags to trigger
+    compilation of <TT>gdml</TT> plug-in. Added setup for XercesC. Required
+    path <TT>XERCESCROOT</TT> to XercesC installation if
+    <TT>G4LIB_BUILD_GDML</TT> is set.</LI>
+<LI>Added setup for QT in UI scripts (variables <TT>QTHOME,
+    G4UI_BUILD_QT_SESSION, G4UI_USE_QT, G4VIS_BUILD_OPENGLQT_DRIVER,
+    G4VIS_USE_OPENGLQT</TT>).</LI>
+<LI>Use <TT>gfortran</TT> instead of <TT>g77</TT> on MacOSX.</LI>
+<LI>Updated Configure script to handle new modules and data libraries.</LI>
+</UL>
+
+<A NAME="digits-notes">
+<H3><I>Digitization & Hits</I></H3></A>
+<UL>
+<LI>Created new module <TT>scorer</TT> now including all scorer and filter
+    classes. The module <TT>utils</TT> is now used for interactive scoring
+    utilities.</LI>
+<LI>First implementation of interactive parallel world scoring.</LI>
+<LI>Introducing command-based scoring mechanism: Beta release.
+    Currently shape of scoring cell is limited to boxes.</LI>
+</UL>
+
+<A NAME="emstd-notes">
+<H3><I>Electromagnetic Processes</I></H3></A>
+<UL>
+<LI><B>High Energy</B>
+    <UL>
+    <LI><TT>G4mplIonisation</TT>: introduced theoretical asymtotic low-energy
+        parameterization of <TT>dEdx</TT> and fixed intermediate
+        parameterization between low-energy and high-energy models
+        for classical magnetic monopole..</LI>
+    </UL></LI>
+<LI><B>Low Energy</B>
+    <UL>
+    <LI>Refactoring of Geant4-DNA domain. Added <TT>G4DNAProcess</TT> and
+        <TT>G4DNAFinalStateProduct</TT> classes.</LI>
+    <LI>New Geant4-DNA models for electrons: Elastic Scattering (screened
+        Rutherford, Brenner-Zaider), Ionisation (Emfietzoglou), Excitation
+        (Emfietzoglou).</LI>
+    <LI>New Geant4-DNA models for protons: Excitation (Dingfelder,
+        Emfietzoglou), Ionisation (Rudd, Dingfelder 1st Born approximation),
+        Charge Change (Dingfelder).</LI>
+    <LI>New Geant4-DNA models for hydrogen: Excitation (Dingfelder),
+        Ionisation (Dingfelder), Charge Change (Dingfelder).</LI>
+    <LI>New Geant4-DNA models for helium and its charge states: effective
+        charge scaling from proton models.</LI>
+    <LI>Fixes to handle <TT>Z=100</TT> in the Livermore library and to correct
+        problem report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=933">#933</a>.</LI>
+    <LI>Fix in <TT>G4PenelopeRayleigh</TT> to address problem report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=965">#965</a>.</LI>
+    <LI>Correction in <TT>G4AtomicDeexcitation</TT>, addressing problem Report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=986">#986</a>.</LI>
+    <LI>Requires new data set G4EMLOW5.1, where a new dna/directory has been
+        added containing Geant4-DNA data tables for interpolation.</LI>
+    </UL></LI>
+<LI><B>Muons</B>
+    <UL>
+    <LI><TT>G4EnergyLossForExtrapolator</TT>: added <TT>maxEnergyTransfer</TT>
+        parameter for the computation of energy loss.</LI>
+    <LI><TT>G4MuBremsstrahlungModel</TT>: updated sampling algorithm to provide
+        more precise predictions for the tail of the gamma energy spectra
+        (NA49 problem).</LI>
+    <LI><TT>G4MuBremsstrahlungModel</TT> and <TT>G4MuPairProductionModel</TT>:
+        added <TT>ignoreCut</TT> flag, if <TT>true</TT> both models provide
+        zero <TT>dEdx</TT> and full cross sections.</LI>
+    <LI><TT>G4MuMultipleScattering</TT>, <TT>G4MuMscModel</TT>: new classes
+        for simulation of multiple scattering for muons (beta-version).</LI>
+    </UL></LI>
+<LI><B>Polarisation</B>
+    <UL>
+    <LI><TT>G4eplusPolarizedAnnihilation</TT>: added <TT>enabledAtRest</TT>
+        flag.</LI>
+    <LI>Implemented more general cross section framework; removed dependencies
+        to models. Now cross sections can be used independent of any model,
+        e.g. in a cross section calculator class.</LI>
+    <LI>Added polarized photo-electric effect.</LI>
+    <LI>Bug fix in <TT>G4PolarizedAnnihilationCrossSection</TT> correcting
+        error in calculation of polarisation dependent total cross section
+        (wrong interaction-length for positrons in applications where particle
+        and media are polarised).</LI>
+    </UL></LI>
+<LI><B>Standard</B>
+    <UL>
+    <LI><TT>G4UrbanMscModel</TT>:
+        <UL>
+        <LI>Use <TT>SampleScattering()</TT> method instead of
+            <TT>SampleSecondaries()</TT>.</LI>
+        <LI>For <TT>skin > 0</TT> (computed distance to the geometry boundary):
+            <UL>
+            <LI>use range instead of <TT>TrueStepLimit</TT> for the computation
+                of the distance to a boundary to provide more stable step
+                limitation by <TT>GeomFactor</TT>;</LI>
+            <LI>default values <TT>stepmin = 1 nm</TT>,
+                <TT>tlimitmin = 10*stepmin</TT>;</LI>
+            <LI>default value <TT>10^-16</TT> is used to avoid lost of
+                precision and occasional <TT>NaN</TT> values.</LI>
+            </UL></LI>
+        <LI>New, simpler model functions for mean scattering angle
+            <TT>theta0</TT>. Now the form of <TT>theta0</TT> is the same as
+            in the Highland formula, but the parameter values are different
+            for <TT>e+/e-</TT> and the other (heavy) particles.</LI>
+        <LI>Fixed old bug in sign of <TT>theta0</TT> for negatively charged
+            particles.</LI>
+        <LI>Fixed old bug in <TT>SampleCosineTheta()</TT>: now the value of
+            <TT>prob</TT> is always between <TT>[0,1]</TT>.</LI>
+        <LI>Compare new value of safety with zero after sampling of 
+            lateral displacement to identify if track is on boundary.</LI>
+        <LI>Changed initialisation for ions: protecting parameters from
+            modification.</LI>
+        <LI>Tuned <TT>ComputeGeomPathLength()</TT> in order to get better low
+            energy behaviour for heavy particles (<TT>mu</TT>, hadrons).</LI>
+        </UL></LI>
+    <LI><TT>G4UrbanMscModel90</TT>: new class which keeps the version of
+        sampling of scattering angle as the one of version 9.0 but includes
+        also protections and fixes of <TT>G4UrbanMscModel</TT>.
+        Used by <TT>G4hMultipleScattering</TT>.</LI>
+    <LI><TT>G4CoulombScattering</TT>, <TT>G4CoulombScatteringModel</TT>,
+        <TT>G4eCoulombScatteringModel</TT>:
+        <UL>
+        <LI>Updated <TT>InitialiseProcess()</TT> and <TT>PrintInfo()</TT>
+            methods to ensure that the parameters of models change between
+            runs.</LI>
+        <LI>Added nuclear size effect; added separate simulation of scattering
+            on atomic electrons taking into account cuts; fixed cross section
+            for compounds.</LI>
+        <LI>Reorganised initialisation of kinematics and screening
+            parameters.</LI>
+        <LI>Using precomputed <TT>Z^1/3</TT> and <TT>log(A)</TT> values to
+            speed up code.</LI>
+        <LI>Fixed crash happening at initialisation when several elements
+            with the same <TT>Z</TT> are defined.</LI>
+        </UL></LI>
+    <LI><TT>G4BraggModel</TT>, <TT>G4BraggIonModel</TT>:
+        <UL>
+        <LI>More safe computation of scattering angle.</LI>
+        </UL></LI>
+    <LI><TT>G4ionIonisation</TT>:
+        <UL>
+        <LI>Removed obsolete method <TT>DefineMassCharge()</TT></LI>
+        <LI>Added protected methods <TT>BetheBlochEnergyThreshold()</TT> and
+            <TT>NuclearStoppingFlag()</TT>.</LI>
+        </UL></LI>
+    <LI><TT>G4ionGasIonisation</TT>:
+        <UL>
+        <LI>New ion ionisation process with discrete ion charge and no
+            equilibrium between ion and media.</LI>
+        </UL></LI>
+    <LI><TT>G4IonFluctuations</TT>:
+        <UL>
+        <LI>Added dependence on cut in the formula of width to
+            reduce cut dependence of the Bragg peak width for ions;
+            use Fermi energy from <TT>G4Material</TT>.</LI>
+        </UL></LI>
+    <LI><TT>G4PAIphotonModel</TT>, G4PAIModel</TT>:
+        <UL>
+        <LI>Fixed <TT>MaxSecondaryEnergy()</TT> method for <TT>e-</TT> and
+            <TT>e+</TT> and use it for definition of max energy transfer;
+            protected printouts by verbosity flag.</LI>
+        <LI>General cleanup and fixed memory leak in <TT>G4PAIModel</TT>.</LI>
+        </UL></LI>
+    <LI><TT>G4eplusAnnihilation</TT>: added flag <TT>enabledAtRest</TT>.</LI>
+    <LI><TT>G4PAIySection</TT>: new class which substitutes
+        <TT>G4PAIxSection</TT>, fixing memory leak problems.</LI>
+    <LI><TT>G4ionIonisation</TT>, <TT>G4ionGasIonisation</TT>,
+        <TT>G4CoulombScatteringModel</TT>: fill NIEL energy deposit.</LI>
+    </UL></LI>
+<LI><B>Utils</B>
+    <UL>
+    <LI><TT>G4VEnergyLossProcess</TT>:
+        <UL>
+        <LI>Use prestep time for subcutoff secondaries and avoid precise
+            computation ot the time using <TT>GetVelocity()</TT> method.</LI>
+        <LI>Improved energy loss computation for the case of big step,
+            allowing for slight improvement in CPU performance.</LI>
+        <LI>Use STL vector of <TT>G4VEmModel*</TT> instead of C-array.</LI>
+        </UL></LI>
+    <LI><TT>G4VEmProcess</TT>:
+        <UL>
+        <LI>Added cut as a parameter of <TT>ComputeCrossSectionPerAtom()</TT>
+            method allowing models to use the cut (used by single scattering
+            model and potentially by others); added vector of cuts to the list
+            of members of the class.</LI>
+        <LI>Integral option now coupled with <TT>buildLambdaTable</TT> option:
+            integral cannot be activated if <TT>buildLambdaTable</TT> is not
+            activated.</LI>
+        </UL></LI>
+    <LI><TT>G4VEmModel</TT>:
+        <UL>
+        <LI>Compare cross section with DBL_MIN instead of zero.</LI>
+        <LI>Added <TT>SampleScattering()</TT> method for multiple-scattering
+            models.</LI>
+        </UL></LI>
+    <LI><TT>G4VEnergyLossProcess</TT>, <TT>G4VEmProcess</TT>,
+        <TT>G4VMultipleScattering</TT>:
+        <UL>
+        <LI>Fixed memory leak at destruction; proper deletion of
+            <TT>G4PhysicsTables</TT>.</LI>
+        <LI>Moved virtual functions, like
+            <TT>PostStepGetPhysicalInteractionLength()</TT>
+            from inline to body of classes; moved simple methods from body
+            to inline.</LI>
+        <LI>Fixed handling zero cross section in
+            <TT>PostStepGetPhysicalInteractionLength()</TT> method to avoid
+            problem happening in FanoCavity example when cross section
+            inside cavity is zero.</LI>
+        </UL></LI>
+    <LI><TT>G4VEnergyLossProcess</TT>:
+        <UL>
+        <LI>Simplified logic to switch on/off fluctuations.</LI>
+        </UL></LI>
+    <LI><TT>G4VMultipleScattering</TT>:
+        <UL>
+        <LI>Use <TT>SampleScattering()</TT> method in <TT>PostStep</TT>.</LI>
+        <LI>Added vector of cuts for electrons (needed for combined multiple 
+            scattering processes).</LI>
+        </UL></LI>
+    <LI><TT>G4EmCalculator</TT>: fixed default region name.</LI>
+    <LI><TT>G4ionEffectiveCharge</TT>: use Fermi energy from <TT>G4Material</TT>
+        and not recalculate it at each step; reorganized formulas: less calls
+        to mathematical functions.</LI>
+    <LI><TT>G4EmModelmanager</TT>: added pointers to <TT>G4Gamma</TT> and
+        <TT>G4Positron</TT> at initialisation.</LI>
+    <LI><TT>G4EmProcessOptions</TT>: added missing initialisation of
+        <TT>G4LossTableManager</TT> parameters together with parameters of
+        concrete processes (fixed initialisation when an option is defined
+        before phyics list construct processes).</LI>
+    </UL></LI>
+<LI><B>Xrays</B>
+    <UL>
+    <LI><TT>G4Cerenkov</TT>: changed inheritance to <TT>G4VDiscreteProcess</TT>,
+        and changed the arguments of
+        <TT>G4Cerenkov::GetAverageNumberOfPhotons()</TT>.
+        Added warning in <TT>G4Cerenkov</TT> constructor.</LI>
+    <LI><TT>G4VXTRenergyLoss</TT>: general cleanup of old comments;
+        removed all static members; protect verbosity within flag.</LI>
+    <LI><TT>G4XTRTransparentRegRadModel</TT>, <TT>G4XTRRegularRadModel</TT>,
+        <TT>G4StrawTubeXTRadiator</TT>: cleanup; protect verbosity within flag.</LI>
+    </UL></LI>
+</UL>
+
+<A NAME="err-notes">
+<H3><I>Error Propagation</I></H3></A>
+<UL>
+<LI><TT>G4ErrorFreeTrajState</TT>: corrected bug in one of the transformation
+    matrix terms. Addresses problem report
+    <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=971">#971</a>.</LI>
+<LI><TT>G4ErrorFreeTrajParam</TT>: corrected normalization of Y and Z
+    coordinates.</LI>
+<LI><TT>G4ErrorPropagator</TT>: removed call to <TT>exit()</TT> and some cleanup.</LI>
+</UL>
+
+<A NAME="evt-notes">
+<H3><I>Event</I></H3></A>
+<UL>
+<LI>Added class member <TT>particle_momentum</TT> and method
+    <TT>SetParticleMomentum()</TT>.</LI>
+<LI>Added UI commands <TT>/gun/momentum</TT> and <TT>/gun/momentumAmp</TT>.</LI>
+<LI>Added private copy constructor and <TT>=, ==, +=</TT> operators to
+    <TT>G4ParticleGun</TT>. Addressing problem report
+    <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=984">#984</a>.</LI>
+<LI>Modified <TT>G4SPSEneDistribution</TT> to adress problem report
+    <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=988">#988</a>.</LI>
+</UL>
+
+<A NAME="gen-notes">
+<H3><I>General Processes</I></H3></A>
+<UL>
+<LI><B>Biasing</B>
+    <UL>
+    <LI>Fix in <TT>G4ProcessPlacer</TT> to put biasing process at the second
+        place for <TT>AlongStep</TT> as well as for <TT>PostStep</TT>.
+        A bug fix which would feature for charged particles.</LI>
+    <LI>Added printout for <TT>AlongStep</TT> process vector.</LI>
+    </UL></LI>
+<LI><B>Decay</B>
+    <UL>
+    <LI>Added <TT>G4PionDecayMakeSpin</TT> class: set the daughter muon spin
+        for 2-body decays of pi, K and K0_long.</LI>
+    <LI>Added method <TT>DaughterPolarization()</TT> in <TT>G4Decay</TT>
+        to set polarization vector for daughters.</LI>
+    </UL></LI>
+<LI><B>Management</B>
+    <UL>
+    <LI>Added method <TT>SetProcessOrderingToSecond()</TT> to
+        <TT>G4ProcessManager</TT>, which puts the process at the second
+        position in the <TT>DoIt</TT> list.</LI>
+    <LI>Added method <TT>CheckOrderingParameters()</TT> to
+        <TT>G4ProcessManager</TT>, in order to check whether given ordering
+        parameters are set for valid <TT>DoIt</TT>s.</LI>
+    <LI>Added methods to <TT>G4VProcess</TT> to indicate that the specified
+        <TT>DoIt</TT> is valid for the process.</LI>
+    <LI><TT>G4WrapperProcess</TT>: fixed double definition of method
+        <TT>PreparePhysicsTable()</TT> in the header and moved inline
+        implementations of virtual methods to source file.</LI>
+    </UL></LI>
+<LI><B>Optical</B>
+    <UL>
+    <LI>Added capability of calculating the reflectivity off a metal surface
+        by way of a complex index of refraction.</LI>
+    <LI>In <TT>G4OpWLS</TT>, allow for the <TT>MeanNumberOfPhotons</TT> to be
+        different from 1, in case the constant property
+        <TT>WLSMEANNUMBERPHOTONS</TT> is provided and, if so,
+        <TT>NumPhotons</TT> is sampled with Poisson.</LI>
+    </UL></LI>
+<LI><B>Parameterisation</B>
+    <UL>
+    <LI>Added <TT>Along</TT> methods to <TT>G4FastSimulationManagerProcess</TT>.</LI>
+    <LI>Minor corrections to <TT>G4FastSimulationManagerProcess</TT>: added
+        call to <TT>G4PathFinder::PrepareNewTrack()</TT>; deactivated ghost
+        navigator in <TT>EndOfTracking()</TT> method.</LI>
+    </UL></LI>
+<LI><B>Transportation</B>
+    <UL>
+ 
+    <LI><TT>G4Transportation</TT>:
+        <UL>
+        <LI>Modified behaviour of  <TT>G4Navigator</TT>
+            for small straight steps - when a track does less than the safety. 
+			Before only a simple, quick estimation of the starting point's safety was done, using the 
+			last available value of the isotropic safety (from the Navigator). 
+			Now the navigator is called to compute this safety. This  improves the value 
+			and avoids roundoff issues. It gives better stability in comparisons with 
+			CoupledTransportation. The costs are additional calls to the Navigator. 
+			A new  method  <TT>EnableShortStepOptimisation</TT> controls this. 
+			Note:  this only affects  neutral particles and charged particles when no field is present.  </LI>
+        <LI>Fixed <TT>StartTracking()</TT> to reset number of looping steps
+            and to clear propagator state ( issue with caching of safety, which is multi-valued in case of
+            overlaps, is now addressed.)</LI>
+        <LI> Change to enable a user to switch on a global field (off was already
+            possible), when a track goes between volume (or regions) of a setup. Was response 
+			to requirement of ATLAS. Done by moving the call to <tt>ConfigureForTrack()</tt> 
+		    before the check for zero field, in <tt>AlongStepGPIL()</tt>.</LI>
+        </UL></LI>
+	<LI><TT>G4CoupledTransportation</TT>:
+        <UL>
+        <LI>Fix for problem in condition for relocation. It was incorrect when only a
+            parallel geometry limited the step.</LI>
+        <LI>Changed condition for recalculation of the safety used, to improve  stability to roundoff.</LI>
+        <LI>Corrected treatment of time integration.</LI>
+        <LI>Fix to reset looping counter also when no field or charge is present.</LI>
+        <LI>Fix for case of zero proposed step: missed to set end position.</LI>
+        </UL></LI>
+    </UL></LI>
+</UL>
+
+<A NAME="geo-notes">
+<H3><I>Geometry</I></H3></A>
+<UL>
+<LI><B>Biasing</B>
+    <UL>
+    <LI>Modified Weight-Window algorithm: do not introduce extra variance in
+        the case of splitting to the survival weight when the weight is above
+        the upper weight window.</LI>
+    </UL></LI>
+<LI><B>Magnetic field</B>
+    <UL>
+    <LI>New class <TT>G4EqEMFieldWithSpin</TT> to allow tracking of spin also
+        in case of electromagnetic fields.</LI>
+    </UL></LI>
+<LI><B>Management</B>
+    <UL>
+    <LI>Fixed typo in forcing minimum number of points in method
+        <TT>G4VSolid::EstimateSurfaceArea()</TT>. Addresses problem report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=981">#981</a>.</LI>
+    </UL></LI>
+<LI><B>Navigation</B>
+    <UL>
+    <LI>Introduced new specific navigation for regular structures and
+        phantoms. New classes: <TT>G4RegularNavigation</TT>,
+        <TT>G4PhantomParameterisation</TT>.</LI>
+    <LI><TT>G4PathFinder</TT>:
+        <UL>
+        <LI>Make singleton definition canonical.
+        <LI>New method to return the safety sphere last calculated for a
+            <TT>PreStep</TT> point. If last step(s) were smaller than safety,
+            then for a linear track (no field or no charge) navigator's
+            <TT>ComputeSafety()</TT> is not called. Older <TT>PreStep</TT>
+            point is stored for this and provided.</LI>
+        <LI>Fixed return value for <TT>ComputeStep()</TT> in case of step
+            smaller than tolerance (now <TT>kInfinity</TT>).</LI>
+        <LI>Added calculation of start-point safety in
+            <TT>DoNextCurvedStep()</TT> and corrected <TT>GetCurrentSafety()</TT>
+            accordingly.</LI>
+        <LI>Added method to obtain safety of one navigator (after call to all).</LI>
+        <LI>Deleted obsolete data member <TT>fMinSafety</TT>.
+        <LI>Optimisation: if only one geometry, do not call <TT>WhichLimited()</TT>
+            in <TT>DoNextLinearStep()</TT>. <TT>DoNextLinearStep()</TT> also
+            only calls <TT>ComputeStep()</TT> for a navigator whose safety
+            greater than the step; if there's one geometry, no longer calls
+            <TT>ComputeSafety()</TT> at start.</LI>
+        <LI><TT>ComputeSafety()</TT>: save the values of isotropic safety for
+            each navigator.</LI>
+        <LI>Fix for result of <TT>ObtainSafety()</TT>, used in
+            <TT>G4CoupledTransportation</TT>.</LI>
+        <LI>Some code cleanup. Switched off additional optimisation for safety
+            in method <TT>DoNextLinearStep()</TT>.
+        <LI><TT>PrepareNewTrack()</TT> clears safety to avoid potential
+            problems in overlaps. Added calls to re-initialise
+            <TT>SafetyHelper</TT> (reset safety).</LI>
+        <LI>Fix to now set <TT>fNoGeometriesLimiting</TT> in
+            <TT>DoNextLinearStep()</TT> in the case of one navigator
+            optimisation.</LI>
+        <LI>Added new methods <TT>GetNumberGeometriesLimitingStep()</TT>
+            and <TT>GetMinimumStep()</TT> needed by
+            <TT>G4CoupledTransportation</TT> to see whether to relocate.</LI>
+        <LI>Fix for problem of another process shortening steps (between calls
+            to <TT>ComputeStep()</TT> by different processes in same step).</LI>
+        <LI>Check to verify that <TT>fNoGeometriesLimiting</TT> is set by
+            <TT>DoNext*Step</TT> methods. Revised data type of
+            <TT>fNoGeometriesLimiting</TT> to be a <TT>int</TT>, so that less
+            than 0 means <TT>unset</TT>.</LI>
+        </UL></LI>
+    <LI><TT>G4Navigator</TT>:
+        <UL>
+        <LI>Corrected calculation of <TT>fStepEndPoint</TT> in 
+            <TT>ComputeStep()</TT> for case of step not limited by geometry.</LI>
+        <LI>Replaced call to <TT>LocateGlobalPointWithinVolume()</TT> with
+            calls to sub-navigators.</LI>
+        <LI>Made <TT>fVerbose</TT> protected.</LI>
+        </UL></LI>
+    <LI><TT>G4PropagatorInField</TT>:
+        <UL>
+        <LI>Fixes for compilation of code under <TT>G4DEBUG_FIELD</TT> (problem report
+            <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=982">#982</a>).</LI>
+        <LI>Added extra check of method <TT>LocateIntersectionPoint()</TT>
+            arguments.</LI>
+        </UL></LI>
+    <LI>Protected verbosity with compiler flags in <TT>G4PathFinder</TT>
+        and <TT>G4MultiNavigator</TT>.</LI>
+    <LI>Set <TT>fRecomputeFactor</TT> in <TT>G4SafetyHelper</TT> to zero, to
+        switch off internal optimisation and allow for reproducibility of
+        steps when using different transportation classes.</LI>
+    <LI>Added method <TT>CheckPointExiting()</TT> in
+        <TT>G4AuxiliaryNavServices</TT> utility class.</LI>
+    <LI>Reuse <TT>fVerbose</TT> from <TT>G4Navigator</TT> in
+        <TT>G4MultipleNavigator</TT> and some cleanup.</LI>
+    <LI><TT>G4SafetyHelper</TT>: Improved <TT>ComputeSafety()</TT> not to
+        call <TT>G4Navigator</TT> if exactly on safety 'center'.</LI>  
+    <LI>Fix in <TT>G4ReplicaNavigation::DistanceToOut()</TT> for exact
+        classification of the linear step for Cartesian case.</LI>
+    <LI>Made <TT>IdentifyAndPlaceSolid()</TT> method inlined in
+        <TT>G4ParameterisedNavigation</TT>.</LI>
+    <LI>Cleared compilation warnings for shadowing of variables in classes
+        within the module. Minor cosmetics and cleanup.</LI>
+    </UL></LI>
+<LI><B>Solids (Boolean)</B>
+    <UL>
+    <LI>Boosted performance for response of <TT>Inside()</TT> for
+        <TT>G4SubtractionSolid</TT> and <TT>G4UnionSolid</TT> according to
+        suggestion in problem report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=979">#979</a>.</LI>
+    </UL></LI>
+<LI><B>Solids (CSG)</B>
+    <UL>
+    <LI><TT>G4Torus</TT>:
+        <UL>
+        <LI>Fixed bug in <TT>CalculateExtent()</TT> for case of non-rotated
+            full-<TT>Phi</TT> torus definition: added protection against
+            negative value for <TT>sqrt()</TT> and corrected formula for
+            <TT>delta</TT>. Fixes problem of NaN detected in initialisation
+            by CMS.</LI>
+        <LI>Fixed bug in <TT>SolveNumericJT()</TT>: corrected handling of
+            complex roots, <TT>rootsrefined</TT> is used only if the number
+            of refined roots is the same as for primary roots. Addresses
+            problem report
+            <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=969">#969</a>.</LI>
+        </UL></LI>
+    <LI>Fixed problem of undefined side for valid surface normal in case of
+        <TT>Phi</TT> section and direction through the center of either a
+        <TT>G4Tubs</TT> or <TT>G4Cons</TT> shape.</LI>
+    </UL></LI>
+<LI><B>Solids (Specific)</B>
+    <UL>
+    <LI>New specific shape <TT>G4Paraboloid</TT> with cuts along the
+        <TT>Z</TT> axis.</LI>
+    <LI>Revision of <TT>G4TessellatedSolid</TT> classes:
+        <UL>
+        <LI>Fixed problem report
+            <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=931">#931</a>
+            for proper handling of concave surfaces.
+            Modified classes <TT>G4TessellatedSolid</TT> and
+            <TT>G4TriangularFacet</TT>.</LI>
+        <LI>Modified data and accessor <TT>centroid</TT> and
+            <TT>GetCentroid()</TT> for <TT>G4VFacet</TT>;
+            replaced by <TT>circumcentre</TT> and <TT>GetCircumcentre()</TT>
+            respectively.</LI>
+        <LI>Reviewed implementation of <TT>CalculateExtent()</TT> to
+            make it more robust and precise. Addresses problem report
+            <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=983">#983</a>.</LI>
+        <LI>Added utility class <TT>G4TessellatedGeometryAlgorithms</TT>.</LI>
+        </UL></LI>
+    <LI>Removed debug printout in <TT>G4Polycone::GetPointOnCone()</TT>.</LI>
+    <LI>Added formulas for calculating <TT>SemiAxis</TT> and <TT>Zheight</TT>
+        in <TT>G4EllipticalCone</TT>.</LI>
+    </UL></LI>
+<LI><B>Volumes</B>
+    <UL>
+    <LI>Added explicit initialisation of first volume entry to zero, to ensure
+        correct behavior for <TT>out-of-world</TT> touchable handle.</LI>
+    <LI>Minor cleanup in <TT>G4LogicalBorderSurface</TT> and
+        <TT>G4LogicalSkinSurface</TT> classes.</LI>
+    <LI>Added inline specification to methods in <TT>G4AssemblyTriplet</TT>
+        class.</LI>
+    </UL></LI>
+</UL>
+
+<A NAME="glob-notes">
+<H3><I>Global</I></H3></A>
+<UL>
+<LI>Cleared compilation warnings for non-inlining and shadowing of variables.
+    Removed unnecessary <TT>virtual</TT> specifier to <TT>G4String</TT>
+    destructor.</LI>
+<LI>Changed date for release 9.1.</LI>
+</UL>
+
+<A NAME="greps-notes">
+<H3><I>Graphical Representations</I></H3></A>
+<UL>
+<LI>Added <TT>G4Paraboloid</TT> to <TT>HepPolyhedron</TT> and
+    <TT>G4Polyhedron</TT>.</LI>
+</UL>
+
+<A NAME="had-notes">
+<H3><I>Hadronic Processes</I></H3></A>
+<UL>
+<LI><B>Cross sections</B>
+    <UL>
+    <LI>Added <TT>log(0)</TT> protection in
+        <TT>G4NeutronInelasticCrossSection</TT> and
+        <TT>G4ProtonInelasticCrossSection</TT>.</LI>
+    </UL></LI>
+<LI><B>Management</B>
+    <UL>
+    <LI><TT>G4HadronicProcess::FillTotalResult()</TT>: fix addressing problem report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=967">#967</a>, replaced call to <TT>aT.GetGlobalTime()</TT> with the
+        internal variable <TT>time</TT>.</LI>
+    </UL></LI>
+<LI><B>Binary Cascade</B>
+    <UL>
+    <LI>Developments for propagate interface.</LI>
+    <LI>Correcting bug for pion incident at low energy causing crash in Precompound</LI>
+    <LI><TT>G4BinaryLightIon</TT>: adapted to changes in Binary Cascade.</LI>
+    </UL></LI>
+<LI><B>Cascade</B>
+    <UL>
+    <LI>Fixed angular distribution for nucleon-nucleon elastic scattering
+        above <TT>2.8 GeV</TT>.</LI>
+    </UL></LI>
+<LI><B>Chiral Invariant Phase Space (CHIPS)</B>
+    <UL>
+    <LI>Bug fix in quasi-elastic, which may influence the shower shape, it
+        should be now a bit shorter and wider when using QGSC/QGSP physics
+        lists.</LI>
+    <LI>Introducing Single Target Diffraction.</LI>
+    <LI>R&D level implementation of ion-ion elastic and low-energy inelastic.</LI>
+    <LI>Added <TT>(e,nu)</TT> reaction to <TT>G4QCollision</TT> and weight
+        support in all CHIPS processes.</LI>
+    <LI>Corrected neutral currents normalization for neutrino-nuclear
+        interactions.</LI>
+    <LI>Chain of bug-fixes in <TT>G4Quasmon, G4QEnvironment, G4QNucl*</TT>
+        classes.</LI>
+    <LI>More accurate decay transition from <TT>G4QEnvironment</TT> to
+        <TT>G4QNucleus</TT>.</LI>
+    <LI>Improvement in <TT>G4QNucleus</TT> class to boost CPU speed.</LI>
+    </UL></LI>
+<LI><B>De-excitation</B>
+    <UL>
+    <LI>Removed atomic mass number from "gamma factor" for
+        <TT>G4DeuteronEvaporationProbability</TT>,
+        <TT>G4TritonEvaporationProbability</TT>,
+        <TT>G4He3EvaporationProbability</TT> and
+        <TT>G4AlphaEvaporationProbability</TT>.</LI>
+    <LI>Introduced missing <TT>Rj (Q_beta)</TT> factor in the evaporation
+        module. Protected against occasionally divide by zero.</LI>
+    <LI>Corrected the Coulomb-barrier to the formalism of Dostrovski as
+        described in the Physics Reference manual.</LI>
+    <LI>Fix in photon evaporation to address problem report
+        <a href="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=952">#952</a>.</LI>
+    <LI>Suppressed gamma-level file warnings in <TT>G4NuclearLevelManager</TT>.</LI>
+    </UL></LI>
+<LI><B>Elastic scattering</B>
+    <UL>
+    <LI><TT>G4DiffuseElastic</TT>: added Coulomb elastic scattering amplitude
+        using Wentzel model. Do initialisation of the model for each new
+        target nucleus on-fly; the model is initialised in constructor with
+        particle definition for the vector of available elements. Tuning at
+        high energies. Added control on verbosity at initialisation.</LI>
+    <LI>Updated <TT>G4ElasticHadrNucleusHE</TT>: included difference in
+        scattering off protons and neutrons; optimised computation of the
+        distribution function (important for heavy targets); fixed model for
+        scattering off hydrogen; tuned model parameters for better description
+        of total and elastic cross sections.</LI>
+    <LI><TT>G4LEnp</TT>: removed erroneous code for identity exchange of
+        particles.</LI>
+    <LI><TT>G4UHadronElasticProcess</TT>: introduced verbosity checks within
+        <TT>VERBOSE</TT> flag inside methods called at each step.</LI>
+    </UL></LI>
+<LI><B>High Energy</B>
+    <UL>
+    <LI><TT>G4HEInelastic::TuningOfHighEnergyCascading()</TT>: fixed incorrect
+        assignment of leading particle to low energy backward nucleons and
+        fragments. This bug caused high energy backward particles to be
+        emitted from high energy collisions.</LI>
+    <LI><TT>G4HEPionMinusInelastic</TT>: fixed incorrect <TT>Imax</TT> in
+        sampling of charge exchange.</LI>
+    </UL></LI>
+<LI><B>High precision Neutron</B>
+    <UL>
+    <LI>Allow for _nat_ final state even for isotoped cross sections.</LI>
+    <LI>Enabled element based cross-section dump.</LI>
+    <LI>Fixed bug in <TT>G4NeutronHPChannel</TT> for treatment of <TT>Z</TT>
+        in elements.</LI>
+    </UL></LI>
+<LI><B>Im_r_matrix</B>
+    <UL>
+    <LI>Incorporated changes for <TT>G4CollisionComposite</TT>.</LI>
+    <LI>In <TT>G4ParticleTypeConverter</TT>, removed warning on unknown
+        particle; occurs for <TT>eta_prime, k_star+, anti_...</TT> etc. in
+        BIC propagate interface.</LI>
+    </UL></LI>
+<LI><B>INCL/ABLA</B>
+    <UL>
+    <LI>First version of the Liege cascade INCL Model, including ABLA
+        evaporation and fission.
+        Requires new external data set (G4ABLA3.0) including files for
+        nuclear shell effects, with new environment variable G4ABLADATA
+        to be set to point to the directory where the data are stored.</LI>
+    </UL></LI>
+<LI><B>Pre-equilibrium</B>
+    <UL>
+    <LI>New developments to reflect the literature and units expected for the
+        exciton model: introducing an <TT>Rj</TT> factor into the probability
+        calculation; correcting the units for the Pauli Blocking Factor
+        (missing a g factor); decreasing the number of charged particles if
+        the number excitons is decreased (previously this number was only
+        increased with increasing excitons).</LI>
+    <LI>New development with respect to light ion production.</LI>
+    <LI>Correction for integer arithmetic bug in <TT>G4PreCompoundModel</TT>
+        and concerning the ratio of charged to neutral excitons.</LI>
+    </UL></LI>
+<LI><B>QMD Reaction</B>
+    <UL>
+    <LI>First implementation of QMD reaction model based on JQMD
+        (Niita et al., JAERI-Data/Code 99-042).</LI>
+    </UL></LI>
+<LI><B>Re-Parameterized Gheisha</B>
+    <UL>
+    <LI>First version of a 'Re-Parameterized Gheisha-style' model. This 
+        version is essentially a re-factored copy of the low energy
+        parameterized model which also contains several bug fixes and
+        physics improvements.</LI>
+    </UL></LI>
+<LI><B>Theoretical High Energy</B>
+    <UL>
+    <li>Added channel for projectile diffractive scattering.</LI>
+    </UL></LI>
+<LI><B>Stopping</B>
+    <UL>
+    <LI><TT>G4StopElementSelector</TT>: fixed typo in Primakoff formula for
+        capture velocity.</LI>
+    <LI><TT>G4MuonMinusCaptureAtRest</TT>: fixed old memory leak.</LI>
+    <LI>Removed old-style copyright from all headers and fixed Software
+        Reference Manual tags.</LI>
+    </UL></LI>
+<LI><B>Utils</B>
+    <UL>
+    <LI>Removed initialization by random number of angular momentum vector 
+        from <TT>G4Fragment</TT> constructors which could cause change of
+        random sequence after physics initialisation.</LI>
+    <LI>Use production version of G4Fancy3DNucleus.</LI>
+    <LI><TT>G4LightMedia</TT>: fixed coding errors in inequalities for
+        charge exchange occurrence in <TT>PionPlusExchange</TT>,
+        <TT>KaonZeroShortExchange</TT>, and <TT>NeutronExchange</TT>.</LI>
+    </UL></LI>
+</UL>
+
+<A NAME="interf-notes">
+<H3><I>Interfaces</I></H3></A>
+<UL>
+<LI><TT>G4UItcsh</TT>: added ability to store shell history across sessions.</LI>
+<LI>Updated the implementation of the signal handler for <TT>Ctrl-C</TT>.</LI>
+<LI>New classes <TT>G4UIQt</TT> and <TT>G4Qt</TT> for handling of Qt interface
+    (Beta version with support restricted to Qt-4).</LI>
+<LI>Removed improper dependency from <TT>basic</TT> sub-module to <TT>run</TT>.</LI>
+</UL>
+
+<A NAME="materials-notes">
+<H3><I>Materials</I></H3></A>
+<UL>
+<LI><TT>G4NistManager</TT>: extended interfaces to build new materials; added
+    <TT>G4State</TT>, temperature, pressure (gases are allowed) with default
+    values. Simplified logic of Print() methods. Providing destruction of all
+    materials and elements.</LI>
+<LI><TT>G4NistElementBuilder</TT>: for given Z, build only one Nist element
+    and allow user to create other elements with given Z (HP physics
+    requirement).</LI>
+<LI><TT>G4NistMaterialBuilder</TT>: modified <TT>FindOrBuildMaterial()</TT>
+    method: NIST materials are now built even if user creates a material with
+    the same name, therefore NIST materials parameters -cannot- be
+    substituted.</LI>
+<LI><TT>G4Material, G4Element</TT>: extended destructors, now all materials
+    and elements are deleted at the end of a run.</LI>
+<LI><TT>G4SandiaTable</TT>: separated computations of tables photo-absobtion
+    coefficients for photo-electric effect and PAI model;
+    general cleanup and reduced number of static variables.
+    Fixed memory leak at destruction.</LI>
+<LI><TT>G4IonisParamMat</TT>: added commutation and accessor methods for
+    parameters of ion ionisation: Fermi energy, effective Z, effective
+    L-factor; values will not be recomputed at each step.</LI>
+</UL>
+
+<A NAME="part-notes">
+<H3><I>Particles</I></H3></A>
+<UL>
+<LI>Added <TT>G4HyperNucleiProperties</TT> class so that hyper-nuclei can be
+    created for <TT>G4Ions</TT>. <TT>G4ParticleTable</TT> can return a pointer
+    to hyper-nucleus by using <TT>GetIon()</TT> and <TT>FindIon()</TT> methods.</LI>
+<LI>Modified <TT>G4PDGCodeChecker</TT> to support PDG code for hyper-nuclei.</LI>
+<LI>Changed <TT>G4ParticleTable::GetIonTable()</TT> to give 'non-const' pointer
+    in order to allow users to use <TT>G4IonTable::GetIon()</TT> methods
+    directly.</LI>
+<LI>Added check for atomic number (less than 1000) in <TT>G4IonTable</TT>.</LI>
+<LI>Added new classes <TT>G4PionRadiativeDecayChannel</TT> and
+    <TT>G4MuonRadiativeDecayChannelWithSpin</TT>.</LI>
+</UL>
+
+<A NAME="pers-notes">
+<H3><I>Persistency</I></H3></A>
+<UL>
+<LI>Introduced new <TT>gdml</TT> plugin sub-module, based on new GDML
+    release 3.
+    Added <TT>G4LIB_BUILD_GDML/G4LIB_USE_GDML</TT> flags and
+    <TT>XERCESCROOT</TT> path. The new GDML plugin does not yet support
+    parameterised volumes and material optical properties.</LI>
+<LI>Moved existing classes to <TT>mctruth</TT> sub-module;
+    renamed libraries.</LI>
+</UL>
+
+<A NAME="lst-notes">
+<H3><I>Physics lists</I></H3></A>
+<UL>
+<LI>New physics lists QGSP_DIF and QGSP_BERT_DIF; as QGSP or QGSP_BERT with projectile diffraction
+    for proton and neutron enabled.</LI>
+<LI>New physics list QGSC_BERT; use QGSC down in energy to overlap with BERT. LEP is not
+    used for proton, neutron, pions, kaons, except for neutron capture and
+    neutron induced fission.</LI>
+<LI>New physics list FTFP_BERT: FTFP with Bertini cascade.The energy ranges of FTFP and BERT 
+    overlap, so LEP is not used for proton, neutron, pions, kaons, except for neutron capture and
+    neutron induced fission.</LI>
+<LI>New physics list QGS_BIC, equivalent to QGSP_BIC, but using binary also for
+    pion and for rescattering via the propagate interface; the deexcitation
+    implicitely uses precompound.</LI>
+<LI>Several fixes in QBBC: fixed bug in adding of cross section for pions
+    and mesons; tuned energy thresholds between string and cascade models;
+    corrected interface to CHIPS model; reviewed options: QBBC, QBBC_DEL,
+    QBBC_HEL, QBBC_HP.</LI>
+<LI>New physics list FTF_BIC, equivalent to QGS_BIC but using FTF model for high
+    energy interactions.  For protons, neutrons and pions LEP is not used,
+    as BIC is used up to 5 GeV, thus overlapping with FTF starting at 4 GeV.</LI>
+<LI>Added possibility to activate <TT>G4SynchrotronRadiation</TT> and mu-nuclear
+    betwen runs.</LI>
+<LI>Change QGSP builders to enable use of projectile diffraction in QGSP-like lists.</LI>
+<LI>Added optional builder <TT>G4RadioactiveDecayPhysics</TT>.</LI>
+<LI>Added <TT>G4HadronDElasticPhysics</TT> builder and fixed name to
+    <TT>G4HadronHElasticPhysics</TT>.</LI>
+<LI><TT>G4EmStandardPhysics_option2</TT>: increased number of bins in tables.</LI>
+<LI><TT>G4LEPNeutronBuilder</TT>: when the limit for <TT>MaxInelastic</TT>
+    is zero, do NOT add LEP for inelastic. Change needed for FTFP_BERT list.</LI>
+</UL>
+
+<A NAME="run-notes">
+<H3><I>Run</I></H3></A>
+<UL>
+<LI>Added ability to handle <TT>G4ScoringManager</TT> in <TT>G4RunManager</TT>.</LI>
+<LI>First implementation of interactive parallel world scoring.</LI>
+<LI>Introducing new <TT>/random/setSeeds</TT> command allowing to set initial
+    seeds.</LI>
+<LI>Now <TT>/random/setDirectoryName</TT> command creates directories if needed.</LI>
+<LI>Reordered commands in <TT>G4RunMessenger</TT> so that obsolete commands
+    appear last. Obsolete UI commands now do nothing except warning messages.</LI>
+</UL>
+
+<A NAME="track-notes">
+<H3><I>Track & Tracking</I></H3></A>
+<UL>
+<LI>Added accessors for non-ionizing energy deposit in <TT>G4Step</TT>.</LI>
+<LI>Added protection in <TT>G4Track::GetVolume()</TT> to avoid cases of
+    dereferencing of null pointer.</LI>
+<LI><TT>G4SteppingManager</TT>: fix to use Cartesian tolerance in
+    <TT>Stepping()</TT> and <TT>CalculateSafety()</TT> for the computation
+    of <TT>endPointSafety</TT>.</LI>
+</UL>
+
+<A NAME="vis-notes">
+<H3><I>Visualization</I></H3></A>
+<UL>
+<LI><B>Management</B>
+    <UL>
+    <LI>Replaced references to Wired3 in command guidance.</LI>
+    <LI>Minor improvements in messaging.</LI>
+    </UL></LI>
+<LI><B>Modeling</B>
+    <UL>
+    <LI>Minor improvements in messaging.</LI>
+    </UL></LI>
+<LI><B>HepRep</B>
+    <UL>
+    <LI>Adjusted geometry hierarchy for parallel worlds.</LI>
+    </UL></LI>
+<LI><B>OpenGL</B>
+    <UL>
+    <LI>Removed redundant <TT>G4OpenGLXViewerMessenger</TT> class.</LI>
+    <LI>Minor improvements in design and messaging.</LI>
+    <LI>Added <TT>GEANT4_QT_DEBUG</TT> flag to test Qt interfaces.</LI>
+    </UL></LI>
+<LI><B>OpenInventor</B>
+    <UL>
+    <LI>Initialise local vectors in <TT>SoPolyhedron</TT> implementation; fixing
+        compilation warnings on gcc-4.2.2.</LI>
+    </UL></LI>
+</UL>
+
+<A NAME="env-notes">
+<H3><I>Environments</I></H3></A>
+<UL>
+<LI>Python interface (G4Py): added support for embedded GDML plugin.
+    Updated physics-lists bindings.</LI>
+</UL>
+
+<A NAME="data-notes">
+<H3><I>Data sets</I></H3></A>
+<UL>
+<LI>New data for neutron cross-sections, G4NDL.3.12:
+    <UL>
+    <LI>Changed Cadium data. Added Hg, Radium, Br and La data.</LI>
+    </UL></LI>
+<LI>New low-energy data set, G4EMLOW.5.1:
+    <UL>
+    <LI>Added dna/directory including Geant4-DNA data tables for interpolation.</LI>
+    </UL></LI>
+<LI>New data set for nuclear shell effects, G4ABLA3.0.</LI>
+</UL>
+
+<A NAME="ex-notes">
+<H3><I>Examples</I></H3></A>
+<UL>
+<LI>Updated reference outputs.</LI>
+<LI><B>advanced</B>
+    <UL>
+    <LI>air_shower
+        <UL>
+        <LI>Adjust to the <TT>G4Cerenkov</TT> process now become a
+            <TT>G4VDiscreteProcess</TT>.</LI>
+        </UL></LI>
+    <LI>hadrontherapy
+        <UL>
+        <LI>Updated physics commands in macro files. Updated README.</LI>
+        </UL></LI>
+    <LI>underground_physics
+        <UL>
+        <LI>Corrected micrometer unit in macros from mum to um (old bug
+            since 8.2).</LI>
+        </UL></LI>
+    <LI>Rich
+        <UL>
+        <LI>Adjust to the <TT>G4Cerenkov</TT> process now become a
+            <TT>G4VDiscreteProcess</TT>.</LI>
+        </UL></LI>
+    </UL></LI>
+<LI><B>extended</B>
+    <UL>
+    <LI>electromagnetic/TestEm1
+        <UL>
+        <LI>Added material <TT>CO2</TT> at <TT>10^-6 atm</TT>.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm2
+        <UL>
+        <LI>PhysicsLists: added options from <TT>physics_lists</TT> library.</LI>
+        <LI><TT>TestEm2.in</TT> update to provide the same reference output
+            as before.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm3
+        <UL>
+        <LI>Updated <TT>TestEm3.in</TT> macro.</LI>
+        <LI>Added <TT>PhysListEmStandardIG</TT> experimental PhysList.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm5</LI>
+        <UL>
+        <LI>New histogram numbering (see README). Changed all macros
+            accordingly, also in Geant3 version.</LI>
+        <LI>Reordered processes in <TT>PhysListEmStandardSS</TT>.
+        <LI>Added histos 17->20: energy fluence.</LI>
+        <LI>Fixed usage of elastic builders.</LI>
+        <LI><TT>RunAction</TT>: compute and print energy leakage and energy balance.
+        <LI><TT>PhysListEmStandard</TT>: PhysicsTables set with 100 bins per decade (EmOptions).
+        <LI>Added <TT>PhysListEmStandardIG</TT> experimental PhysList.</LI>
+        <LI><TT>TrackingAction</TT>: new histos (4,5) to plot vertex position
+            of secondaries.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm7
+        <UL>
+        <LI><TT>PhysListStandardSS</TT>: reviewed process ordering.</LI>
+        <LI>Added <TT>PhysListStandardIG</TT>, ion <TT>G4ionIonisation</TT>
+            process is substituted by <TT>G4ionGasIonisation</TT> and for
+            Coulomb scattering the model taking into account the recoil is
+            used.</LI>
+        <LI>Added class <TT>G4ScreenNuclearRecoil</TT> and ancillary utilities
+            for ion-ion scattering provided by Vanderbuilt University.</LI>
+        <LI><TT>PhysListStandardSS</TT>: use <TT>G4ionGasIonisation</TT>.</LI>
+        <LI><TT>PhysListStandardIG</TT>: use <TT>G4ScreenNuclearRecoil</TT>.</LI>
+        <LI>Fixed usage of elastic builders.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm8
+        <UL>
+        <LI>Use components of physics lists from <TT>physics_list</TT> module.</LI>
+        <LI>Fixed memory leak in the UI interface.</LI>
+        <LI>Removed used lines from PAI physics constructors, added <TT>pai_brem</TT>
+            constructor <TT>PhysListEmPAI</TT> in which <TT>AlongStep</TT> from
+            Bremsstrahlung is allowed.</LI>
+        <LI>Fixed logic in <TT>SteppingAction</TT>.
+        </UL></LI>
+    <LI>electromagnetic/TestEm9
+        <UL>
+        <LI>Added <TT>PhysListEmStandardIG</TT> experimental physics list.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm11
+        <UL>
+        <LI>Added histo 8: energy profile as function of x/range.</LI>
+        <LI>Added input macro <TT>sandia.mac</TT>.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm12
+        <UL>
+        <LI><TT>HistoManager</TT>: modified way to get <TT>csdaRange</TT> from
+            <TT>G4EmCalculator</TT> and compute <TT>stepMax</TT> for histo 8.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm14</LI>
+    <LI>electromagnetic/TestEm15
+        <UL>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>electromagnetic/TestEm18
+        <UL>
+        <LI><TT>PhysicsList</TT>: added more <TT>EmOptions</TT>.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        </UL></LI>
+    <LI>exoticphysics/monopole
+        <UL>
+        <LI>New example demostrating simulation of a classical magnetic
+            monopole and computation of the energy deposited.</LI>
+        </UL></LI>
+    <LI>field/field04
+        <UL>
+        <LI>New example showing how to define/use overlapping field elements.
+            Fields might be either magnetic, electric or both
+            (contributed by T.Roberts and Muons Inc., G4BEAMLINE).</LI>
+        </UL></LI>
+    <LI>gdml
+        <UL>
+        <LI>Updated to co-work with built-in GDML plugin module GDML-3.</LI>
+        <LI>Showing loading of modular GDML files.</LI>
+        </UL></LI>
+    <LI>hadronic/Hadr01
+        <UL>
+        <LI>Physics list updated according to recent changes in hadronics and
+            <TT>physics_lists</TT> package. Added QGSC_BERT physics list.</LI>
+        </UL></LI>
+    <LI>medical/DICOM
+        <UL>
+        <LI>Deep review: on the input files and the way how the geometry is
+            built. Now using new specialised fast navigation and parameterisation
+            according to <TT>G4PhantomParameterisation</TT>.</LI>
+        <LI>Added color by voxel and possibility to also use
+            nested-parameterisations.</LI>
+        </UL></LI>
+    <LI>medical/fanoCavity
+        <UL>
+        <LI><TT>DetectorConstruction</TT>: <TT>wallRadius</TT> automatically
+            recomputed; added materials graphite and aluminium.</LI>
+        <LI><TT>PhysicsList</TT>: implemented <TT>G4CoulombScattering</TT>
+            process as option; use 100 bins per decade (<TT>emOptions</TT>)
+            in physics tables.</LI>
+        <LI><TT>MyKleinNishina</TT>: do not cancel Compton cross-section in
+            cavity.</LI>
+        <LI><TT>EventAction</TT>: added histogram of energy deposit in cavity
+            per incident gamma.</LI>
+        <LI><TT>RunAction</TT>: compute error on energy deposit and mean
+            kinetic energy.</LI>
+        <LI><TT>HistoManager/HistoMessenger</TT>: printing selected histos
+            on ascii file.</LI>
+        <LI>Syntax correction in <TT>DetectorMessenger</TT>.</LI>
+        </UL></LI>
+    <LI>medical/fanoCavity2
+        <UL>
+        <LI>New example demonstrating computation of the dose deposited in an
+            ionization chamber by an extended (one dimensional) monoenergetic
+            electron source, making use of a reciprocity theorem.</LI>
+        </UL></LI>
+    <LI>parallel/MPI
+        <UL>
+        <LI>New module including a Geant4 MPI UI library and a couple of
+            examples showing how applications can be parallelized with
+            different MPI compliant libraries, such as LAM/MPI, MPICH2,
+            OpenMPI, etc.</LI>
+        </UL></LI>
+    <LI>persistency/P02
+        <UL>
+        <LI>New example showing how to store in a binary file and read back
+            the geometry tree using the 'reflection' technique for
+            persistency.</LI>
+        </UL></LI>
+    <LI>polarisation/Pol01
+        <UL>
+        <LI>Use new polarized photo electric effect, important for polarisation
+            transfer from photon to electron in certain regions of the
+            phasespace (see also E166 experiment).</LI>
+        </UL></LI>
+    <LI>optical/LXe
+        <UL>
+        <LI>Adjust to the <TT>G4Cerenkov</TT> process now become a
+            <TT>G4VDiscreteProcess</TT>.</LI>
+        </UL></LI>
+    <LI>radioactivedecay/exrdm
+        <UL>
+        <LI>Use decay and radiactive decay builders from <TT>physics_lists</TT>
+            module.</LI>
+        <LI>Added elastic, stopping, ion and <TT>extraEm</TT> physics.</LI>
+        <LI>Minor fix to low-energy EM physics builder.</LI>
+        </UL></LI>
+    <LI>runAndEvent/RE03
+        <UL>
+        <LI>New example demonstrating how to use UI-command based scoring.
+            It creates a parallel world for defining scoring mesh(es).</LI>
+        </UL></LI>
+    </UL></LI>
+<LI><B>novice</B>
+    <UL>
+    <LI>N02
+        <UL>
+        <LI>Explicitely delete allocated parameterisation and step-limit
+            objects in <TT>ExN02DetectorConstruction</TT> class.</LI>
+        </UL></LI>
+    <LI>N03
+        <UL>
+        <LI>Added option to activate Qt rendering.</LI>
+        </UL></LI>
+    <LI>N05
+        <UL>
+        <LI>Modified physics list to take into account usage of <TT>Along</TT>
+            method in <TT>G4FastSimulationManagerProcess</TT>.</LI>
+        </UL></LI>
+    <LI>N06
+        <UL>
+        <LI>Adjust to the <TT>G4Cerenkov</TT> process now become a
+            <TT>G4VDiscreteProcess</TT>.</LI>
+        </UL></LI>
+    </UL></LI>
+</UL>
+
+<HR>
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/support/UserRequirementsTracker.shtml
===================================================================
--- trunk/Documentation/geant4/support/UserRequirementsTracker.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/UserRequirementsTracker.shtml	(revision 901)
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+    
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Software Process Improvement</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+ 
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                    <a href="index.shtml">Collaboration</a> &gt;
+                    User Requirements Tracker
+    <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+ 
+    <!--start main page content -->
+    <h2>User Requirements Tracker</h2>
+ 
+
+<i>
+<A target="_top" HREF="http://cern.ch/geant4">Geant4</A> system to 
+browse and track the status of known user requirements, and
+submit new ones
+</i>
+
+
+<p>
+
+<b>Query :</b> search 
+<a href="http://geant4.cern.ch/cgi-bin/urd/query.cgi">
+known requirements</a>.
+<br><br>
+
+<b>Input :</b> submit a 
+<a href="http://geant4.cern.ch/cgi-bin/urd/enter_bug.cgi?product=Geant4">
+new requirement</a>.
+<br>
+
+<FORM METHOD=GET ACTION="http://geant4.cern.ch/cgi-bin/urd/show_bug.cgi">
+<INPUT TYPE=SUBMIT VALUE="Find"> user requirements # 
+<INPUT NAME=id SIZE=6></FORM></TD>
+
+<!-- end of normal page content -->
+
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   01/26/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/datafiles_origin.shtml
===================================================================
--- trunk/Documentation/geant4/support/datafiles_origin.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/datafiles_origin.shtml	(revision 901)
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
+<TITLE>Geant4: data files citations</TITLE>
+<LINK REL="shortcut icon" HREF="../images/g4.gif">
+<LINK REL="stylesheet" TYPE="text/css" HREF="../includes/geantstyle.css" />
+</HEAD>
+
+<BODY>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <a href="index.shtml">User Support</a> &gt;
+                Data Files Citations<!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+    <H1>Credit/citations for data files distributed with Geant4</H1>
+<BR>
+<I><small>
+   We acknowledge the use of external data libraries in compiling the
+   Geant4 data libraries.<BR>
+   Information on these sources is currently provided also in our
+   publications, including NIM <B>A 506</B> (2003), 250.
+</small></I>
+
+<H3>Radioactive Decay</H3>
+<P>
+The radioactive decay data comes from the <I>Evaluated Nuclear Structure
+Data File (ENSDF)</I> which is maintained by the
+<A HREF="http://www.nndc.bnl.gov/nndc/nudat/">National Nuclear Data Center</A>,
+Brookhaven National Laboratory.
+</P>
+
+<H3>G4NDL (with and without thermal neutrons)</H3>
+<P>
+G4NDL data comes largely from the <I>ENDF/B-VI</I> library which is developed
+and maintained by the 
+<A HREF="http://www.nndc.bnl.gov/csewg/">Cross Section Evaluation Working Group
+(CSEWG)</A>. The original data files may be accessed at the
+<A HREF="http://www.nndc.bnl.gov/">National Nuclear Data Center</A> web site.
+</P>
+
+<H3>G4ABLA (nuclear shell effects)</H3>
+<P>
+The data are based on ABLA V3 data files:
+<UL>
+<LI><TT>flalpha.dat</TT> - alpha ground state deformation</LI>
+<LI><TT>frldm.dat</TT> - ground state shell corr. frldm for a spherical g.s.</LI>
+<LI><TT>vgsld.dat</TT> - difference between deformed g.s. and ldm value</LI>
+<LI><TT>pace2.dat</TT> - default mass for A, Z nucleus</LI>
+</UL>
+The data are meant to be used for the INCL/ABLA hadronic models
+(located in Geant4 in <TT>processes/hadronic/models/incl</TT>).
+</P>
+
+<H3>Photon Evaporation</H3>
+<P>
+Photon evaporation data comes from the <I>Evaluated Nuclear Structure Data
+File (ENSDF)</I> which is maintained by the
+<A HREF="http://www.nndc.bnl.gov/nndc/nudat/">National Nuclear Data Center</A>, 
+Brookhaven National Laboratory.
+</P>
+
+<H3>G4EMLOW (Low energy electromagnetic)</H3>
+<P>
+All the data (except for the <I>photoelectric_angular</I> module)
+are derived from the <A HREF="http://www.llnl.gov/cullen1/">Livermore data
+libraries</A>:
+<UL>
+<LI>EPDL97 - Evaluated Photon Data Library</LI>
+<LI>EEDL - Evaluated Electron Data Library</LI>
+<LI>EADL - Evaluated Atom Data Library</LI>
+</UL>
+The data have been reformatted for usage in Geant4 and some files
+contain values resulting from fitting of the original data.
+</P>
+
+<!--end main page content --></td>
+</tr>
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   12/14/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/support/download.js
===================================================================
--- trunk/Documentation/geant4/support/download.js	(revision 901)
+++ trunk/Documentation/geant4/support/download.js	(revision 901)
@@ -0,0 +1,5 @@
+function download(Title,Tar){
+document.write(
+"<input type='button'  value='"+Title+"' onclick=\"window.location.href='http://geant4.cern.ch/support/source/"+Tar+"'\"/>"
+);
+}
Index: trunk/Documentation/geant4/support/download.shtml
===================================================================
--- trunk/Documentation/geant4/support/download.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/download.shtml	(revision 901)
@@ -0,0 +1,391 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Source Download Page</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<script type="text/javascript" src="download.js"></script>
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                <a href="index.shtml">User Support</a> &gt; 
+                             Download<!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="download_beta.shtml"><b>Beta version</b> of next
+          release</a>. </li>
+      <li><a href="source_archive.shtml"><b>Previous Releases</b> of Geant4</a>
+          (since release 6.0).</li>
+      <li><a href="http://www-geant4.kek.jp/LXR">LXR source code browser</a>.</li>
+      <li><a href="http://pcitapiww.cern.ch/asd/geant/rd44.html">Full history of Geant4 releases</a>
+           (RD44 pages).</li>
+      <li><a href="http://geant4.slac.stanford.edu/installation/">Installation Guide tutorials</a>
+          for Linux and Windows.</li>
+      <li><b><a href="windows_note.shtml">Windows CygWin installation note</a></b>.</li>
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+    <h2>Geant4 Software Download</h2>
+
+<h3>Geant4 9.1<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 19 September 2008 (patch-03)</small></small></h3>
+  <p>
+  The Geant4 source code is freely available.
+  See the <a href="http://cern.ch/geant4/license/">licence conditions</a>.
+  </p>
+  <p> 
+  Please read the <a href="ReleaseNotes4.9.1.html"><b>Release Notes</b></a> before
+  downloading or using this release.<br>
+  The patches below contains bug fixes to release 9.1, we suggest you to
+  download and apply the latest patch for release 9.1
+  (see the additional notes for <a href="Patch4.9.1-1.txt">patch-01</a>,
+   <a href="Patch4.9.1-2.txt">patch-02</a> and
+   <a href="Patch4.9.1-3.txt">patch-03</a>), or download the
+  complete source with the patches applied; in any case, it is required to apply
+  a full rebuild of the libraries.
+  </p>
+
+<h3>Source files <small><small>(including patch-03)</small></small></h3>
+  <p>
+  Please choose the archive best suited to your system and archiving tool:
+  </p>
+  <table cellspacing="10" cellpadding="0">
+    <tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","geant4.9.1.p03.tar.gz");
+	    </script>
+       </td>
+       <td> GNU or Linux tar format, compressed using gzip 
+	    (<!-- #config sizefmt="abbrev" -->
+	     17Mbytes, 17582985 bytes ).
+            <br>
+            <small><i>After downloading, gunzip, then unpack using 
+                      <a href="http://www.gnu.org">GNU</a> tar.</i></small>
+       </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","geant4_9_1_p03.zip");
+	    </script>
+       </td>
+       <td> ZIP format
+            (<!-- #config sizefmt="abbrev" -->
+	     27Mbytes, 28073235 bytes ).
+            <br>
+            <small><i>After downloading, unpack using e.g. WinZip.</i></small>
+       </td>
+    </tr>
+  </table>
+
+<h3>Data files <A HREF="datafiles_origin.shtml">(*)</A> </h3> 
+  <p>
+  For specific, optional physics processes some of the following files 
+  are required.  The file format is compatible with Unix, GNU, and Windows 
+  utilities.
+  </p>
+
+  <table cellspacing="10" cellpadding="0">
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4NDL.3.12.tar.gz");
+	    </script>
+       </td>
+       <td> Neutron data files <u>with</u> thermal cross sections - version 3.12
+	    (<!-- #config sizefmt="abbrev" -->
+	     52Mbytes, 54904967 bytes )
+       </td>
+
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4NDL.0.2.tar.gz");
+	    </script>
+       </td>
+       <td> Neutron data files <u>without</u> thermal cross sections - version 0.2
+	    (<!-- #config sizefmt="abbrev" -->
+	     12Mbytes, 12465281 bytes )
+       </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4EMLOW.5.1.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for low 
+            energy electromagnetic processes - version 5.1
+	    (<!-- #config sizefmt="abbrev" -->
+	    7.9Mbytes, 8287134 bytes )
+       </td>
+
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","PhotonEvaporation.2.0.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for photon
+            evaporation - version 2.0
+	    (<!-- #config sizefmt="abbrev" -->
+	    7.2Mbytes, 7506068 bytes )
+       </td>
+
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4RadioactiveDecay.3.2.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for radioactive decay hadronic
+            processes - version 3.2
+	    (<!-- #config sizefmt="abbrev" -->
+	    743Kbytes, 761070 bytes )
+       </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4ABLA.3.0.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for nuclear shell effects in INCL/ABLA hadronic
+            model - version 3.0
+	    (<!-- #config sizefmt="abbrev" -->
+	     54Kbytes, 54909 bytes )
+       </td>
+    </tr>
+  </table>
+
+<h3>Pre-compiled Libraries</h3>
+  <p>
+   These are compiled with Geant4 default settings and optimization turned 
+   on.  Please choose according to your system/compiler:
+  </p>
+
+  <table cellspacing="10" cellpadding="0">
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","lib4.9.1.p03/Linux-g++3.4.6-SLC4.tar.gz");
+	    </script>
+       </td>
+       <td> compiled using gcc 3.4.6 on Scientific Linux CERN 4
+            (SLC4, based on Redhat Linux Enterprise 4) - 
+	    (<!-- #config sizefmt="abbrev" -->
+	     14Mbytes, 14713828 bytes )
+      </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","lib4.9.1.p03/Darwin-g++4.0.1-Leopard.tar.gz");
+	    </script>
+       </td>
+       <td> compiled using gcc 4.0.1 on Mac (MacOSX 10.5) - 
+	    (<!-- #config sizefmt="abbrev" -->
+	     23Mbytes, 24434675 bytes )
+       </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","lib4.9.1.p03/WIN32-VC80-XP.zip");
+	    </script>
+       </td>
+       <td> compiled using VC++ 8.0 on Windows/XP - 
+	    (<!-- #config sizefmt="abbrev" -->
+	     53Mbytes, 55595518 bytes )
+       </td>
+    </tr>
+  </table>
+
+  <p>
+  These libraries were built using
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" target="_blank">
+    CLHEP version 2.0.3.2</a>.  Please refer to the 
+    <a href="ReleaseNotes4.9.1.html"><b>Release Notes</b></a> for platform 
+    specific notes on CLHEP.
+  </p>
+
+  <h3>Patches for the above release of GEANT4</h3>
+  <p>
+  To install the patch, the archive should be unpacked in the Geant4 installation
+  area where the directory geant4.9.1 is placed, and kernel libraries must be
+  recompiled <u>from scratch</u>.
+  <br>
+  For instructions on how to unpack, see the notes above for the original source code.
+  <ul>
+  <li><a name="patch03"></a> <b>Patch-03 (19 September 2008)</b> for Geant4.9.1
+      contains a collection of various corrections (<u>including patch-01 and
+      patch-02</u>),
+      see the <a href="Patch4.9.1-3.txt">description</a>
+      before downloading the patch itself in the correct format:
+      <table cellspacing="10" cellpadding="0">
+      <tr>
+         <td>
+            <script type="text/javascript">
+            download("Download","patch_geant4.9.1.p03.tar.gz");
+            </script>
+         </td>
+         <td> GNU or Linux tar format, compressed using gzip
+            (<!-- #config sizefmt="abbrev" -->
+            1.8Mbytes, 1904737 bytes ).
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <script type="text/javascript">
+            download("Download","patch_geant4_9_1_p03.zip");
+            </script>
+         </td>
+         <td> ZIP format
+              (<!-- #config sizefmt="abbrev" -->
+            2.3Mbytes, 2386463 bytes ).
+         </td>
+     </tr>
+     </table>
+  </li>
+  <li><a name="patch02"></a> <b>Patch-02 (9 May 2008)</b> for Geant4.9.1
+      contains a collection of various corrections (<u>including patch-01</u>),
+      see the <a href="Patch4.9.1-2.txt">description</a>
+      before downloading the patch itself in the correct format:
+      <table cellspacing="10" cellpadding="0">
+      <tr>
+         <td>
+            <script type="text/javascript">
+            download("Download","patch_geant4.9.1.p02.tar.gz");
+            </script>
+         </td>
+         <td> GNU or Linux tar format, compressed using gzip
+            (<!-- #config sizefmt="abbrev" -->
+            1.6Mbytes, 1674385 bytes ).
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <script type="text/javascript">
+            download("Download","patch_geant4_9_1_p02.zip");
+            </script>
+         </td>
+         <td> ZIP format
+              (<!-- #config sizefmt="abbrev" -->
+            2.0Mbytes, 2091433 bytes ).
+         </td>
+     </tr>
+     </table>
+  </li>
+  <li><a name="patch01"></a> <b>Patch-01 (5 February 2008)</b> for Geant4.9.1
+      contains a collection of various corrections, see the
+      <a href="Patch4.9.1-1.txt">description</a>
+      before downloading the patch itself in the correct format:
+      <table cellspacing="10" cellpadding="0">
+      <tr>
+         <td>
+            <script type="text/javascript">
+            download("Download","patch_geant4.9.1.p01.tar.gz");
+            </script>
+         </td>
+         <td> GNU or Linux tar format, compressed using gzip
+            (<!-- #config sizefmt="abbrev" -->
+            842Kbytes, 861951 bytes ).
+         </td>
+      </tr>
+      <tr>
+         <td>
+            <script type="text/javascript">
+            download("Download","patch_geant4_9_1_p01.zip");
+            </script>
+         </td>
+         <td> ZIP format
+              (<!-- #config sizefmt="abbrev" -->
+            1.0Mbytes, 1018987 bytes ).
+         </td>
+     </tr>
+     </table>
+  </li>
+  </ul>
+
+   <!--end main page content -->
+  </td>
+  </tr>
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   09/19/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/download_beta.shtml
===================================================================
--- trunk/Documentation/geant4/support/download_beta.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/download_beta.shtml	(revision 901)
@@ -0,0 +1,261 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Beta Development Source Code Download Page</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+<script type="text/javascript" src="download.js"></script>
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb -->
+                <a href="../index.shtml">Home</a> &gt; 
+                <a href="index.shtml">User Support</a> &gt; 
+                <a href="download.shtml">Download</a> &gt;
+                Beta code download<!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="download.shtml"><b>Current Release</b> of Geant4</a>.</li>
+      <li><a href="source_archive.shtml"><b>Previous Releases</b> of Geant4</a>
+          (since release 6.0).</li>
+      <li><a href="http://www-geant4.kek.jp/LXR">LXR source code browser</a>.</li>
+      <li><a href="http://geant4.slac.stanford.edu/installation/">Installation Guide tutorials</a>
+          for Linux and Windows.</li>
+      <li><b><a href="windows_note.shtml">Windows CygWin installation note</a></b>.</li>
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+    <h2>Beta Development Source Code Download</h2>
+
+<h3>Geant4 9.2-beta<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 4 July 2008</small></small></h3>
+  <p>
+  The Geant4 development source code is freely available.
+  See the <a href="http://cern.ch/geant4/license/">licence conditions</a>.
+  </p>
+  <p>
+  Feedback for any problem found is welcome via the usual support channels.
+  </p><p>
+  Since this is <b>beta</b> software, <u>please consider</u> that:
+  <ul>
+  <li>It is distributed "<B>as is</B>", and full support cannot be provided</li>
+  <li>Some code may be new or enhanced, therefore still experimental and not
+      fully tested</li>
+  <li>Interfaces may have changed since the previous version and may change
+      further in the final release; detailed notes on changes are available
+      in the directory <tt>ReleaseNotes/development</tt> provided with the
+      source code distribution</li>
+  <li>User documentation and manuals are <b>not</b> updated (will be updated
+      only for the official release)</li>
+  <li>Only source code and no pre-built libraries are provided</li>
+  </ul>
+  <hr>
+  </p>
+  <p> 
+  Please read the <a href="Beta4.9.2-1.txt"><b>Notes</b></a> before
+  downloading or using this code.
+  </p>
+
+<h3>Source files</h3>
+  <p>
+  Please choose the archive best suited to your system and archiving tool:
+  </p>
+  <table cellspacing="10" cellpadding="0">
+    <tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","geant4.9.2.b01.gtar.gz");
+	    </script>
+       </td>
+       <td> GNU or Linux tar format, compressed using gzip 
+	    (<!-- #config sizefmt="abbrev" -->
+	     17Mbytes, 18130143 bytes ).
+            <br>
+            <small><i>After downloading, gunzip, then unpack using 
+                      <a href="http://www.gnu.org">GNU</a> tar.</i></small>
+       </td>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","geant4_9_2_b01.zip");
+	    </script>
+       </td>
+       <td> ZIP format
+            (<!-- #config sizefmt="abbrev" -->
+	     27Mbytes, 28712143 bytes ).
+            <br>
+            <small><i>After downloading, unpack using e.g. WinZip.</i></small>
+       </td>
+    </tr>
+  </table>
+
+<h3>Data files <A HREF="datafiles_origin.shtml">(*)</A> </h3> 
+  <p>
+  For specific, optional physics processes some of the following files 
+  are required.  The file format is compatible with Unix, GNU, and Windows 
+  utilities.
+  </p>
+
+  <table cellspacing="10" cellpadding="0">
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4NDL.3.12.tar.gz");
+	    </script>
+       </td>
+       <td> Neutron data files <u>with</u> thermal cross sections - version 3.12
+	    (<!-- #config sizefmt="abbrev" -->
+	     52Mbytes, 54904967 bytes )
+       </td>
+
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4NDL.0.2.tar.gz");
+	    </script>
+       </td>
+       <td> Neutron data files <u>without</u> thermal cross sections - version 0.2
+	    (<!-- #config sizefmt="abbrev" -->
+	     12Mbytes, 12465281 bytes )
+       </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4EMLOW.6.1.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for low 
+            energy electromagnetic processes - version 6.1
+	    (<!-- #config sizefmt="abbrev" -->
+	    8.0Mbytes, 8378178 bytes )
+            <img src="http://cern.ch/geant4/images/new.gif">
+       </td>
+
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","PhotonEvaporation.2.0.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for photon
+            evaporation - version 2.0
+	    (<!-- #config sizefmt="abbrev" -->
+	    7.2Mbytes, 7506068 bytes )
+       </td>
+
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4RadioactiveDecay.3.2.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for radioactive decay hadronic
+            processes - version 3.2
+	    (<!-- #config sizefmt="abbrev" -->
+	    743Kbytes, 761070 bytes )
+       </td>
+    </tr>
+    <tr>
+       <td>
+	    <script type="text/javascript">
+	    download("Download","G4ABLA.3.0.tar.gz");
+	    </script>
+       </td>
+       <td> Data files for nuclear shell effects in INCL/ABLA hadronic
+            model - version 3.0
+	    (<!-- #config sizefmt="abbrev" -->
+	     54Kbytes, 54909 bytes )
+       </td>
+    </tr>
+  </table>
+
+  <p>
+  <b>NOTE</b>: This development release <u>requires</u>
+    <a href="http://cern.ch/clhep/DISTRIBUTION/" target="_blank">
+    CLHEP version 2.0.3.3</a>.
+    <img src="http://cern.ch/geant4/images/new.gif"><br>
+    Please refer to the <a href="Beta4.9.2-1.txt"><b>Notes</b></a>
+    also for information on the supported platforms.
+  </p>
+
+   <!--end main page content -->
+  </td>
+  </tr>
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   07/04/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/faq.shtml
===================================================================
--- trunk/Documentation/geant4/support/faq.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/faq.shtml	(revision 901)
@@ -0,0 +1,617 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>FAQ</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <a href="index.shtml">User Support</a> &gt;
+                <a href="gettingstarted.shtml">Getting Started</a> &gt;
+                 FAQ<!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+<h1>Frequently Asked Questions</h1>
+<H2>(See also
+     <A TARGET="_top" HREF="http://geant4.slac.stanford.edu/Tips">Useful Tips</A> page
+     at SLAC)</H2></DIV>
+<P></P>
+
+<UL>
+  <LI> <B><A NAME="q-general"></A><A HREF="#a-general">General</A></B>
+    <OL>
+      <LI><A HREF="#gen-1">How do I add a FAQ to this page?</A></LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE> 
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-install"></A><A HREF="#a-install">Installation</A></B> 
+    <OL>
+      <LI><A HREF="#install-1">When I download the source from the web, and unpack 
+        the tar file, some files unpack into the top level directory.</A> </LI>
+      <LI><A HREF="#install-2">I cannot find CLHEP files or library and I have it 
+        installed in my system</A>. </LI>
+      <LI><a href="#install-3">While installing the Geant4 libraries I get the 
+        following message printed:</a><br>
+        <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gmake[1]: cernlib: 
+        Command not found</code> <br>
+        <a href="#install-3">Has Geant4 been installed properly ? What to do to 
+        solve this error ? </a> </LI>
+      <LI><a href="#install-4">Trying building the Geant4 libraries I see several 
+        of these errors appearing and my installation fails:</a><br>
+        <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .....G4Exception.d:1: 
+        *** missing separator. Stop.<br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </code><code>...../G4DalitzDecayChannel.d:1: 
+        *** missing separator. Stop. <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :<br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </code> 
+        <br>
+        <a href="#install-4">Has Geant4 been installed properly ? What to do to 
+        solve this error ? </a> </LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE> 
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-run"></A><A HREF="#a-run">Runtime Problems</A></B> 
+    <OL>
+      <LI><A HREF="#runtime-1">On Linux, I get a segmentation fault 
+        as soon as I run one of the official examples.</A>
+      </LI>
+      <LI><a href="#runtime-2">I installed Geant4 libraries and built my application, 
+        when I try to run it I get:</a><br>
+        <code>
+         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           error in loading shared libraries:<br>
+         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           libCLHEP.so: cannot open shared object file:<br>
+         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           No such file or directory</code>.
+      </LI>
+      <LI><A HREF="#runtime-3">On my system I get a Floating Point Exception 
+        (FPE) since some physics processes sometimes return DBL_MAX as interaction 
+        length and this number is afterwards multiplied by a number greater than 
+        1.</A>
+      </LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE> 
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><A NAME="q-geometry"></A><B><A HREF="#a-geometry">Geometry</A></B>
+    <OL>
+      <LI><A HREF="#a-geom-1">I have a generic point and I would like to know 
+        in which physical volume I'm located in my detector geometry.</A></LI>
+      <LI><A HREF="#a-geom-2">How can I access the daughter volumes of a specific 
+        physical volume?</A></LI>
+      <LI><A HREF="#a-geom-3">How can I identify the exact copy-number of a specific 
+        physical volume in my mass geometry?  I tried with <code>GetCopyNo()</code>
+        from my physical volume pointer, but it doesn't seem to work!</A></LI>
+      <LI><A HREF="#a-geom-4">How can I determine the exact position in global coordinates 
+        in my mass geometry during tracking and how can I convert it to coordinates local to
+        the current volume ?</A></LI>
+    </OL>
+  </LI>
+  <BLOCKQUOTE>
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-track"></A><A HREF="#a-track">Tracks and steps</A></B>
+    <OL>
+      <LI><A HREF="#TRACK-1">How can I access the track information through
+        the step object and what information am I allowed to access ?</A> 
+    </OL>
+  </LI>
+  <BLOCKQUOTE>
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-phys"></A><A HREF="#a-phys">Physics and cuts</A></B>
+    <OL>
+      <LI><A HREF="#PHYS-1">How do production cuts (in range) work in Geant4 ?
+        Are they also used in tracking ?  If a particle has an energy lower than the
+        converted cut in energy for the given material and the distance to the next
+        boundary is smaller than the cut in range, is the particle killed ?</A> 
+    </OL>
+  </LI>
+  <BLOCKQUOTE>
+    <P>&nbsp; </P>
+  </BLOCKQUOTE>
+  <LI><B><A NAME="q-vis"></A><A HREF="#a-vis">Visualization</A></B>
+    <OL>
+      <LI><A HREF="#VIS-1">I have set G4VIS... environmental variables but visualization 
+        does not appear to be enabled.</A> 
+    </OL>
+  </LI>
+</UL>
+
+<HR>
+
+<H3><A NAME="a-general"></A><A HREF="#q-general">General</A></H3>
+<OL>
+<LI><A NAME="gen-1"></A><I>How do I add a FAQ to this page?</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  This is done manually at the moment. Please send your FAQ with solution
+  to the <A HREF="mailto:Gunter.Folger@cern.ch, Gabriele.Cosmo@cern.ch">editors</A>.
+</LI>
+</OL>
+
+<HR>
+
+<H3> <A NAME="a-install"></A><A HREF="#q-install">Installation</A> </H3>
+<OL>
+  <LI><A NAME="install-1"></A><I>When I download the source from the web, and unpack 
+    the tar file, some files unpack into the top level directory.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    The problem you describe usually is the result of using "UNIX" tar to 
+    unpack the gtar ("GNU-tar") file, or vice versa, or using zip on either the 
+    gtar or tar file. Please make certain that you download the correct file for 
+    your system, and that you use the correct unpacking tool. Note that for Linux 
+    you must download the gtar.gz file.<P>
+  </LI>
+  <LI><A NAME="install-2"></A><I>I cannot find CLHEP files or library and I have 
+    it installed in my system.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    If the standard CLHEP installation procedure has been adopted, the variable 
+    <tt>CLHEP_BASE_DIR</tt> should point to the area where <tt>include/</tt> and
+    <tt>lib/</tt> directories for CLHEP headers & library are installed in your
+    system. In case the <B>library file name</B> is different than the one
+    expected (<tt>libCLHEP.a</tt>), you should either create a symbolic
+    link with the expected name, or define the variable <tt>CLHEP_LIB</tt> in
+    your environment which explicitly sets the name of the CLHEP library.
+    If a non-standard CLHEP installation has been adopted, define variables
+    <tt>CLHEP_INCLUDE_DIR</tt>, <tt>CLHEP_LIB_DIR</tt> (and <tt>CLHEP_LIB</tt>)
+    to refer explicitly to the place where headers, library (and library-name)
+    respectively are placed in your system.<BR>
+    On Windows systems, the full library file name (with extension) should be
+    specified as <tt>CLHEP_LIB</tt>, while for UNIX-like systems, just the name
+    is required (i.e. <tt>CLHEP</tt> for <tt>libCLHEP.a</tt>)<P>
+  </LI>
+  <li><a name="install-3"></a><i>While installing the Geant4 libraries I get 
+    the following message printed:</i><br>
+      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+      gmake[1]: cernlib: Command not found <br>
+    <i>Has Geant4 been installed properly ? What to do to solve this error ?</i><br>
+    <br>
+    <i>Solution:</i><br>
+    The message:<br>
+    <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           gmake[1]: cernlib: Command not found
+    </code> <br>
+    shows that you don't have the 'cernlib' command installed in your system; 
+    'cernlib' is a command from the CERN program library (cernlib) returning a 
+    list of libraries needed to link a cernlib application. This command is only 
+    used in the 'g3tog4' module, however, if you do not make use of the 'g3tog4' 
+    tool, it's harmless. The cernlib script (and the needed cernlib libraries) 
+    are available from: <a href="http://cern.ch/cernlib">http://cern.ch/cernlib</a>.<P>
+  </li>
+  <li><a name="install-4"></a> <i>Trying building the Geant4 libraries I see several 
+    of these errors appearing and my installation fails:</i><br>
+    <code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           .....G4Exception.d:1: 
+           *** missing separator. Stop.<br>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           ...../G4DalitzDecayChannel.d:1: 
+           *** missing separator. Stop. <br>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           :<br>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+           :
+    </code> <br>
+    <i>Has Geant4 been installed properly ? What to do to solve this error ?</i><br>
+    <br>
+    <i>Solution:</i><br>
+    It looks like some file dependencies (.d) are corrupted, possibly
+    due to previous build attempts which failed for some reason.<br>
+    You need to remove each of them. A quick recipe for doing this is to:
+    <ul>
+    <li>Configure the environment with the installation to be repaired</li>
+    <li>Unset the <tt>G4WORKDIR</tt> environment variable (in case it is
+        eventually set)</li>
+    <li>Type:
+    <pre>
+       gmake clean dependencies=''
+    </pre>
+    from the affected module (i.e. for this case, from
+    <tt>$G4INSTALL/source/global/management</tt> and
+    <tt>$G4INSTALL/source/particles/management</tt>)
+    and rebuild.
+    <br>Alternatively, you may use:
+    <pre>
+       gmake clean dependencies=''
+    </pre>
+    from <tt>$G4INSTALL/source</tt> and rebuild.</li>
+    </ul>
+  </li>
+</ol>
+  
+<HR>
+
+<H3><A NAME="a-run"></A><A HREF="#q-run">Run Time Problems</A> </H3>
+<OL>
+  <LI><A NAME="runtime-1"></A><I>On Linux, I get a segmentation fault 
+    as soon as I run one of the official examples.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    Check that the CLHEP library has been installed and compiled coherently with
+    the same compiler you use for installing Geant4 and for the same version of Linux
+    distribution.
+    For example, a binary object produced with Red-Hat 7.X is not fully compatible with 
+    binaries running on RH 9.X or higher, due to different <tt>libc</tt> used in the two
+    configurations.<P>
+  </li>
+  <li><a name="runtime-2"></a><i>I installed Geant4 libraries and built my application, 
+    when I try to run it I get:</i><br>
+    <code>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     error in loading shared libraries:<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     libCLHEP.so: cannot open shared object file:<br>
+     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     No such file or directory.
+    </code><br>
+    <br>
+    <i>Solution:</i><br>
+    Your installation of CLHEP includes shared libraries. You need to specify 
+    the path where <tt>libCLHEP.so</tt> is installed through your environment
+    variable <tt>LD_LIBRARY_PATH</tt>. For example, in <tt>tcsh</tt> UNIX shell:
+    <pre>
+       setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$CLHEP_BASE_DIR/lib
+    </pre><P>
+  </li>
+  <LI><A NAME="runtime-3"></A><I>On my system I get a Floating Point Exception 
+    (FPE) since some physics processes sometimes return </I>DBL_MAX<I> as interaction 
+    length and this number is afterwards multiplied by a number greater than 1.</I><BR>
+    <BR>
+    <I>Solution:</I><BR>
+    Geant4 coding conventions and installation setup explicitly follow the ANSI/IEEE-754 
+    Standard for the initialization of floating-point arithmetic hardware and 
+    portability. The Standard foresees floating-point arithmetic to be nonstop 
+    and underflows to be gradual. On DEC platforms, for example, the ANSI/IEEE-754 
+    Standard compliance needs to be explicitly set (since deactivated by default); 
+    in this case we use infact the option "-ieee" on the DEC/cxx native C++ compiler 
+    to achieve this. You should check if your compiler provides compilation options 
+    for activating Standard initialization of FP arithmetic (it may be platform 
+    specific).
+  </LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-geometry"></A><A HREF="#q-geometry">Geometry</A> </H3> 
+<OL>
+<LI><A NAME="a-geom-1"></A><I>I have a generic point and I would like to know 
+  in which physical volume I'm located in my detector geometry.</I>
+  <BR><BR>
+  <I>Solution:</I><BR> 
+  The best way of doing this is by invoking the <code>G4Navigator</code>.
+  First get a pointer of the navigator through the <code>G4TransportationManager</code>,
+  and then locate the point. 
+  i.e. 
+  <pre>
+     #include "G4TransportationManager.hh" 
+     #include "G4Navigator.hh" 
+     G4ThreeVector myPoint = ....;
+     G4Navigator* theNavigator = G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking();
+     G4VPhysicalVolume* myVolume = theNavigator->LocateGlobalPointAndSetup(myPoint); 
+  </pre>
+  NOTE 1: it is advisable to perform the call for locating the point when the
+        geometry is "closed", i.e. after the geometry optimisation has been
+        generated.<P></P>
+  NOTE 2: by using the navigator for tracking as shown above, the actual particle
+        gets also -relocated- in the specified position. Therefore, if this
+        information is needed during tracking time, in order to avoid affecting
+        tracking, you should either use an alternative <code>G4Navigator</code>
+        object (which you then assign to your world-volume), or you access the
+        information through the track or touchable as specified in the FAQ
+        for <A HREF="#TRACK-1">tracking and steps</A>.<P></P>
+</LI>
+<LI><A NAME="a-geom-2"></A><I>How can I access the daughter volumes of a specific 
+  physical volume?</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  Through the associated logical volume. 
+  <pre>
+      G4VPhysicalVolume* myPVolume = ....; 
+      G4LogicalVolume* myLVolume = myPVolume->GetLogicalVolume(); 
+      for (G4int i=0; i < myLVolume->GetNoDaughters(); i++)  
+        myPVolume = myLVolume->GetDaughter(i);
+  </pre>
+</LI>
+<LI><A NAME="a-geom-3"></A><I>How can I identify the exact copy-number of a specific 
+   physical volume in my mass geometry?  I tried with <code>GetCopyNo()</code>
+   from my physical volume pointer, but it doesn't seem to work!</I>
+   <BR><BR>
+  <I>Solution:</I><BR>
+  The correct way to identify -uniquely- a physical volume in your
+  mass geometry is by using the touchables (see also section 4.1.5 of the
+  User's Guide for Application Developers), as follows:
+  <pre>
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
+      G4int copyNo = theTouchable->GetCopyNumber();
+      G4int motherCopyNo = theTouchable->GetCopyNumber(1);
+  </pre>
+  where <code>Copy</code> here stays for any duplicated instance of a physical
+  volume, either if it is a <code>G4PVPlacement</code> (multiple placements of the
+  same logical volume) or a <code>G4PVReplica</code>/<code>G4PVParameterised</code>.<BR>
+  The method <code>GetCopyNo()</code> is meant to return only the serial
+  number of placements not duplicated in the geometry tree.<P>
+</LI>
+<LI><A NAME="a-geom-4"></A><I>How can I determine the exact position in global coordinates 
+   in my mass geometry during tracking and how can I convert it to coordinates local to
+   the current volume ?</I>
+   <BR><BR>
+  <I>Solution:</I><BR>
+  You need again to do it through the touchables (see also section 4.1.5 of the
+  User's Guide for Application Developers), as follows:
+  <pre>
+      G4Step* aStep = ..;
+      G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
+      G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
+      G4ThreeVector worldPosition = preStepPoint->GetPosition();
+      G4ThreeVector localPosition = theTouchable->GetHistory()->
+                                    GetTopTransform().TransformPoint(worldPosition);
+  </pre>
+  where <code>worldPosition</code> here stays for the position related to the world
+  volume, while <code>localPosition</code> refers to the coordinates local to the
+  volume where the particle is currently placed.
+</LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-track"></A><A HREF="#q-track">Tracks and steps</A> </H3>
+<OL>
+<LI><I><A NAME="TRACK-1"></A>How can I access the track information through
+  the step object and what information am I allowed to access ?</I>
+  <BR><BR>
+  <I>Answer:</I><BR>
+  A <code>G4Step</code> object consists of two points:
+  <pre>
+      G4StepPoint* point1 = step->GetPreStepPoint();
+      G4StepPoint* point2 = step->GetPostStepPoint();
+  </pre>
+  To get their positions in the global coordinate system:
+  <pre>
+      G4ThreeVector pos1 = point1->GetPosition();
+      G4ThreeVector pos2 = point2->GetPosition();
+  </pre>
+  Hereafter we call <i>current volume</i> the volume where the step has just
+  gone through. Geometrical informations are available from
+  <code>preStepPoint</code>.<BR>
+  <code>G4VTouchable</code> and its derivates keep these geometrical
+  informations. We retrieve a <i>touchable</i> by creating a <i>handle</i>
+  for it:
+  <pre>
+      G4TouchableHandle touch1 = point1->GetTouchableHandle();
+  </pre>
+  To get the current volume:
+  <pre>
+       G4VPhysicalVolume* volume = touch1->GetVolume();
+  </pre>
+  To get its name:
+  <pre>
+      G4String name = volume->GetName();
+  </pre>
+  To get the physical volume copy number:
+  <pre>
+      G4int copyNumber = touch1->GetCopyNumber();
+  </pre>
+  To get logical volume:
+  <pre>
+      G4LogicalVolume* lVolume = volume->GetLogicalVolume();
+  </pre>
+  To get the associated material: the following statements are equivalent:
+  <pre>
+      G4Material* material = point1  ->GetMaterial();
+      G4Material* material = lVolume ->GetMaterial();
+  </pre>
+  To get the geometrical region:
+  <pre>
+      G4Region* region = lVolume->GetRegion();
+  </pre>
+  To get its mother volume:
+  <pre>
+      G4VPhysicalVolume* mother = touch1->GetVolume(depth=1);
+      grandMother: depth=2 ...etc...
+  </pre>
+  To get the copy number of the mother volume:
+  <pre>
+      G4int copyNumber = touch1->GetCopyNumber(depth=1);
+      grandMother: depth=2 ...etc...
+  </pre>
+  To get the process which has limited the current step:
+  <pre>
+      G4VProcess* aProcess = point2->GetProcessDefinedStep();
+  </pre>
+  To check that the particle has just entered in the current volume
+  (i.e. it is at the first step in the volume; the <code>preStepPoint</code>
+  is at the boundary):
+  <pre>
+      if (point1->GetStepStatus() == fGeomBoundary) 
+  </pre>
+  To check that the particle is leaving the current volume
+  (i.e. it is at the last step in the volume; the <code>postStepPoint</code>
+  is at the boundary):
+  <pre>
+      if (point2->GetStepStatus() == fGeomBoundary)
+  </pre>
+  In the above situation, to get touchable of the next volume:
+  <pre>
+      G4TouchableHandle touch2 = point2->GetTouchableHandle();
+  </pre>
+  From <code>touch2</code>, all informations on the next volume can
+  be retrieved as above.
+  <p></p>
+  Physics quantities are available from the step (<code>G4Step</code>) or
+  from the track (<code>G4Track</code>).
+  <p></p>
+  To get the energy deposition, step length, displacement and time of flight
+  spent by the current step:
+  <pre>
+      G4double eDeposit      = step->GetTotalEnergyDeposit();
+      G4double sLength       = step->GetStepLength();
+      G4ThreeVector displace = step->GetDeltaPosition();
+      G4double tof           = step->GetDeltaTime();
+  </pre>
+  To get momentum, kinetic energy and global time (time since the beginning 
+  of the event) of the track after the completion of the current step:
+  <pre>
+      G4Track* track         = step->GetTrack();
+      G4ThreeVector momentum = track->GetMomentum();
+      G4double kinEnergy     = track->GetKineticEnergy();
+      G4double globalTime    = track->GetGlobalTime();
+      ...etc...
+  </pre>
+  <u>Remark</u> - To transform a position from the global coordinate
+  system to the local system of the current volume, use the
+  <code>preStepPoint</code> transformation, as described in the
+  <a href="#a-geom-4">geometry section</a> above.
+</LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-phys"></A><A HREF="#q-phys">Physics and cuts</A> </H3>
+<OL>
+<LI><I><A NAME="PHYS-1"></A>How do production cuts (in range) work in Geant4 ?
+  Are they also used in tracking ?  If a particle has an energy lower than the
+  converted cut in energy for the given material and the distance to the next
+  boundary is smaller than the cut in range, is the particle killed ?</I>
+  <BR><BR>
+  <I>Answer:</I><BR>
+  Geant4 does NOT have a "tracking cut". The toolkit's default behaviour
+  is to track particles down to zero range (i.e. zero energy).<BR>
+  Of course, it is possible for the user to create and register a process
+  that kills particles below a certain energy or range; this is however
+  NOT provided by default in Geant4. So there's NO "tracking cut".<BR>
+  For example, suppose a particle that is nearing zero energy will at some point
+  be proposed by its Ionisation process to undergo one final step, from its current
+  energy down to zero energy. This is still only a proposal. If during this step
+  the particle crosses a boundary, then the transportation will limit the step at
+  a length smaller than the Ionisation -- so the particle will still see and cross
+  the relevant boundary, and another step will occur on the other side of that
+  boundary.<BR>
+  In summary the "production threshold" range and its equivalent in
+  energy are not utilised as a "tracking cut". A particle is not abandoned
+  by Geant4 below a certain range/energy unless the user registers a process
+  to do this by him/her-self.
+</LI>
+</OL>
+
+<HR>
+
+<H3><A NAME="a-vis"></A><A HREF="#q-vis">Visualization</A> </H3>
+<OL>
+<LI><I><A NAME="VIS-1"></A>I have set G4VIS... environmental variables but
+  visualization does not appear to be enabled.</I>
+  <BR><BR>
+  <I>Solution:</I><BR>
+  This might be 
+  because you set the environment variables *after* already compiling. The environment 
+  variables control C-pre-processor macros of the same name and therefore influence 
+  what code gets compiled. It is suggested to proceed with the following manual procedure
+  to correct the current installation:
+  <UL>
+  <LI>Configure the environment according to the installation making sure to -unset-
+      the <tt>G4WORKDIR</tt> environment variable, if set.</LI>
+  <LI>Verify and eventually set the environment variables of the visualization module
+      [name] concerned (setenv or export both <TT>G4VIS_BUILD_[name]_DRIVER</TT> and
+      <TT>G4VIS_USE_[name]</TT> variables according to the UNIX shell used), and then
+      proceed as follows:
+  <PRE>
+     cd $G4INSTALL/source/visualization
+     gmake clean
+     gmake
+     cd $G4INSTALL/source/interfaces
+     gmake clean
+     gmake
+     cd $G4INSTALL/source
+     gmake libmap
+     setenv G4WORKDIR [your working directory]   (or export)
+     cd [your application directory]
+     gmake clean
+     gmake
+  </PRE></LI>
+  </UL>
+</LI>
+</OL>
+      </td>
+    </tr>
+  </table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   09/27/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
+
Index: trunk/Documentation/geant4/support/gettingstarted.shtml
===================================================================
--- trunk/Documentation/geant4/support/gettingstarted.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/gettingstarted.shtml	(revision 901)
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: Getting Started</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                <a href="index.shtml">User Support</a> &gt; 
+                    Getting Started<!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="userdocuments.shtml">User Documentation</a></li>
+      <li><a href="http://bugzilla-geant4.kek.jp/">Bug reports and fixes</a></li>
+      <li><a href="subscribe.shtml">Mailing list subscription</a></li>
+      <li><a href="training.shtml">Training courses and materials</a></li>
+      <li><a href="http://cern.ch/geant4/OOAandD/URD.pdf">User 
+      requirements document</a> (pdf)</li>
+      <li><a href="UserRequirementsTracker.shtml">User requirements tracker</a></li>
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+
+    <h1>What is Geant4?</h1>
+    <p>Find out in a <a href="about.shtml">brief overview</a> which describes the 
+    project. More detail is provided in the
+    <a href="http://cern.ch/geant4/UserDocumentation/Welcome/IntroductionToGeant4/html/index.html">
+    Introduction to Geant4</a>, and in a full journal article
+    <a href="http://www.slac.stanford.edu/cgi-bin/spiface/find/hep/www?FORMAT=WWW&amp;rawcmd=find+r+slac-pub-9350">
+    NIM A 506 (2003) 250-303</a>.</p>
+    <p>&nbsp;As you encounter questions or problems, please
+    <a href="faq.shtml">consult the FAQ</a> 
+    or take advantage of the
+    <a href="faq.shtml">user support</a> 
+    provided by Geant4 developers.</p>
+    <h2>Installing Geant4 </h2>
+    <p>You can begin installing Geant4 by
+    <a href="download.shtml">downloading the code</a> from the distribution 
+    page. Next, consult the
+    <a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/">
+    Installation Guide</a> for the instructions required to set up Geant4 in 
+    your computing environment. </p>
+    <h2>Building an Application</h2>
+    <p>Once you have installed the toolkit, the
+    <a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/">
+    Application Developers Guide</a> will provide information and examples for 
+    building your own simulation application.</p>
+    <h2>Getting Help</h2>
+    <p>As problems arise, try
+    <a href="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">browsing the user forum</a> 
+    to see whether or not your problem has already been encountered. If it 
+    hasn't, you can post it and Geant4 developers will do their best to find 
+    a solution. This is also a good place to discuss Geant4 topics in general. 
+    </p>
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   03/23/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/index.shtml
===================================================================
--- trunk/Documentation/geant4/support/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/index.shtml	(revision 901)
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: User Support</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; User Support<!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+        <ul>
+      <li><a href="http://cern.ch/geant4/OOAandD/index.html">Object 
+      Oriented Analysis &amp; Design</a></li>
+      <li><a href="source_archive.shtml">Archive</a></li>
+      <li><a href="subscribe.shtml">Mailing list subscription</a></li>
+      <li><a href="http://cern.ch/geant4/OOAandD/URD.pdf">User 
+      requirements document</a> (pdf)</li>
+      <li><a href="../collaboration/technical_forum/index.shtml">Technical Forum</a></li>
+    </ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+    <h1>User Support</h1>
+
+        <ol>
+          <li><a href="gettingstarted.shtml">Getting started</a></li>
+          <li>
+          <a href="training.shtml">
+          Training courses and materials</a></li>
+          <li>Source code<ol type="a">
+            <li><a href="download.shtml">Download page</a></li>
+            <li><a target="ext" href="http://www-geant4.kek.jp/LXR">LXR code browser</a></li>
+          </ol></li>
+          <li><a href="faq.shtml">Frequently Asked Questions (FAQ)</a></li>
+          <li><a href="http://bugzilla-geant4.kek.jp/">Bug reports and fixes</a></li>
+          <li><a href=" UserRequirementsTracker.shtml">User requirements tracker</a></li>
+          <li><a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User Forum</a></li>
+          <li><a href="userdocuments.shtml">Documentation</a><ol type="a">
+            <li>
+          <!-- <a href="http://cern.ch/geant4/G4UsersDocuments/Welcome/IntroductionToGeant4/html/index.html"> -->
+            <a href="introductionToGeant4.shtml">
+            Introduction to Geant4</a></li>
+            <li>
+            <a href="http://cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/index.html">
+            Installation Guide</a></li>
+            <li>
+            <a target="ext" href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html">
+            Application Developers Guide</a></li>
+            <li>
+            <a target="ext" href="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/html/index.html">
+            Toolkit Developers Guide</a></li>
+            <li>
+            <a target="ext" href="http://cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">
+            Physics Reference Manual</a></li>
+            <li><a target="ext" href="http://geant4.cern.ch/bin/SRM/G4GenDoc.csh?flag=1">Software Reference Manual</a></li>
+          </ol>
+          </li>
+          <li>Physics lists<ol type="a">
+            <li><a href="../collaboration/working_groups/electromagnetic/physlist.shtml">Electromagnetic</a></li>
+            <li><a href="proc_mod_catalog/physics_lists/physicsLists.shtml">Hadronic</a></li>
+          </ol>
+          </li>
+          <li>User Aids<ol type="a">
+            <li><a href="proc_mod_catalog/index.shtml">Process/model catalog</a></li>
+            <li><a target="ext" href="http://reat.space.qinetiq.com/gps/new_gps_sum_files/gps_sum.htm">General particle source manual</a></li>
+          </ol></li>
+          <li><a href="../collaboration/contacts.shtml">Contact Coordinators & Contact Persons</a></li>
+        </ol>
+    <!--end main page content --></td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   20 Nov 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/introductionToGeant4.shtml
===================================================================
--- trunk/Documentation/geant4/support/introductionToGeant4.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/introductionToGeant4.shtml	(revision 901)
@@ -0,0 +1,475 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ 
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Introduction to Geant4</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+ 
+<body>
+ 
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+                <a href="index.shtml">User Support</a> &gt;
+            <a href="userdocuments.shtml">User Documentation</a>
+    <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+ 
+
+<h1>Geant4 User's Documents: Introduction to Geant4</h1>
+<br/>       
+
+
+<h2>Contents</h2>
+<ol>
+  <li><a href="#1.">Geant4 Scope of Application</a></li>
+  <li><a href="#2.">History of Geant4</a></li>
+  <li><a href="#3.">Overview of Geant4 Functionality</a></li>
+  <li><a href="#4.">Geant4 User Suppport</a></li>
+  <li><a href="#5.">Software Knowledge Required to Use the Geant4 Toolkit</a></li>
+  <li><a href="#6.">Computing Environment Required by the Geant4 Toolkit</a></li>
+</ol>
+
+<hr/>
+
+<!-- ============================================== Section -->
+<a name="1."></a>
+<h2>1. Geant4 Scope of Application</h2>
+<p>
+Geant4 is a free software package composed of tools which can be used to 
+accurately simulate the passage of particles through matter.  All aspects 
+of the simulation process have been included in the toolkit:
+</p> 
+<ul>
+  <li>the geometry of the system,</li> 
+  <li>the materials involved,</li>
+  <li>the fundamental particles of interest,</li> 
+  <li>the generation of primary events,</li> 
+  <li>the tracking of particles through materials and electromagnetic fields,</li> 
+  <li>the physics processes governing particle interactions,</li>
+  <li>the response of sensitive detector components,</li>
+  <li>the generation of event data,</li>
+  <li>the storage of events and tracks,</li>
+  <li>the visualization of the detector and particle trajectories, and</li> 
+  <li>the capture and analysis of simulation data at different levels of 
+      detail and refinement.</li>
+</ul>
+<p>
+Users may construct stand-alone applications or applications built upon
+another object-oriented framework.  In either case the toolkit will support
+them from the initial problem definition to the production of results and 
+graphics for publication.  To this end, the toolkit includes:
+</p> 
+<ul>
+  <li>user interfaces,</li>
+  <li>built-in steering routines, and</li>  
+  <li>command interpreters</li>
+</ul>
+<p>
+which operate at every level of the simulation. 
+</p>
+<p>
+At the heart of Geant4 is an abundant set of physics models to handle the 
+interactions of particles with matter across a very wide energy range.  Data
+and expertise have been drawn from many sources around the world and in this
+respect, Geant4 acts as a repository which incorporates a large part of all 
+that is known about particle interactions.
+</p>
+<p>
+Geant4 is written in C++ and exploits advanced software-engineering 
+techniques and object-oriented technology to achieve transparency.  For 
+example, the way in which cross sections are input or computed is separated 
+from the way in which they are used or accessed.  The user can overload both
+of these features.  Similarly, the computation of the final state can be 
+divided into alternative or complementary models, according to the energy 
+range, the particle type, and the material.  To build a specific application
+the user-physicist chooses from among these options and implements code in 
+user action classes supplied by the toolkit.  A serious problem with 
+previous simulation codes was the difficulty of adding new or variant 
+physics models; development was difficult due to the increased size, 
+complexity and interdependency of the procedure-based code.  In contrast, 
+object-oriented methods help manage complexity and limit dependencies by 
+defining a uniform interface and common organizational principles for all 
+physics models.  Within this framework the functionality of models can be 
+more easily recognized and understood, and the creation and addition of new 
+models is a well-defined procedure that entails little or no modification to
+the existing code.
+</p>
+<a name="2."></a>
+<h2>2. History of Geant4</h2>
+<p>
+These ideas first appeared in two studies done independently at CERN and KEK
+in 1993.  Both groups sought to investigate how modern computing techniques 
+could be applied to improve the existing FORTRAN based Geant3 simulation 
+program.  Activities were merged in the fall of 1994 and a formal proposal, 
+RD44, to construct an entirely new program based on object-oriented
+technology was submitted to CERN's Detector Research and Development 
+Committee.  The initiative grew to become a large international 
+collaboration of physicist programmers and software engineers from a number 
+of institutes and universities participating in a range of high-energy 
+physics experiments in Europe, Japan, Canada and the United States.  The 
+objective was to write a detector simulation program which had the 
+functionality and flexibility necessary to meet the requirements of the next
+generation of subatomic physics experiments.  The initial scope quickly 
+widened when it became apparent that such a tool would also benefit the 
+nuclear, accelerator, space and medical physics community, with more 
+individuals joining from these fields of science.
+</p>
+<p>
+The RD44 project represented a pioneering effort in redesigning a major CERN
+software package for a modern object-oriented (OO) environment based on C++.
+The R &amp; D phase was completed in December 1998 with the delivery of the 
+first production release.  The collaboration was subsequently renamed Geant4 
+and re-instated on the basis of a formal Memorandum of Understanding (MoU) 
+signed by many of the same national institutes, laboratories and large HEP 
+experiments who participated in RD44.  The agreement addresses the program 
+management, maintenance and user support during the production phase and the
+continued development and refinement of the toolkit.  It is subject to tacit
+renewal every two years and sets out a collaboration structure defined by a
+Collaboration Board (CB), a Technical Steering Board (TSB) and several 
+working groups.
+</p>
+<p>
+The collaboration now profits from the accumulated experience of many 
+contributors to the field of Monte Carlo simulation of physics detectors and
+physical processes.  While geographically distributed software development 
+and large-scale object-oriented systems are no longer a novelty, Geant4, in 
+terms of the size and scope of the code and the number of contributors, may 
+well represent the largest and most ambitious project of its kind outside 
+the corporate world.  A clean overall problem decomposition has led to a 
+clear hierarchical structure of domains.  Every section of the Geant4 
+software, which corresponds to a releasable component (library), is
+individually managed by a working group of experts.  In addition, there is a
+working group for each of the activities: testing and quality assurance, 
+software management and documentation management.  A release coordinator 
+heads each group.  This consequent distribution of responsibility among a 
+relative large number of people permits a support structure whereby 
+outside users can address questions directly to the appropriate expert.
+</p>
+<a name="3."></a>
+<h2>3. Overview of Geant4 Functionality</h2>
+<p>
+The Geant4 class category diagram is shown in Fig. 1.
+</p>
+
+<img src="classCategory.gif" alt="Class Categories"></img>
+
+<p>
+Fig. 1 Geant4 class categories<br/><br/>
+</p>
+
+<p>
+Categories at the bottom of the diagram are used by virtually all higher categories and provide the foundation of the toolkit.
+</p>
+<p>
+The 
+</p>
+<ul>
+    <li><i>global</i></li>
+</ul>
+<p>
+category covers the system of units, constants, numerics and random number 
+handling.
+</p>
+<p>
+The two categories: 
+</p>
+<ul>
+  <li><i>materials</i></li>
+  <li><i>particles</i></li>
+</ul> 
+<p>
+implement facilities necessary to describe the physical properties of 
+particles and materials for the simulation of particle-matter interactions. 
+</p>
+<p>
+The
+</p> 
+<ul>
+    <li><i>geometry</i></li>
+</ul>
+<p>
+module offers the ability to describe a geometrical structure and propagate particles efficiently through it. 
+</p>
+<p>
+Above these reside categories required to describe the tracking of particles 
+and the physical processes they undergo. The 
+</p>
+<ul>
+    <li><i>track</i></li>
+</ul>
+<p>
+category contains classes for tracks and steps, used by the
+</p> 
+<ul>
+    <li><i>processes</i></li>
+</ul>
+<p>
+category, which contains implementations of models of physical interactions: electromagnetic interactions of leptons, photons,
+hadrons and ions, and hadronic interactions.
+</p> 
+<p>
+All processes are invoked by the
+</p> 
+<ul>
+    <li><i>tracking</i></li>
+</ul>
+<p>
+category, which manages their contribution to the evolution of a track's state
+and provides information in sensitive volumes for hits and digitization. 
+</p>
+<p>
+Above these the
+</p>
+<ul>
+    <li><i>event</i></li>
+</ul>
+<p>
+category manages events in terms of their tracks and the
+</p> 
+<ul>
+    <li><i>run</i></li>
+</ul>
+<p>
+category manages collections of events that share a common beam and detector 
+implementation. A 
+</p>
+<ul>
+    <li><i>readout</i></li>
+</ul>
+<p>
+category allows the handling of pile-up. 
+</p>
+<p>
+Finally capabilities that use all of these categories and connect to 
+facilities outside the toolkit through abstract interfaces, provide
+<i>visualization</i>, <i>persistency</i> and user <i>interface</i> 
+capabilities. 
+</p>
+
+<a name="4."></a>
+<h2>4. Geant4 User Support</h2>
+
+<p>
+The collaboration offers support for Geant4, providing
+</p> 
+<ul>
+  <li>assistance with problems relating to the code,</li> 
+  <li>consultation on using the toolkit, and</li>
+  <li>response to enhancement requests.</li>
+</ul>
+<p>
+A user can also expect assistance in
+</p> 
+<ul>
+  <li>investigating aberrant results.</li>
+</ul>
+<p>
+Users of the software who encounter a problem in running the code can use an
+</p> 
+<ul>
+  <li>Internet-based <a href="http://bugzilla-geant4.kek.jp/">problem reporting system</a>.</li>
+</ul>
+<p>
+The system is open to all users. It is set up automatically to assign problem 
+reports to the responsible person according to the category affected. The 
+contact person may then respond directly or forward it to a colleague.  This 
+system is a customized version of the open source reporting tool 
+<a target="_ext" href="http://bugzilla.mozilla.org">Bugzilla</a>.  Besides routing the 
+problem to specialists, it tracks and documents the responses until the 
+problem is resolved. 
+</p>
+<p>
+New requirements, such as requests for new functionality, are presented to 
+and decided by the Technical Steering Board (TSB).  The TSB sets the 
+priorities and agrees on time-scales for the fulfillment of new 
+requirements.  Such support is guaranteed to collaboration members, while 
+requests from non-members are handled on a <i>best effort</i> basis. 
+</p>
+<p>
+For each member organisation a contact person
+<a href="http://cern.ch/geant4/organisation/technical_board.html">(TSB member)</a> has been designated who acts as a first reference for Geant4 
+users in that locality, which may include affiliated institutions, user 
+groups, and others in the same geographic area.  The contact person will 
+respond to enquiries, help resolve simple problems, and forward more 
+specialized queries to the relevant expert(s).
+</p> 
+
+<p>
+Beyond that, a list of frequently asked questions 
+<a href="FAQ.html">(FAQs)</a>, and an internet-based 
+<a target="_ext" href="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index">user forum</a> complete the available Geant4 user support. 
+<br/>
+</p>
+
+<a name="5."></a>
+<h2>5. Software Knowledge Required to Use the Geant4 Toolkit</h2>
+<p>
+In general, there are three types of users:
+</p> 
+<ul>
+  <li>the <b>end user</b>,</li> 
+  <li>the <b>application programmer</b>,</li> 
+</ul>
+<p>
+and for large simulation tasks:
+</p>
+<ul>
+  <li>the <b>framework provider</b>.</li>
+</ul>
+
+<p>
+The <b>end user</b> runs the simulation program by controlling run time 
+parameters. The interface with the program may be a graphical user 
+interface, an interactive command line interface, or the macro-based system 
+for batch.  The end user needs a basic knowledge of how to control the 
+program flow but does not necessarily have to know object-oriented 
+programming or C++. 
+</p>
+<p>
+The <b>application programmer</b> is central to any simulation task. A firm 
+knowledge of C++ is required to implement code in user action classes to 
+specify, at a minimum, the detector description, the relevant particles and 
+physics processes, and the initial event kinematics.  A manual for the
+application programmer is found in the
+<a href="../../../UsersGuides/ForApplicationDeveloper/html/index.html">User's Guide: For Application Developers</a>.
+</p>
+<p>
+Using standard components of Geant4, a <b>framework provider</b> would add 
+interfaces to external tools, such as for example, to Computer Aided Design 
+(CAD) programs, Object-Oriented Data Base Management Systems (ODBMS) and 
+graphics systems. This requires the development of new classes overloading 
+standard Geant4 functionality and hence a solid understanding of 
+object-oriented Programming.  A manual for the framework provider is found 
+in the 
+<a href="../../../UsersGuides/ForToolkitDeveloper/html/index.html">User's Guide: For Toolkit Developers</a>.
+</p>
+
+
+<b>References</b>
+<p>
+All user documentation can be found on the Geant4 homepage
+<a href="http://cern.ch/geant4">http://cern.ch/geant4</a>.
+</p>
+<p>
+References for Object-Oriented Technology:
+</p> 
+<ul>
+  <li>Grady Booch, Object-Oriented Analysis and Design with Applications The Benjamin/Cummings Publishing Co. Inc, 1994,
+     ISBN 0-8053-5340-2 </li>
+  <li>R.C.Martin, Designing Object-Oriented C++ Applications Using The Booch Method, Prentice Hall 1995, ISBN
+     0-13-203837-4; </li>
+  <li>E. Gamma, et al., Design Patterns - Elements of Reusable Object-Oriented Software, Addison Wesley 1995, ISBN
+     0-201-63361-2; </li>
+</ul>
+<p>
+Information on and links to many Object-Oriented methodologies and related 
+tools are also available at 
+<a href="http://geant4.cern.ch/asd/geant/geant4_public/pub_methodology.html">http://geant4.cern.ch/asd/geant/geant4_public/pub_methodology.html</a>.
+</p>
+<p>
+References for C++:
+</p> 
+<ul>
+  <li>B.Stroustrup, C++ Programming Language 3rd Edition, Addison Wesley, 
+      ISBN: 0-201-88954-4</li>
+  <li>I.Pohl, Object-Oriented Programming Using C++, 2nd Edition, Addison 
+      Wesley, ISBN: 0-201-89550-1.</li>
+</ul>
+<br/>
+
+<a name="6."></a>
+<h2>6. Computing Environment Required by the Geant4 Toolkit</h2>
+<p>
+The Geant4 toolkit is available for a variety of operating systems:
+</p> 
+<ul>
+  <li>flavors of UNIX,</li>  
+  <li>Linux,</li>
+  <li>and Windows systems.</li> 
+</ul>
+<p>
+In order to link and build the program only two underlying software packages are mandatory:
+</p> 
+<ul>
+  <li>CLHEP (Class Library of High Energy Physics) and the</li> 
+  <li>STL (Standard Template Library for fundamental classes like C++ containers and strings).</li>
+</ul>
+<p>
+The Geant4 source code is available from the 
+<a href="http://cern.ch/geant4">Geant4 web pages</a>
+while CLHEP is available from the 
+<a target="_ext" href="http://cern.ch/clhep">CLHEP Home Page</a>.
+For details on setting up the computing environment see the
+<a href="../../../UsersGuides/InstallationGuide/html/index.html">Installation Guide</a>.
+</p>
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update"> 
+  <p>Last updated:
+  
+   03/23/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+ 
+</body>
+ 
+</html>
Index: trunk/Documentation/geant4/support/planned_features.shtml
===================================================================
--- trunk/Documentation/geant4/support/planned_features.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/planned_features.shtml	(revision 901)
@@ -0,0 +1,317 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
+<TITLE>Geant4: new planned features</TITLE>
+<LINK REL="shortcut icon" HREF="../images/g4.gif">
+<LINK REL="stylesheet" TYPE="text/css" HREF="../includes/geantstyle.css" />
+</HEAD>
+
+<BODY>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <a href="index.shtml">User Support</a> &gt;
+                Planned features<!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+    <H2>Planned developments for 2008</H2>
+
+<P>
+<I>Items in this list are related to <u>new developments</u> scheduled for the current year.<BR>
+   Improvements, fixes, studies and maintenance items are not mentioned here as part
+   of routine activity</I>
+</P>
+<P>
+NOTE: <I>Items marked with (*) may or may not be achieved in 2008.</I> 
+</P>
+
+<H3>Geometry</H3>
+<UL>
+<LI>Review usage of safety on exiting surfaces in navigator - <I>(1)</I></LI>
+<LI>Code review for selected CGS shapes - <I>(1)</I></LI>
+<LI>Revision of use of angular/radial tolerances in CSG solids - <I>(1)</I></LI>
+<LI>Field performance evaluation and tuning/benchmark - <I>(1)/(2)</I></LI>
+<LI>Extension of G4Region to local magnetic fields - <I>(2)</I></LI>
+<LI>Code review for magnetic field classes - <I>(2)</I></LI>
+<LI>Enhance interoperability of multiple navigators/geometries - <I>(2)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Hadronic Physics</H3>
+<UL>
+<LI>First implementation of DPMJET interface - <I>(1)</I></LI>
+<LI><TT>E, Q, S, B</TT> conserving model for nucleons and pions in RPG model - <I>(1)</I></LI>
+<LI>Extension of QMD model to 2-3 GeV/n interactions - <I>(1)</I></LI>
+<LI>New high precision elastic neutron model using G4ENDL (LLNL database) - <I>(1)</I></LI>
+<LI>Fully tuned diffuse elastic scattering - <I>(1)</I></LI>
+<LI>Complete validation of INCL/ABLA processes - <I>(1)</I></LI>
+<LI>Addition of JENDL high energy cross sections to G4NDL - <I>(1)</I></LI>
+<LI>Improved modeling of coherent hadron elastic scattering - <I>(1)/(2)</I></LI>
+<LI>Feasibility study for implementation of incident kaons in Binary cascade - <I>(1)/(2)</I></LI>
+<LI>Addition of Coulomb barrier to Bertini cascade - <I>(1)/(2)</I></LI>
+<LI>Cross-sections upgrade and class re-design for Bertini cascade - <I>(1)/(2)</I></LI>
+<LI>Validation of precompound/de-excitation against TARC data - <I>(1)/(2)</I></LI>
+<LI>Standardization of elastic cross section classes - <I>(1)/(2)</I></LI>
+<LI>Survey of available cross section data for charge-exchange - <I>(1)/(2)</I></LI>
+<LI>New extended example for use of hadronic models with cross sections only - <I>(1)/(2)</I></LI>
+<LI>Addition of ENDL (LLNL) data to G4NDL - <I>(2)</I></LI>
+<LI>Addition of capture, fission and inelastic to G4ENDL models - <I>(2)</I></LI>
+<LI>Addition of meson interactions to QMD model - <I>(2)</I></LI>
+<LI>Fully tuned RPG model - <I>(2)</I></LI>
+<LI>CHIPS code review - <I>(2)/(*)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Low-energy Electromagnetic physics</H3>
+<UL>
+<LI>Implementation of Doppler-broadening model according to the new Compton
+    design - <I>(1)</I></LI>
+<LI>PIXE: extension of existing model to L shell (protons) and
+    to alpha particles - <I>(1)</I></LI>
+<LI>Implementation of ICRU73-based ion model - <I>(2)</I></LI>
+<LI>New microdosimetry models - <I>(2)</I></LI>
+<LI>Design iteration for improved usability as interchangeable
+    w.r.t. Standard Electromagnetic implementations - <I>(2)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Materials, Generic Processes and Parameterisations</H3>
+<UL>
+<LI>Parallel geometry: review implementation - <I>(1)/(2)</I></LI>
+<LI>Process-based event biasing - <I>(2)</I></LI>
+<LI>Introduction of Reverse Monte Carlo technique - <I>(1)/(2)</I>
+    <UL>
+    <LI>Implementation of the reverse Monte Carlo method for e- dose
+        computation</LI>
+    <LI>Addition of continuous processes: reverse continuous gain of
+        energy by ionisation and Bremsstrahlung for <TT>e-</TT>,
+        reverse multiple-scattering for <TT>e-</TT></LI>
+    <LI>Addition of discrete processes: reverse discrete ionisation
+        for <TT>e-</TT>, reverse discrete Bremstrahlung, reverse
+        Compton scattering, reverse photo-electric effect</LI>
+    <LI>New example for rapid <TT>e-</TT> dose computation  based on
+        the use of the reverse MC method</LI>
+    </UL></LI>
+</UL>
+
+<P></P>
+
+<H3>Standard Electromagnetic physics & optical processes</H3>
+<UL>
+<LI>Validation and verification of EM physics
+    <UL>
+    <LI>Addition of extra scattering comparisons - <I>(1)</I></LI>
+    <LI>Addition of Bragg peak comparisons - <I>(1)</I></LI>
+    <LI>Addition of tests on vertex detector simulation - <I>(1)</I></LI>
+    <LI>Addition of test on LPM effect - <I>(1)</I></LI>
+    <LI>Addition of tests on ion straggling - <I>(2)</I></LI>
+    </UL></LI>
+<LI>Updates to ionisation processes
+    <UL>
+    <LI>Simulation of fluctuations per particle type - <I>(2)</I></LI>
+    <LI>Simulation of drift electrons in gaseous detectors - <I>(2)</I></LI>
+    </UL></LI>
+<LI>Multiple and single scattering
+    <UL>
+    <LI>Muon multiple scattering final release - <I>(1)</I></LI>
+    <LI>Hadron multiple scattering coherent with hadron diffuse model - <I>(2)</I></LI>
+    <LI>Integration of ion scattering model - <I>(2)</I>
+    </UL></LI>
+<LI>Optical photons physics
+    <UL>
+    <LI>New extended/optical example to exhibit transmission properties 
+        of optical fibers with circular and elliptical cross section - <I>(1)</I></LI>
+    <LI>Inclusion of <i>Mie</i> scattering as a new optical photon physics
+        process - <I>(2)</I></LI>
+    <LI>Extension to the <i>unified</i> surface model to have both specular
+        and diffuse components for the transmitted photons - <I>(2)</I></LI> 
+    <LI>Implementation of a more flexible micro facet sampling method for 
+        optical surfaces - <I>(2)</I></LI>
+    <LI>Modelling of optical transport in a volume that has different optical 
+        treatments on different sides - <I>(2)</I></LI>
+    </UL></LI>
+<LI>Simulation of Birks effects in different media - <I>(1)</I></LI>
+<LI>Review of the Bremsstrahlung models including LPM effect - <I>(1)</I></LI>
+<LI>Development of Bremsstrahlung and <TT>e+e-</TT> pair production processes
+    and models for pions and protons - <I>(1)</I></LI>
+<LI>Introduction of process sub-type - <I>(1)</I></LI>
+<LI>Introduction of cut in range for recoil - <I>(2)</I></LI>
+<LI>Introduction of variable density for medical applications - <I>(2)</I></LI>
+<LI>Update to Cerenkov process: limitation of the step in <TT>G4Cerenkov</TT>
+    when particle drops below the Cherenkov threshold - <I>(2)</I></LI>
+<LI>Implementation spin precession in magnetic field for polarised processes - <I>(2)</I></LI>
+<LI>Introduction of K-L shell X-rays in photo-electric process - <I>(2)</I></LI>
+<LI>Provision of physics list for medical and space physics - <I>(2)/(*)</I></LI>
+<LI>Development of a cross-section biasing variant - <I>(2)/(*)</I></LI>
+<LI>Access to cross-sections and mean-free-path - <I>(2)/(*)</I></LI>
+<LI>Extension of <TT>e+</TT> annihilation to hadrons : addition of <TT>3pi</TT>
+    and <TT>K+K-</TT> production - <I>(2)/(*)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Particles & Track</H3>
+<UL>
+<LI>Prototype implementation of tables of nuclei - <I>(1)/(2)</I></LI>
+<LI>Increase precision for tracking in time - <I>(1)/(2)</I></LI>
+<LI>Re-design particle-change for parallel world navigation - <I>(2)</I></LI>
+<LI>Review particle-change design for CPU optimization - <I>(2)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Persistency</H3>
+<UL>
+<LI>Full implementation of GDML writer - <I>(1)</I></LI>
+<LI>Complete GDML support for parameterised volumes and missing properties - <I>(1)</I></LI>
+<LI>GDML integration of stand-alone tool for CAD files to tessellated
+    geometry conversion - <I>(1)</I></LI>
+<LI>New module for importing ASCII format detector descriptions - <I>(2)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Run, Event & Detector Response</H3>
+<UL>
+<LI>Finalize inter-operability with parallel navigation - <I>(1)/(2)</I></LI>
+<LI>Introduce cylindrical mesh for command-based scoring - <I>(2)</I></LI>
+<LI>Prototype multi-core extension of Geant4 - <I>(2)/(*)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Tracking</H3>
+<UL>
+<LI>Redesign and implementation of Selective Verbosity - <I>(1)/(2)</I></LI>
+<LI>Investigating requirements on interaction snapshot and adding touchable
+    to secondaries - <I>(1)/(2)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>User and Category Interfaces</H3>
+<UL>
+<LI>New interface to Qt - <I>(1)</I></LI>
+<LI>GUI widgets modules using Tkinter for general use and
+    update of Geant4Py examples - <I>(1)/(2)</I></LI>
+<LI>Geant4 Web Service framework based on Geant4Py and CherryPy - <I>(1)/(2)</I></LI>
+</UL>
+ 
+<P></P>
+
+<H3>Visualisation and Graphics Representations</H3>
+<UL>
+<LI>Extend 2D drawing capabilities - <I>(1)</I></LI>
+<LI>Integrated visualization of field lines - <I>(1)/(2)</I></LI>
+<LI>Additional trajectory models and filters - <I>(1)/(2)</I></LI>
+<LI>Capture and handle <TT>Ctrl-C</TT> to return to idle prompt during visualization - <I>(1)/(2)</I></LI>
+<LI>OpenGL driver that makes PS without any graphics window - <I>(1)/(2)</I></LI>
+<LI>Full support for visualization of boolean shapes - <I>(2)/(*)</I></LI>
+<LI>Improved visualization tools for voxel geometries - <I>(2)/(*)</I></LI>
+<LI>Filtering of geometry according to attributes - <I>(2)/(*)</I></LI>
+<LI>Asymmetric scaling: support in more drivers (at least HepRepFile and DAWN) - <I>(2)/(*)</I></LI>
+<LI>Background color: support in more drivers (at least HepRepFile and DAWN) - <I>(2)/(*)</I></LI>
+<LI>Window location: support in more drivers (currently only in OGLIX and OGLSX) - <I>(2)/(*)</I></LI>
+<LI>2D and 3D text: support in more drivers (currently only in DAWN and OpenGL) - <I>(2)/(*)</I></LI>
+<LI>Smooth shading: support in more drivers - <I>(2)/(*)</I></LI>
+<LI>Label trajectories or hits with <TT>G4Atts</TT> - <I>(2)/(*)</I></LI>
+<LI>Control of auxiliary edges: support in more drivers - <I>(2)/(*)</I></LI>
+<LI>Enhance interoperability of the different visualization drivers - <I>(2)/(*)</I></LI>
+<LI>Support dynamic loading of visualization drivers - <I>(2)/(*)</I></LI>
+<LI>Web-based DAWN rendering service - <I>(2)/(*)</I></LI>
+<LI>Complete immediate mode for HepRep browsers such as HepRApp or FRED - <I>(2)/(*)</I></LI>
+<LI>Create HepRepFile to DAWNFile converter, and vice-versa - <I>(2)/(*)</I></LI>
+<LI>Hierarchical VRML (rather than current flat VRML) - <I>(2)/(*)</I></LI>
+</UL>
+
+<P></P>
+
+<H3>Advanced Examples</H3>
+<UL>
+<LI>New examples</I>
+    <UL>
+    <LI>Radiation-monitor - <I>(2)</I></LI>
+    <LI>Nanotechnology - <I>(2)</I></LI>
+    </UL></LI>
+<LI>Extension of xray_fluorescence to include new PIXE model - <I>(2)</I></LI>
+<LI>Extension of radioprotection to include new ion models - <I>(2)</I></LI>
+</UL>
+
+<HR>
+<H2>Deadlines</H2>
+<OL>
+<LI>First semester - <I>27 June 2008</I></LI>
+<LI>Second semester - <I>19 December 2008</I></LI>
+</OL>
+
+<!--end main page content --></td>
+</tr>
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <p>
+     First release: 22 February 2008<BR>
+     Last update: 28 February 2008
+  </p>
+</div>
+<!-- End footer -->
+
+</BODY>
+</HTML>
Index: trunk/Documentation/geant4/support/proc_mod_catalog/index.shtml
===================================================================
--- trunk/Documentation/geant4/support/proc_mod_catalog/index.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/proc_mod_catalog/index.shtml	(revision 901)
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Process/Model Catalog</title>
+<link rel="stylesheet" type="text/css" href="../../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../../index.shtml">Home</a> &gt; 
+                <a href="../index.shtml">User Support</a> &gt; 
+                    Process/Model Catalog<!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Related Links</h2>
+    <ul>
+      <li><a href="physics_lists/physicsLists.shtml">Reference Physics lists</a></li>
+      <li><a target="ext" href="http://cern.ch/geant4/G4UsersDocuments/UsersGuides/PhysicsReferenceManual/html/PhysicsReferenceManual.html">Physics Reference Manual</li>
+    <ul>
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+
+<h1>Model/Process Catalog</h1>
+
+The process/model catalog is a list of the processes, models and
+cross sections provided by the Geant4 toolkit for the building of
+physics lists.  It may be searched by <br/><br/>
+
+<a href="particles/"><b>Particle</b></a>: each particle entry lists all
+      the processes which may be assigned to it;
+<br/><br/>
+
+<a href="processes/"><b>Process</b></a>: each process entry gives an example
+      of how to invoke it, lists all the models and cross sections which may
+      be registered to it, and lists all particles to which the process may
+      be assigned;
+<br/><br/>
+
+<a href="models/"><b>Model</b></a>: each model entry gives an example
+      of how to invoke it, a list of the particles to which it applies, the
+      energy range within which the model should be used, and alternate
+      models, if available;
+<br/><br/>
+
+<a href="cross_sections/"><b>Cross section</b></a>: each cross section entry
+      lists the particles for which it is valid and gives an example for
+      how it can be added to the list of cross sections for a given process;
+<br/><br/>
+
+<a href="physics_lists/"><b>Physics list</b></a>: this part not completed
+      yet. Each physics list entry will list all the processes and models 
+      it uses.
+<br/><br/>
+
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   10/02/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/proc_mod_catalog/physics_lists/physicsLists.shtml
===================================================================
--- trunk/Documentation/geant4/support/proc_mod_catalog/physics_lists/physicsLists.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/proc_mod_catalog/physics_lists/physicsLists.shtml	(revision 901)
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Physics Lists</title>
+<link rel="stylesheet" type="text/css" href="../../../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../../../index.shtml">Home</a> &gt; 
+                <a href="../../index.shtml">User Support</a> &gt; 
+                <a href="../index.shtml">Process/model catalog</a> &gt;
+                 Physics Lists<!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <h1>Physics Lists</h1>
+
+<h3>Introduction</h3>
+
+Given the toolkit nature of Geant4, a choice of physics processes is
+available.  The choices offer either different detail of physics modeling or 
+different physics modeling descriptions. It is the choice of the user to decide
+how much detail in the physics modeling is needed, weighing the detail against
+cpu performance.  A user can construct his own physics list, or use one of the
+physics lists offered below, or modify any of the offered physics lists. 
+
+<h3><a href="referencePL.shtml">Reference Physics Lists</a></h3>
+
+Please see the <a href="referencePL.shtml">detailed description</a> for a
+full description of all reference physics lists including our current understanding of 
+physics performance.
+
+The reference physics lists are part of the Geant4 source code and are 
+distributed as an integral part of Geant4 from the 
+<a href="../../download.shtml">Geant4 download area</a>.
+  
+Physics lists include those originally named 'educated guess physics lists'.
+Nearly all these lists are suitable for all primary particles and for a wide range of energies.
+There are four families of lists:
+<ul>
+<li><b> LHEP</b> or parameterised modeling of hadronic interactions.
+<li> <b>QGS</b>, or lists based on a modeling using Quark Gluon String model for high 
+energy hadronic interactions of protons, neutrons, pions, and Kaons.
+<li> <b>FTF</b>, or lists based on a modeling using the FTF model for high energy
+hadronic interactions of protons, neutrons, pions, and Kaons; FTF is  FRITIOF like
+string model.
+<li> several more specialised lists.
+</ul>
+All of the lists in the first three families share components to attach certain types of processes to
+groups of particles. The classes of components are:
+<ul>
+<li>electromagnetic interactions for 
+all particles and electromagnetic processes for leptons and gammas.
+Three different
+settings are offered
+<ul>
+<li>the default setting using standard parameters tuned for best 
+    physics performance
+<li>using parameters optimised for better CPU performance at the cost slightly less 
+    precise physics. This is identified in physics lists by the extension 
+    <b>_EMV</b>.
+<li>a set of experimental parameters, used by physics lists with the extension
+    <b>_EMX</b>
+</ul>
+<li>Inelastic interactions for hadrons
+<li>Elastic scattering of hadrons off nuclei
+<li>Capture at rest for negative charged hadrons and muons
+<li>Decay of unstable particles in flight and at rest
+<li>specialised treatment of low energy neutrons ( < 20MeV)
+</ul> 
+
+
+<h3>Physics Lists in Geant4 examples</h3>
+
+<h3>Other Physics Lists</h3>
+
+
+<!---  -----------      end of normal body               -------------------->
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   07 Jul 2006
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/source_archive.shtml
===================================================================
--- trunk/Documentation/geant4/support/source_archive.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/source_archive.shtml	(revision 901)
@@ -0,0 +1,1008 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ 
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+<title>Source Archive</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+ 
+<body>
+ 
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+        <a href="index.shtml">User Support</a> &gt; 
+        <a href="download.shtml">Download</a> &gt;
+        Archive <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+ 
+<h1>Archive of Previous Releases<br></h1>
+<P>
+<b><i>
+This page contains only previous releases of Geant4.
+The current release is available from the
+<a href="download.shtml">Download</a> page.
+</i></b><br>
+The Geant4 source code is freely available.  Please read the
+<a href="http://cern.ch/geant4/license/">licence conditions</a>
+before downloading or using any release.
+
+<h3>Geant4 9.0<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 5 February 2008 (patch-02)</small></small></h3>
+Please read the <a href="ReleaseNotes4.9.0.html"><b>Release Notes</b></a> before
+downloading or using this release.<br>
+The patches below contains bug fixes to release 9.0, we suggest you to
+download and apply the latest patch for release 9.0
+(see the <a href="Patch4.9.0-2.txt">additional notes</a>), or download the
+complete source with the patches applied; in any case, it is required to apply
+a full rebuild of the libraries.</p>
+<ul>
+<li><b>Source files</b> (including patch-02),
+      please choose the archive best suited to your system and archiving tool:
+    <ul>
+    <li><a href="source/geant4.9.0.p02.gtar.gz">GNU or Linux tar format,
+        compressed using gzip</a> (16703673 bytes), gunzip,
+        then unpack using <a href="http://www.gnu.org">GNU</a> tar.</li>
+    <li><a href="source/geant4.9.0.p02.tar.gz">Unix tar format,
+        compressed  using gzip</a>(16682630 bytes), gunzip,
+        then unpack using tar, not GNU tar!</li>
+    <li><a href="source/geant4_9_0_p02.zip">ZIP format</a>
+        (26594876 bytes), unpack using e.g. WinZip.</li>
+    </ul></li>
+</ul>
+<ul>
+<li><b>Data files</b>
+    <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+    specific, optional physics processes some of the following files 
+    are required.  The file format is compatible with Unix, GNU,
+    and Windows utilities.
+    <ul>
+    <LI><A HREF="source/G4NDL.3.11.tar.gz">Neutron data files</a>
+        <u>with</u> thermal cross sections (version 3.11, 52202177 bytes)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (12465281 bytes), if thermal cross-sections are not needed].</LI>
+    <LI><A HREF="source/G4EMLOW.4.3.tar.gz">data files</A>
+        (8014893 bytes) for low energy electromagnetic processes (version 4.3).</LI>
+    <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7505082 bytes) for photon evaporation (version 2.0).</LI>
+    <LI><a href="source/G4RadioactiveDecay.3.2.tar.gz">data files</A>
+        (761070 bytes) for radio-active decay hadronic processes (version 3.2).</LI>
+    </ul></li>
+</ul>
+<ul>
+<li><a name="libraries"></a><b>Libraries</b> compiled with Geant4
+    default settings and optimization turned on. Please choose according
+    to your system/compiler:
+    <ul>
+    <li>Scientific Linux CERN 4 (SLC4, based on Redhat Linux Enterprise 4), compiled using
+        <a href="source/lib4.9.0.p02/Linux-g++3.4.6-SLC4.tar.gz">gcc
+        3.4.6</a> (14158479 bytes).</li>
+    <li>SUN (SunOS 5.8), compiled using
+        <a href="source/lib4.9.0.p02/SUN-CC5.5-Solaris8.tar.gz">CC
+        5.5</a> (39360014 bytes).</li>
+    <li>Windows XP, compiled using <a href="source/lib4.9.0.p02/WIN32-VC71-XP.zip">VC++
+        8.0</a> and native STL (53063574 bytes).</li>
+    </ul></li>
+<li>Libraries have been built using
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" target="_blank">
+    CLHEP version 2.0.3.1</a>.  Please refer to the 
+    <a href="ReleaseNotes4.9.0.html"><b>Release Notes</b></a> for platform 
+    specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.9.0 is placed, and kernel libraries must be
+recompiled <u>from scratch</u>.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch02"></a> <b>Patch-02 (5 February 2008)</b> for Geant4.9.0 contains
+    a collection of various corrections, see the
+    <a href="Patch4.9.0-2.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.9.0.p02.gtar.gz">GNU tar</a> file
+        (1126809 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4.9.0.p02.tar.gz">Unix tar</a> file
+        (1126761 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4_9_0_p02.zip">ZIP</a> file
+        (1426645 bytes).
+    </ul></li>
+<li><a name="patch01"></a> <b>Patch-01 (28 August 2007)</b> for Geant4.9.0
+    contains a collection of various corrections, see the
+    <a href="Patch4.9.0-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+    <li> <a href="source/patch_geant4.9.0.p01.gtar.gz">GNU tar</a> file
+         (874516 bytes) (including tar on Linux), compressed using gzip;</li>
+    <li> <a href="source/patch_geant4.9.0.p01.tar.gz">Unix tar</a> file
+         (874619 bytes), compressed using gzip;</li>
+    <li> <a href="source/patch_geant4_9_0_p01.zip">ZIP</a> file
+         (1073403 bytes).</li>
+    </ul></li>
+</ul>
+
+<HR>
+<P></P>
+
+<h3>Geant4 8.3<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 5 February 2008 (patch-02)</small></small></h3>
+Please read the <a href="ReleaseNotes4.8.3.html"><b>Release Notes</b></a> before
+downloading or using this release.<br>
+The patches below contains bug fixes to release 8.3, we suggest you to
+download and apply the latest patch for release 8.3
+(see the <a href="Patch4.8.3-2.txt">additional notes</a>), or download the
+complete source with the patch applied; in any case, it is required to apply
+a full rebuild of the libraries.</p>
+<ul>
+<li><b>Source files</b> (including patch-02),
+      please choose the archive best suited to your system and archiving tool:
+    <ul>
+    <li><a href="source/geant4.8.3.p02.gtar.gz">GNU or Linux tar format,
+        compressed using gzip</a> (16517739 bytes), gunzip,
+        then unpack using <a href="http://www.gnu.org">GNU</a> tar.</li>
+    <li><a href="source/geant4.8.3.p02.tar.gz">Unix tar format,
+        compressed  using gzip</a>(16502114 bytes), gunzip,
+        then unpack using tar, not GNU tar!</li>
+    <li><a href="source/geant4_8_3_p02.zip">ZIP format</a>
+        (26330960 bytes), unpack using e.g. WinZip.</li>
+    </ul></li>
+</ul>
+<ul>
+<li><b>Data files</b>
+    <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+    specific, optional physics processes some of the following files 
+    are required.  The file format is compatible with Unix, GNU,
+    and Windows utilities.
+    <ul>
+    <LI><A HREF="source/G4NDL.3.10.tar.gz">Neutron data files</a>
+        <u>with</u> thermal cross sections (version 3.10, 49809986 bytes)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (12465281 bytes), if thermal cross-sections are not needed].</LI>
+    <LI><A HREF="source/G4EMLOW.4.2.tar.gz">data files</A>
+        (7987112 bytes) for low energy electromagnetic processes (version 4.2).</LI>
+    <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7505082 bytes) for photon evaporation (version 2.0).</LI>
+    <LI><a href="source/G4RadioactiveDecay.3.1.tar.gz">data files</A>
+        (730190 bytes) for radio-active decay hadronic processes (version 3.1).</LI>
+    </ul></li>
+</ul>
+<ul>
+<li><a name="libraries"></a><b>Libraries</b> compiled with Geant4
+    default settings and optimization turned on. Please choose according
+    to your system/compiler:
+    <ul>
+    <li>Scientific Linux CERN 4 (SLC4, based on Redhat Linux Enterprise 4), compiled using
+        <a href="source/lib4.8.3.p02/Linux-g++3.4.6-SLC4.tar.gz">gcc
+        3.4.6</a> (14101046 bytes).</li>
+    <li>SUN (SunOS 5.8), compiled using
+        <a href="source/lib4.8.3.p02/SUN-CC5.5-Solaris8.tar.gz">CC
+        5.5</a> (39444672 bytes).</li>
+    <li>Windows XP, compiled using <a href="source/lib4.8.3.p02/WIN32-VC71-XP.zip">VC++
+        7.1 .NET</a> and native STL (49279816 bytes).</li>
+    </ul></li>
+<li>Libraries have been built using
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" target="_blank">
+    CLHEP version 2.0.3.1</a>.  Please refer to the 
+    <a href="ReleaseNotes4.8.3.html"><b>Release Notes</b></a> for platform 
+    specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.8.3 is placed, and kernel libraries must be
+recompiled <u>from scratch</u>.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch02"></a> <b>Patch-02 (5 February 2008)</b> for Geant4.8.3 contains
+    a collection of various corrections, see the
+    <a href="Patch4.8.3-2.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.8.3.p02.gtar.gz">GNU tar</a> file
+        (442107 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4.8.3.p02.tar.gz">Unix tar</a> file
+        (441985 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4_8_3_p02.zip">ZIP</a> file
+        (559011 bytes).
+    </ul></li>
+<li><a name="patch01"></a> <b>Patch-01 (17 August 2007)</b> for Geant4.8.3
+    contains a collection of various corrections, see the
+    <a href="Patch4.8.3-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+    <li> <a href="source/patch_geant4.8.3.p01.gtar.gz">GNU tar</a> file
+         (151958 bytes) (including tar on Linux), compressed using gzip;</li>
+    <li> <a href="source/patch_geant4.8.3.p01.tar.gz">Unix tar</a> file
+         (151941 bytes), compressed using gzip;</li>
+    <li> <a href="source/patch_geant4_8_3_p01.zip">ZIP</a> file
+         (163591 bytes).</li>
+    </ul></li>
+</ul>
+
+<HR>
+<P></P>
+
+<h3>Geant4 8.2<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 23 February 2007 (patch-01)</small></small></h3>
+Please read the <a href="ReleaseNotes4.8.2.html"><b>Release Notes</b></a> before
+downloading or using this release.<br>
+The patch below contains bug fixes to release 8.2, we suggest you to
+download and apply the patch for release 8.2
+(see the <a href="Patch4.8.2-1.txt">additional notes</a>), or download the
+complete source with the patch applied; in any case, it is required to apply
+a full rebuild of the libraries.</p>
+<ul>
+<li><b>Source files</b> (including patch-01),
+      please choose the archive best suited to your system and archiving tool
+    <ul>
+    <li><a href="source/geant4.8.2.p01.gtar.gz">GNU or Linux tar format,
+        compressed using gzip</a> (17238648 bytes), gunzip,
+        then unpack using <a href="http://www.gnu.org">GNU</a> tar.</li>
+    <li><a href="source/geant4.8.2.p01.tar.gz">Unix tar format,
+        compressed  using gzip</a>(17218999 bytes), gunzip,
+        then unpack using tar, not GNU tar!</li>
+    <li><a href="source/geant4_8_2_p01.zip">ZIP format</a>
+        (26938517 bytes), unpack using e.g. WinZip.</li>
+    </ul></li>
+</ul>
+<ul>
+<li><b>Data files</b>
+    <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+    specific, optional physics processes some of the following files 
+    are required.  The file format is compatible with Unix, GNU,
+    and Windows utilities.
+    <ul>
+    <LI><A HREF="source/G4NDL.3.10.tar.gz">Neutron data files</a>
+        <u>with</u> thermal cross sections (version 3.10, 49809986 bytes)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (12465281 bytes), if thermal cross-sections are not needed].</LI>
+    <LI><A HREF="source/G4EMLOW.4.2.tar.gz">data files</A>
+        (7987112 bytes) for low energy electromagnetic processes (version 4.2).</LI>
+    <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7505082 bytes) for photon evaporation (version 2.0).</LI>
+    <LI><a href="source/G4RadioactiveDecay.3.1.tar.gz">data files</A>
+        (730190 bytes) for radio-active decay hadronic processes (version 3.1).</LI>
+    </ul></li>
+</ul>
+<ul>
+<li><a name="libraries"></a><b>Libraries</b> compiled with Geant4
+    default settings and optimization turned on. Please choose according
+    to your system/compiler:
+    <ul>
+    <li>Scientific Linux CERN 4 (SLC4, based on Redhat Linux Enterprise 4), compiled using
+        <a href="source/lib4.8.2.p01/Linux-g++3.4.6-SLC4.tar.gz">gcc
+        3.4.6</a> (13904782 bytes).</li>
+    <li>SUN (SunOS 5.8), compiled using
+        <a href="source/lib4.8.2.p01/SUN-CC5.5-Solaris8.tar.gz">CC
+        5.5</a> (39049675 bytes).</li>
+    <li>Windows XP, compiled using <a href="source/lib4.8.2.p01/WIN32-VC71-XP.zip">VC++
+        7.1 .NET</a> and native STL (48829844 bytes).</li>
+    </ul></li>
+<li>Libraries have been built using
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" target="_blank">
+    CLHEP version 2.0.3.1</a>.  Please refer to the 
+    <a href="ReleaseNotes4.8.2.html"><b>Release Notes</b></a> for platform 
+    specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.8.2 is placed, and kernel libraries must be
+recompiled <u>from scratch</u>.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch01"></a> <b>Patch-01 (23 February 2007)</b> for Geant4.8.2
+    contains a collection of various corrections, see the
+    <a href="Patch4.8.2-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+    <li> <a href="source/patch_geant4.8.2.p01.gtar.gz">GNU tar</a> file
+         (755986 bytes) (including tar on Linux), compressed using gzip;</li>
+    <li> <a href="source/patch_geant4.8.2.p01.tar.gz">Unix tar</a> file
+         (755893 bytes), compressed using gzip;</li>
+    <li> <a href="source/patch_geant4_8_2_p01.zip">ZIP</a> file
+         (992550 bytes).</li>
+    </ul></li>
+</ul>
+
+<HR>
+<P></P>
+
+<h2>Geant4 8.1<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 10 November 2006 (patch-02)</small></small></h2>
+<p> 
+Please read the <a href="ReleaseNotes4.8.1.html"><b>Release Notes</b></a>
+before downloading or using this release.<br>
+The patches below contains bug fixes to release 8.1, we suggest you to
+download and apply the patches for release 8.1, or download the complete
+source with the patches applied.</p>
+<ul>
+  <li><b>Source files</b> (including patch-02),
+  please choose the archive best suited to your system and archiving tool
+  <ul>
+  <li><a href="source/geant4.8.1.p02.gtar.gz">GNU or Linux tar format,
+    compressed using gzip</a> (17297988 bytes ), gunzip,
+    then unpack using <a href="http://www.gnu.org">GNU</a> tar.</li>
+  <li><a href="source/geant4.8.1.p02.tar.gz">Unix tar format,
+    compressed  using gzip</a> (17280715 bytes), gunzip,
+    then unpack using tar, not GNU tar!</li>
+  <li><a href="source/geant4_8_1_p02.zip">ZIP format</a>
+    (26652297 bytes), unpack using e.g. WinZip.</li>
+   </ul></li>
+</ul>
+<ul>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <ul>
+      <LI><A HREF="source/G4NDL.3.9.tar.gz">data files</A>
+        (42977579 bytes) for high-precision neutron processes (version 3.9)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (12467113 bytes), if thermal cross-sections are not needed].</LI>
+      <LI><A HREF="source/G4EMLOW.4.0.tar.gz">data files</A>
+        (7758155 bytes) for low energy electromagnetic processes (version 4.0).</LI>
+      <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7505082 bytes) for photon evaporation (version 2.0).</LI>
+      <LI><a href="source/RadiativeDecay.3.0.tar.gz">data files</A>
+        (659944 bytes) for radio-active decay hadronic processes (version 3.0).</LI>
+      <LI><a href="source/G4ELASTIC.1.1.tar.gz">data files</A>
+        (84308145 bytes) for high-energy elastic scattering processes (version 1.1).</LI>
+    </ul></li>
+</ul>
+<ul>
+  <li><a name="libraries"></a><b>Libraries</b> compiled with Geant4
+  default settings, optimisation turned on. Please choose your system/compiler:</li>
+  <ul>
+    <li>Scientific Linux CERN 3 (SLC3, based on Redhat Linux Enterprise 3), compiled using
+      <a href="source/lib4.8.1.p02/Linux-g++3.2.3-SLC3.tar.gz">gcc
+      3.2.3</a> and native STL (13833648 bytes). </li>
+    <li>SUN (SunOS 5.8), compiled using
+      <a href="source/lib4.8.1.p02/SUN-CC5.5-Solaris8.tar.gz">CC
+      5.5</a> and native STL (37215347 bytes). </li>
+    <li>Windows XP, compiled using
+      <a href="source/lib4.8.1.p02/WIN32-VC71-XP.zip">VC++
+      7.1 .NET</a> and native STL (46390359 bytes). </li>
+  </ul></li>
+  <li>Libraries have been built using
+    <a href="http://cern.ch/clhep" TARGET="_blank">CLHEP</a> <b>version 1.9.2.3</b>;
+    please refer to the <a href="ReleaseNotes4.8.1.html"><b>Release
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.8.1 is placed, and kernel libraries must be recompiled.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch02"></a> <b>Patch-02 (10 November 2006)</b> for Geant4.8.1 contains
+    a collection of various corrections, see the
+    <a href="Patch4.8.1-2.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.8.1.p02.gtar.gz">GNU tar</a> file
+        (712636 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4.8.1.p02.tar.gz">Unix tar</a> file
+        (712629 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4_8_1_p02.zip">ZIP</a> file
+        (906822 bytes).
+    </ul></li>
+<li><a name="patch01"></a> <b>Patch-01 (27 July 2006)</b> for Geant4.8.1 contains
+    a collection of various corrections, see the
+    <a href="Patch4.8.1-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.8.1.p01.gtar.gz">GNU tar</a> file
+        (595053 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4.8.1.p01.tar.gz">Unix tar</a> file
+        (595168 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4_8_1_p01.zip">ZIP</a> file
+        (743762 bytes).
+    </ul></li>
+</ul>
+
+<HR>
+<P></P>
+
+<h2>Geant4 8.0<br>
+  <small><small>&nbsp;&nbsp;&nbsp;released 10 February 2006 (patch-01)</small></small></h2>
+<P>
+Please read the <a href="ReleaseNotes4.8.0.html"><b>Release Notes</b></a>
+before downloading or using this release.<br>
+The patches below contains bug fixes to
+release 8.0, we suggest you to download and apply the patches for release 8.0,
+or download the complete source with the patches applied.
+<ul>
+  <li><b>Source files</b> (including patch-01),
+    please choose the archive best for your system and archiving tool
+    <ul>
+      <li><a href="source/geant4.8.0.p01.tar.gz">Unix tar format,
+        compressed using gzip</a> (14246765 bytes), gunzip,
+        then unpack using tar, not GNU tar! <br/>
+        <Font size=-2>(Note for SunOS: On SunOS older than 5.6 unpacking this
+        tar file will result in incorrect file names, please use the GNU tar file
+        instead)</FONT></li>
+      <li><a href="source/geant4.8.0.p01.gtar.gz">GNU tar format,
+        compressed using gzip</a> (14254509 bytes), gunzip,
+        then unpack using <a target="ext" HREF="http://www.gnu.org">GNU</a> tar</li>
+      <li><a href="source/geant4_8_0_p01.zip">ZIP format</a>
+        (21692045 bytes), unpack using e.g. WinZip.</li>
+    </ul></li>
+</ul>
+<ul>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <ul>
+      <LI><A HREF="source/G4NDL.3.8.tar.gz">data files</A>
+        (32071447 bytes) for high-precision neutron processes (version 3.8)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (12467113 bytes), if thermal cross-sections are not needed].</LI>
+      <LI><A HREF="source/G4EMLOW.3.0.tar.gz">data files</A>
+        (7739156 bytes) for low energy electromagnetic processes (version 3.0).</LI>
+      <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7505082 bytes) for photon evaporation (version 2.0).</LI>
+      <LI><a href="source/RadiativeDecay.3.0.tar.gz">data files</A>
+        (659944 bytes) for radio-active decay hadronic processes (version 3.0).</LI>
+      <LI><a href="source/G4ELASTIC.1.1.tar.gz">data files</A>
+        (84308145 bytes) for high-energy elastic scattering processes (version 1.1).</LI>
+    </ul></li>
+</ul>
+<ul>
+  <li><a name="libraries"></a><b>Libraries</b> compiled with Geant4
+  default settings, optimisation turned on. Please choose your system/compiler:</li>
+  <ul>
+    <li>Scientific Linux CERN 3 (SLC3, based on Redhat Linux Enterprise 3), compiled using
+      <a href="source/lib4.8.0.p01/Linux-g++3.2.3-SLC3.tar.gz">gcc
+      3.2.3</a> and native STL (13234160 bytes). </li>
+    <li>SUN (SunOS 5.8), compiled using
+      <a href="source/lib4.8.0.p01/SUN-CC5.4-Solaris8.tar.gz">CC
+      5.4 (patch 111685-07)</a> and native STL (34308176 bytes). </li>
+    <li>Windows XP, compiled using
+      <a href="source/lib4.8.0.p01/WIN32-VC71-XP.zip">VC++
+      7.1 .NET</a> and native STL (43128202 bytes). </li>
+  </ul></li>
+  <li>Libraries have been built using
+    <a href="http://cern.ch/clhep" TARGET="_blank">CLHEP</a> <b>version 1.9.2.2</b>;
+    please refer to the <a href="ReleaseNotes4.8.0.html"><b>Release
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.8.0 is placed, and kernel libraries must be recompiled.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch01"></a> <b>Patch-01 (10 February 2006)</b> for Geant4.8.0 contains
+    a collection of various corrections, see the
+    <a href="Patch4.8.0-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.8.0.p01.tar.gz">Unix tar</a> file
+        (460954 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4.8.0.p01.gtar.gz">GNU tar</a> file
+        (460924 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4_8_0_p01.zip">ZIP</a> file
+        (615077 bytes).
+    </ul></li>
+</ul>
+
+<HR>
+<P></P>
+
+<h2>Release Geant4 7.1<br/>
+  <small><small>&nbsp;&nbsp;&nbsp;Released 25 October 2005 (patch-01)</small></small></h2>
+<P>
+Please read the
+<a href="ReleaseNotes4.7.1.html"><b>Release Notes</b></a> before
+downloading or using this release.<br>
+The patches below contains bug fixes to
+release 7.1, we suggest you to download and apply the patches for release 7.1,
+or download the complete source with the patches applied.
+<ul>
+  <li><b>Source files</b> (including patch-01),
+    please choose the archive best for your system and archiving tool
+    <ul>
+      <li><a href="source/geant4.7.1.p01.tar.gz">Unix tar format,
+        compressed using gzip</a> (13.39 Mb, 14045623 bytes), gunzip,
+        then unpack using tar, not GNU tar! <br/>
+        <Font size=-2>(Note for SunOS: On SunOS older than 5.6 unpacking this
+        tar file will result in incorrect file names, please use the GNU tar file
+        instead)</FONT></li>
+      <li><a href="source/geant4.7.1.p01.gtar.gz">GNU tar format,
+        compressed using gzip</a> (13.40 Mb, 14058728 bytes), gunzip,
+        then unpack using <a target="ext" HREF="http://www.gnu.org">GNU</a> tar</li>
+      <li><a href="source/geant4_7_1_p01.zip">ZIP format</a>
+        (20.21 Mb, 21190137 bytes), unpack using e.g. WinZip.</li>
+    </ul></li>
+</ul>
+<ul>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <ul>
+      <LI><A HREF="source/G4NDL.3.7.tar.gz">data files</A>
+        (26.04 Mb, 27307980 bytes) for high-precision neutron processes (version 3.7)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (11.89 Mb, 12467113 bytes), if thermal cross-sections are not needed].</LI>
+      <LI><A HREF="source/G4EMLOW.3.0.tar.gz">data files</A>
+        (7.38 Mb, 7739156 bytes) for low energy electromagnetic processes (version 3.0).</LI>
+      <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7.16 Mb, 7505082 bytes) for photon evaporation (version 2.0).</LI>
+      <LI><a href="source/RadiativeDecay.3.0.tar.gz">data files</A>
+        (0.63 Mb, 659944 bytes) for radio-active decay hadronic processes (version 3.0).</LI>
+      <LI><a href="source/G4ELASTIC.1.1.tar.gz">data files</A>
+        (80.40 Mb, 84308145 bytes) for high-energy elastic scattering processes (version 1.1).</LI>
+    </ul></li>
+</ul>
+<ul>
+  <li><a name="libraries"></a><b>Libraries</b> compiled with Geant4
+  default settings, optimisation turned on. Please choose your system/compiler:</li>
+  <ul>
+    <li>Scientific Linux CERN 3 (SLC3, based on Redhat Linux Enterprise 3), compiled using
+      <a href="source/lib4.7.1.p01/Linux-g++3.2.3-SLC3.tar.gz">gcc
+      3.2.3</a> and native STL (12.12 Mb, 12713243 bytes). </li>
+    <li>SUN (SunOS 5.8), compiled using
+      <a href="source/lib4.7.1.p01/SUN-CC5.4-Solaris8.tar.gz">CC
+      5.4 (patch 111685-07)</a> and native STL (31.71 Mb, 33249213 bytes). </li>
+  </ul></li>
+  <li>Libraries have been built using
+    <a href="http://cern.ch/clhep" TARGET="_blank">CLHEP</a> <b>version 1.9.2.1</b>;
+    please refer to the <a href="ReleaseNotes4.7.1.html"><b>Release
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.7.1 is placed, and kernel libraries must be recompiled.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch01"></a> <b>Patch-01 (25 October 2005)</b> for Geant4.7.1 contains
+    a collection of various corrections, see the
+    <a href="Patch4.7.1-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.7.1.p01.tar.gz">Unix tar</a> file
+        (0.53 Mb, 552406 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4.7.1.p01.gtar.gz">GNU tar</a> file
+        (0.53 Mb, 552500 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4_7_1_p01.zip">ZIP</a> file
+        (0.68 Mb, 715938 bytes).
+    </ul></li>
+</ul>
+ 
+<HR>
+<P></P>
+ 
+<h2>Release Geant4 7.0<br/>
+  <small><small>&nbsp;&nbsp;&nbsp;Released 23 February 2005 (patch-01)</small></small></h2>
+<P>
+Please read the
+<A href="ReleaseNotes4.7.0.html"><B>Release Notes</B></A> before
+downloading or using this release.<br>
+The patches below contains bug fixes to
+release 7.0, we suggest you to download and apply the patches for release 7.0,
+or download the complete source with the patches applied.
+<UL>
+  <ul>
+  </ul>
+  <LI><b>Source files</b> (including patch-01),
+    please choose the archive best for your system and archiving tool
+    <UL>
+      <LI><A HREF="source/geant4.7.0.p01.tar.gz">Unix tar format,
+        compressed using gzip</A> (13.12 Mb, 13762165 bytes), gunzip,
+        then unpack using tar, not GNU tar! <br>
+        <Font size=-2>(Note for SunOS: On SunOS older than 5.6 unpacking this
+        tar file will result in incorrect file names, please use the GNU tar file
+        instead)</FONT></LI>
+      <LI><A HREF="source/geant4.7.0.p01.gtar.gz">GNU tar format,
+        compressed using gzip</A> (13.14 Mb, 13777253 bytes), gunzip,
+        then unpack using <A target="ext" HREF="http://www.gnu.org">GNU</A> tar</LI>
+      <LI><A HREF="source/geant4_7_0_p01.zip">ZIP format</A>
+        (19.92 Mb, 20884661 bytes), unpack using e.g. WinZip.</LI>
+    </UL>
+</UL>
+<UL>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <UL>
+      <LI><A HREF="source/G4NDL.3.7.tar.gz">G4NDL version 3.7</A> neutron
+        data files (26.04 Mb, 27307980 bytes)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (11.89 Mb, 12467113 bytes), if thermal cross-sections are not needed].</LI>
+      <LI><A HREF="source/G4EMLOW.2.3.tar.gz">data files</A>
+        (7.28 Mb, 7632251 bytes) for low energy electromagnetic processes (version 2.3).</LI>
+      <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7.16 Mb, 7505082 bytes) for photon evaporation.</LI>
+      <LI><a href="source/RadiativeDecay.3.0.tar.gz">data files</A>
+        (0.63 Mb, 659944 bytes) for radio-active decay hadronic processes.</LI>
+      <LI><a href="source/Elastic.1.0.tar.gz">data files</A>
+        (80.32 Mb, 84213984 bytes) for high-energy elastic scattering processes.</LI>
+    </UL>
+</UL>
+<UL>
+  <LI><a name="libraries"></a><b>Libraries</b>compiled with Geant4
+  default settings, optimisation turned on; please choose your system/compiler.</li>
+  <UL>
+    <LI>Scientific Linux CERN 3 (SLC3, based on Redhat Linux Enterprise 3), compiled using
+      <A href="source/lib4.7.0.p01/Linux-g++3.2.3-SLC3.tar.gz">gcc
+      3.2.3</A> and native STL (11.47 Mb, 12028504 bytes). </LI>
+    <LI>SUN (SunOS 5.8), compiled using
+      <a href="source/lib4.7.0.p01/SUN-CC5.4-Solaris8.tar.gz">CC
+      5.4 (patch 111685-07)</A> and native STL (28.55 Mb, 29932308 bytes). </LI>
+  </UL></LI>
+  <LI>Libraries have been built using
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" TARGET="_blank">CLHEP
+    version 1.8.1.0</a>; please refer to the <a href="ReleaseNotes4.7.0.html"><b>Release
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</UL>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation
+area where the directory geant4.7.0 is placed, and kernel libraries must be recompiled.
+<br>
+For instructions on how to unpack, see the notes above for the original source code.
+<ul>
+<li><a name="patch01"></a> <b>Patch-01 (23 February 2005)</b> for Geant4.7.0 contains
+    a collection of various corrections, see the
+    <a href="Patch4.7.0-1.txt">description</a>
+    before downloading the patch itself in the correct format:
+    <ul>
+      <li> <a href="source/patch_geant4.7.0.p01.tar.gz">Unix tar</a> file
+        (0.79 Mb, 827033 bytes), compressed using gzip;
+      <li> <a href="source/patch_geant4.7.0.p01.gtar.gz">GNU tar</a> file
+        (0.79 Mb, 827005 bytes) (including tar on Linux), compressed using gzip;
+      <li> <a href="source/patch_geant4_7_0_p01.zip">ZIP</a> file
+        (0.93 Mb, 971833 bytes).
+    </ul></li>
+</ul>
+ 
+<hr/>
+
+<h2>Release Geant4 6.2<br/>
+  <small><small>&nbsp;&nbsp;&nbsp;Released 26 October 2004 (patch-02)</small></small></h2>
+
+Please read the
+<A href="ReleaseNotes4.6.2.html"><B>Release Notes</B></A> before
+downloading or using this release.<br>
+The patches below contains bug fixes to
+release 6.2, we suggest you to download and apply the patches for release 6.2,
+or download the complete source with the patches applied.
+<ul>
+  <li><b>Source files</b> (including patch-02),
+    please choose the archive best for your system and archiving tool 
+    <ul>
+      <li><a href="source/geant4.6.2.p02.tar.gz">Unix tar format,
+        compressed using gzip</a> (11.66 Mb, 12223958 bytes), gunzip, 
+        then unpack using tar, not GNU tar! <br/>
+        <Font size=-2>(Note for SunOS: On SunOS older than 5.6 unpacking this 
+        tar file will result in incorrect file names, please use the GNU tar file 
+        instead)</FONT></li>
+      <li><a href="source/geant4.6.2.p02.gtar.gz">GNU tar format,
+        compressed using gzip</a> (11.67 Mb, 12239003 bytes), gunzip, then unpack 
+        using <a target="ext" href="http://www.gnu.org">GNU</a> tar</li>
+      <li><a href="source/geant4_6_2_p02.zip">ZIP format</a>
+        (18.29 Mb, 19177797 bytes), unpack using e.g. WinZip.</li>
+    </ul></li>
+</ul>
+<UL>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <ul>
+      <li><A HREF="source/G4NDL.3.7.tar.gz">G4NDL version 3.7</A> neutron
+        data files (26.04 Mb, 27307980 bytes)<br/>
+        [<a href="source/G4NDL.0.2.tar.gz">version 0.2</a>
+        (11.89 Mb, 12467113 bytes), if thermal cross-sections are not needed].</li>
+      <li><a href="source/G4EMLOW.2.3.tar.gz">data files</a>
+        (7.28 Mb, 7632251 bytes) for low energy electromagnetic processes (version 2.3).</li>
+      <li><a href="source/PhotonEvaporation.2.0.tar.gz">data files</a>
+        (7.16 Mb, 7505082 bytes) for photon evaporation.</li>
+      <li><a href="source/RadiativeDecay.3.0.tar.gz">data files</a>
+        (0.63 Mb, 661155 bytes) for radio-active decay hadronic processes.</li>
+      <li><a href="source/Elastic.1.0.tar.gz">data files</a>
+        (80.32 Mb, 84213984 bytes) for high-energy elastic scattering processes.</li>
+    </ul></li>
+</ul>
+<ul>
+  <li><a name="libraries"></a><b>Libraries</b> (including patch-02) compiled with Geant4
+  default settings, optimisation turned on; please choose your system/compiler.</li>
+  <ul>
+    <li>Linux for Redhat 7.3, compiled using 
+      <a href="source/lib4.6.2.p02/Linux-g++2.95.2-RH73.tar.gz">gcc 
+      2.95.2</a> and native STL (21.06 Mb, 22086009 bytes). </li>
+    <li>Linux for Redhat 7.3, compiled using 
+      <a href="source/lib4.6.2.p02/Linux-g++3.2.3-RH73.tar.gz">gcc 
+      3.2.3</a> and native STL (10.72 Mb, 11244645 bytes). </li>
+    <li>SUN (SunOS 5.8), compiled using 
+      <a href="source/lib4.6.2.p02/SUN-CC5.4-Solaris8.tar.gz">CC 
+      5.4 (patch 111685-07)</A> and native STL (27.86 Mb, 29211038 bytes). </li>
+  </ul></li>
+  <li>Libraries have been built using 
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" target="_blank">CLHEP 
+    version 1.8.1.0</a>; please refer to the <a href="ReleaseNotes4.6.2.html"><b>Release 
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</ul>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4.</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation 
+area where the directory geant4.6.2 is placed, and kernel libraries must be recompiled. 
+<br/>
+For instructions on how to unpack, see the notes above for the original source code. 
+<ul>
+<li><a name="patch02"></a> <b>Patch-02 (26 October 2004)</b> for Geant4.6.2 contains 
+    a collection of various corrections, including <i>Patch-01</i>. See the 
+    <a href="Patch4.6.2-2.txt">description</a> 
+    before downloading the patch itself in the correct format: 
+    <ul>
+      <li> <a href="source/patch_geant4.6.2.p02.tar.gz">Unix tar</a> file
+        (0.57 Mb, 597428 bytes), compressed using gzip; 
+      <li> <a href="source/patch_geant4.6.2.p02.gtar.gz">GNU tar</a> file
+        (0.57 Mb, 597346 bytes) (including tar on Linux), compressed using gzip; 
+      <li> <a href="source/patch_geant4_6_2_p02.zip">ZIP</a> file
+        (0.74 Mb, 775087 bytes). 
+    </ul></li>
+<li><a name="patch01"></a> <b>Patch-01 (27 July 2004)</b> for Geant4.6.2 contains 
+    a collection of various corrections, see the 
+    <a href="Patch4.6.2-1.txt">description</a> 
+    before downloading the patch itself in the correct format: 
+    <ul>
+      <li> <a href="source/patch_geant4.6.2.p01.tar.gz">Unix tar</a> file
+        (0.28 Mb, 296364 bytes), compressed using gzip; 
+      <li> <a href="source/patch_geant4.6.2.p01.gtar.gz">GNU tar</a> file
+        (0.28 Mb, 296445 bytes) (including tar on Linux), compressed using gzip; 
+      <li> <a href="source/patch_geant4_6_2_p01.zip">ZIP</a> file
+        (0.33 Mb, 347407 bytes). 
+    </ul></li>
+</ul>
+
+<hr/>
+
+<h2>Release Geant4 6.1<br/>
+  <small><small>&nbsp;&nbsp;&nbsp;Released 25 March 2004</small></small></h2>
+<P> Please read the
+  <A href="ReleaseNotes4.6.1.html"><B>Release Notes</B></A> before 
+  downloading or using this release.
+<UL>
+  <ul>
+  </ul>
+  <LI><b>Source files</b>,
+    please choose the archive best for your system and archiving tool 
+    <UL>
+      <LI><A HREF="source/geant4.6.1.tar.gz">Unix tar format,
+        compressed using gzip</A> (10.56 Mb, 11070940 bytes), gunzip, 
+        then unpack using tar, not GNU tar! <br>
+        <Font size=-2>(Note for SunOS: On SunOS older than 5.6 unpacking this 
+        tar file will result in incorrect file names, please use the GNU tar file 
+        instead)</FONT></LI>
+      <LI><A HREF="source/geant4.6.1.gtar.gz">GNU tar format,
+        compressed using gzip</A> (10.57 Mb, 11078815 bytes), gunzip, 
+        then unpack using <A target="ext" HREF="http://www.gnu.org">GNU</A> tar</LI>
+      <LI><A HREF="source/geant4_6_1.zip">ZIP format</A>
+        (16.64 Mb, 17443098 bytes), unpack using e.g. WinZip.</LI>
+    </UL>
+</UL>
+<UL>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <UL>
+      <LI><A HREF="source/G4NDL.3.7.tar.gz">G4NDL version 3.7</A> neutron
+        data files (26.04 Mb, 27307980 bytes)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (11.89 Mb, 12467113 bytes), if thermal cross-sections are not needed].</LI>
+      <LI><A HREF="source/G4EMLOW.2.3.tar.gz">data files</A>
+        (7.28 Mb, 7632251 bytes) for low energy electromagnetic processes (version 2.3).</LI>
+      <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7.16 Mb, 7505082 bytes) for photon evaporation.</LI>
+      <LI><a href="source/RadiativeDecay.3.0.tar.gz">data files</A>
+        (0.63 Mb, 661155 bytes) for radio-active decay hadronic processes.</LI>
+    </UL>
+</UL>
+<UL>
+  <LI><a name="libraries"></a><b>Libraries</b> compiled with Geant4 default
+  settings, optimisation turned on; please choose your system/compiler.</li>
+  <UL>
+    <LI>Linux for Redhat 7.3, compiled using 
+      <A href="source/lib4.6.1/Linux-g++2.95.2-RH73.tar.gz">gcc 
+      2.95.2</A> and native STL (19.90 Mb, 20867701 bytes). </LI>
+    <LI>Linux for Redhat 7.3, compiled using 
+      <a href="source/lib4.6.1/Linux-g++3.2-RH73.tar.gz">gcc 
+      3.2</A> and native STL (9.76 Mb, 10231955 bytes). </LI>
+    <LI>SUN (SunOS 5.8), compiled using 
+      <a href="source/lib4.6.1/SUN-CC5.4-Solaris8.tar.gz">CC 
+      5.4 (patch 111685-07)</A> and native STL (28.10 Mb, 29465732 bytes). </LI>
+  </UL><BR>
+  <li>Libraries have been built using 
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" TARGET="_blank">CLHEP 
+    version 1.8.1.0</a>; please refer to the <a href="ReleaseNotes4.6.1.html"><b>Release 
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</ul>
+
+<HR>
+<P></P>
+
+<H3>Release Geant4 6.0<BR>
+  <small><small>&nbsp;&nbsp;&nbsp;Released 11 February 2004 (patch-01)</small></small></H3>
+<P> Please read the
+  <A href="ReleaseNotes4.6.0.html"><B>Release Notes</B></A> before 
+  downloading or using this release.<br>
+The patch below contains bug fixes to
+release 6.0, we suggest you to download and apply the patch for release 6.0,
+or download the complete source with the patch applied.
+<UL>
+  <ul>
+  </ul>
+  <LI><b>Source files</b>(including Patch-01 of 11 February 2004),
+    please choose the archive best for your system and archiving tool 
+    <UL>
+      <LI><A HREF="source/geant4.6.0.p01.tar.gz">Unix tar format,
+        compressed using gzip</A> (11.40 Mb, 11955060 bytes), gunzip, 
+        then unpack using tar, not GNU tar! <br>
+        <Font size=-2>(Note for SunOS: On SunOS older than 5.6 unpacking this 
+        tar file will result in incorrect file names, please use the GNU tar file 
+        instead)</FONT></LI>
+      <LI><A HREF="source/geant4.6.0.p01.gtar.gz">GNU tar format,
+        compressed using gzip</A> (11.42 Mb, 11970923 bytes), gunzip, 
+        then unpack using <A target="ext" HREF="http://www.gnu.org">GNU</A> tar</LI>
+      <LI><A HREF="source/geant4_6_0_p01.zip">ZIP format</A>
+        (17.51 Mb, 18364182 bytes), unpack using e.g. WinZip.</LI>
+    </UL>
+</UL>
+<UL>
+  <li><b>Data files</b>
+      <i><small><A HREF="datafiles_origin.shtml">(*)</A></small></i> for
+      specific (optional) physics processes (format compatible with Unix, GNU,
+      and Windows utilities):
+    <UL>
+      <LI><A HREF="source/G4NDL.3.7.tar.gz">G4NDL version 3.7</A> neutron
+        data files (26.04 Mb, 27307980 bytes)<br>
+        [<A HREF="source/G4NDL.0.2.tar.gz">version 0.2</A>
+        (11.89 Mb, 12467113 bytes), if thermal cross-sections are not needed].</LI>
+      <LI><A HREF="source/G4EMLOW.2.3.tar.gz">data files</A>
+        (7.28 Mb, 7632251 bytes) for low energy electromagnetic processes (version 2.3).</LI>
+      <LI><a href="source/PhotonEvaporation.2.0.tar.gz">data files</A>
+        (7.16 Mb, 7505082 bytes) for photon evaporation.</LI>
+      <LI><a href="source/RadiativeDecay.3.0.tar.gz">data files</A>
+        (0.63 Mb, 661155 bytes) for radio-active decay hadronic processes.</LI>
+    </UL>
+</UL>
+<UL>
+  <LI><a name="libraries"></a><b>Libraries</b> compiled with Geant4 default
+  settings, optimisation turned on; please choose your system/compiler.</li>
+  <UL>
+    <LI>Linux for Redhat 7.3, compiled using 
+      <A href="source/lib4.6.0.p01/Linux-g++2.95.2-RH73.tar.gz">gcc 
+      2.95.2</A> and native STL (18.47 Mb, 19370271 bytes). </LI>
+    <LI>Linux for Redhat 7.3, compiled using 
+      <a href="source/lib4.6.0.p01/Linux-g++3.2-RH73.tar.gz">gcc 
+      3.2</A> and native STL (9.15 Mb, 9597066 bytes). </LI>
+    <LI>SUN (SunOS 5.8), compiled using 
+      <a href="source/lib4.6.0.p01/SUN-CC5.4-Solaris8.tar.gz">CC 
+      5.4 (patch 111685-07)</A> and native STL (26.56 Mb, 27849624 bytes). </LI>
+  </UL><BR>
+  <li>Libraries have been built using 
+    <a href="http://cern.ch/clhep/DISTRIBUTION/clhep.html" TARGET="_blank">CLHEP 
+    version 1.8.1.0</a>; please refer to the <a href="ReleaseNotes4.6.0.html"><b>Release 
+    Notes</b></a> for platform specific notes on CLHEP.</li>
+</UL>
+<p>
+<b><a name="patches"></a>Patches for the above release of GEANT4.</b>
+</p>
+To install the patch, the archive should be unpacked in the Geant4 installation 
+area where the directory geant4.6.0 is placed, and kernel libraries must be recompiled. 
+<br>
+For instructions on how to unpack, see the notes above for the original source code. 
+<ul>
+<li><a name="patch01"></a> <b>Patch-01 (11 February 2004)</b> for Geant4.6.0 contains 
+    a collection of various corrections, see the 
+    <a href="Patch4.6.0-1.txt">description</a> 
+    before downloading the patch itself in the correct format: 
+    <ul>
+      <li> <a href="source/patch_geant4.6.0.p01.tar.gz">Unix tar</a> file
+        (0.88 Mb, 924104 bytes), compressed using gzip; 
+      <li> <a href="source/patch_geant4.6.0.p01.gtar.gz">GNU tar</a> file
+        (0.88 Mb, 924078 bytes) (including tar on Linux), compressed using gzip; 
+      <li> <a href="source/patch_geant4_6_0_p01.zip">ZIP</a> file
+        (1.04 Mb, 1094836 bytes). 
+    </ul></li>
+</ul>
+
+<HR>
+<P>
+</P>
+The full history of Geant4 releases from the prototype, alpha, and beta versions
+is available for information from the
+<A target="ext" HREF="http://pcitapiww.cern.ch/asd/geant/rd44.html">RD44 pages</A>.
+<P></P>
+
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update"> 
+  <p>Last updated:
+  
+   02/05/2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+ 
+</body>
+</html>
Index: trunk/Documentation/geant4/support/subscribe.shtml
===================================================================
--- trunk/Documentation/geant4/support/subscribe.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/subscribe.shtml	(revision 901)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4 announcements mailing list subscription form</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <a href="index.shtml">User Support</a> &gt;
+                    Mailing List Subscription
+    <!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+    <h2>Geant4 announcements mailing list subscription form <br/></h2>
+
+<script language="Javascript">
+
+<!--
+
+function notifierwin(url,name)
+
+{
+
+  window.open (url,name,'width=400,height=150,toolbar=no,status=no,directories=no,menuebar=no');
+
+//  window.open (url,name);
+
+}
+
+// -->
+
+</script>
+
+<p>
+geant4-announce@cern.ch is a moderated mailing list used by the Geant4 
+collaboration to inform the user community about releases, etc.  Thus in 
+general there is a low rate of traffic. We welcome subscriptions to this 
+list, and you may also 
+<a href="https://mmm.cern.ch/public/archive-list/g/geant4-announce/" target="_blank">browse the mailing list archive</a> 
+without a subscription to the mailing list.  For discussions about Geant4, we 
+offer an open 
+<a href="http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index" target="_blank">Geant4 user forum</a>.
+</p>
+<p>
+In order to complete the subscription we must know your name and e-mail 
+address, and we would like to have some information on how you are using
+Geant4. In case of problems with the form, please contact the mailing 
+<a href="mailto:geant4-announce-admin@cern.ch">list administrator.</a>
+</p>
+
+<form action="http://geant4.cern.ch/support/subscribe.php"
+       method="post" target="response_win" 
+       onSubmit="notifierwin('about:blank','response_win')">
+
+  <table border=0>
+
+  <tr>
+    <td><b>Email-address:</b></td>
+
+    <td><input type="text" name="email" size="20" maxlength="100"></td>
+  </tr>
+
+  <tr>
+    <td><b>Name:</b></td>
+
+    <td><input type="text" name="name" size="20" maxlength="100"></td>
+  </tr>
+
+  <tr>
+    <td><b>Main use of Geant4:</b><br/><font SIZE=-1><i>(optional)</i></font></td>
+    <td><input type="text" name="use" size="50" maxlength="250"></td>
+  </tr>
+
+  <tr><td colspan=2 align=center>
+
+    <input type="submit" name="Submit" value="Submit">
+
+    <input type="reset" name="Clear" value="Clear">
+
+  </td></tr>
+
+  </table>
+
+
+</form>
+
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">   
+  <p>Last updated:
+  
+   09/05/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+
+</body>
+
+</html>
+
Index: trunk/Documentation/geant4/support/training.shtml
===================================================================
--- trunk/Documentation/geant4/support/training.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/training.shtml	(revision 901)
@@ -0,0 +1,228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4 Training and Training Material</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+         <a href="index.shtml">User Support</a> &gt;
+         Training Courses<!-- end bread crumb --></td>
+    <td id="related" rowspan="2">
+    <h2>Upcoming Training Courses</h2>
+    <ul>
+     <li>None at the moment...</li>
+    </ul> 
+    </td>
+  </tr>
+  <tr>
+    <td id="main">
+    <!--start main page content -->
+
+<ul>
+  <li>Geant4 training
+     <a href="http://www.ge.infn.it/geant4/training/TrainingRequirements.ps">User
+     Requirements Document</a></li>
+</ul>
+
+<h2>School courses</h2>
+<ul>
+<li>Installation procedures and configuration
+    (<a href="http://cern.ch/geant4/collaboration/working_groups/softman/training/installation.pdf">PDF</a>)
+    - <i>Last update: 21 October 2005</i></li>
+<li>Detector description (materials and geometry setup)
+    (<a href="http://cern.ch/geant4/collaboration/working_groups/geometry/training/geo_unit.pdf">PDF</a>)
+    - <i>Last update: 21 October 2005</i></li>
+</ul>
+
+<h2>Material from previous seminars and training courses</h2>
+<ul>
+<li><a href="http://geant4.in2p3.fr/2008/">Ecole Geant4 2008</a>,
+    LAPP, Annecy (F), 18-28 November 2008.</li>
+<li><a href="http://rsicc.ornl.gov/rsiccnew/geant4.htm">Geant4 Training Course</a>,
+    Oak Ridge National Laboratory, Oak Ridge, Tennessee (USA), 19-23 May 2008.</li>
+<li><a href="http://www-geant4.kek.jp/g4users/g4tut07/">Geant4 Tutorial @ Japan 2007</a> (in Japanese),
+    RCNS, Tohoku university (Japan), 17-19 October 2007.</li>
+<li><a href="http://geant4.in2p3.fr/2007/">Ecole Geant4 2007</a>,
+    Ministere de la Recherche et des Nouvelles Technologies, Paris (France), 4-8 June 2007.</li>
+<li><a href="http://geant4.slac.stanford.edu/SLACTutorial07/">Geant4 SLAC Tutorial</a>,
+    SLAC, Stanford (USA), 14-18 May 2007.</li>
+<li><a href="http://www.ge.infn.it/geant4/events/siena2006/geant4course.html">Short Geant4 course</a> at
+    the <a href="http://www.bo.infn.it/sminiato/siena06.html">10<sup>th</sup> Topical Seminar
+    on Innovative Particle and Radiation Detectors</a>,
+    Siena (Italy), 5-6 October 2006.</li>
+<li><a href="http://www.medphys.mcgill.ca/~geant4/">Geant4 tutorial course</a>,
+    McGill University, Montreal (Canada), 25-28 September 2006.</li>
+<li><a href="training/coimbra_2006/g4exercises.pdf">Geant4 exercises</a>,
+    at the <a href="http://pollux.fis.uc.pt/isrp10/workshop/">Monte Carlo Techniques Workshop</a>,
+    Coimbra (Portugal), 15-17 September 2006.</li>
+<li><a href="http://conferences.jlab.org/glab">4-day Geant4 tutorial</a>,
+    Jefferson Lab, Virginia (USA), 22-25 May 2006.</li>
+<li><a href="http://www.ge.infn.it/geant4/events/vienna_may2006/geant4course.html">Geant4 training course</a>,
+    Austrian Academy of Sciences, Vienna (Austria), 18-20 May 2006.</li>
+<li><a href="http://geant4.slac.stanford.edu/SLACTutorial06">4-day Geant4 Tutorial</a>,
+    SLAC, Stanford (USA), 7-10 March 2006.</li>
+<li><a href="http://www.ge.infn.it/geant4/events/pisa_jan2006/geant4course.html">Geant4 short course</a>,
+    INFN Pisa, Pisa (Italy), 12 January 2006.</li>
+<li>Geant4 course at the 
+    <a href="http://geant4.in2p3.fr/2005/">Geant4 Users Conference</a>, Bordeaux (France), 
+    3-5 November 2005. </li>
+<li><a href="http://www.hip.fi/geant4/workshop05/">2nd Finnish Geant4 Workshop</a>, HIP,
+     Helsinki (Finland), 6-7 June 2005.</li>
+<li><a href="training/cern_tutorial_2005">Geant4 Users' Tutorial</a>,
+    CERN - Geneva, 25-27 May 2005.</li>
+<li><a href="http://geant4.esa.int/events/g4tsi05/">Geant4 Tutorial for Space Industry</a> at
+    ESA/ESTEC, Noordwijk (The Netherlands), 3 March 2005. </li>
+<li><a href="http://www.ge.infn.it/geant4/events/nss2004/geant4course.html">1-Day
+     Geant4 course</a> at the
+     <a href="http://www.nss-mic.org/2004">2004 IEEE NSS/MIC/SNPS/RTSD Conference</a>,
+     Rome (Italy), 17-21 October 2004.</li>
+<li><a href="http://csc.web.cern.ch/CSC/2004/This_year_school/Programme/Physics_Comp-Track/Physics_Comp_overview.asp">2004 CERN School of Computing</a>,
+     Vico Equense (Italy), 29 August - 11 September 2004.</li>
+<li><a href="http://www.ge.infn.it/geant4/events/alghero2004/geant4course.html">Geant4
+     course</a>, Alghero (Italy), 7-11 June 2004.</li>
+<li><a href="http://geant4.slac.stanford.edu/SLACTutorial04">Geant4
+     tutorial course at SLAC</a>, Stanford (USA), 8-10 March 2004.</li>
+<li> CERN Academic training:
+     <a href="http://agenda.cern.ch/fullAgenda.php?ida=a036555">
+     Physics of Shower Simulation at LHC, at the Example of Geant4</a>
+     CERN - Geneva, 1-4 March 2004.</li>
+<li> <a href="http://isde.vanderbilt.edu/geant4.htm">Geant4 tutorial course
+     at Vanderbilt University</a>, Nashville (USA), 12-14 January, 2004.</li>
+<li> <a href="http://conferences.fnal.gov/g4tutorial">Geant4 tutorial course
+     at Fermilab</a>, Illinois (USA), 27-29 October, 2003.</li>
+<li> <a href="http://www.ge.infn.it/geant4/events/nss2003/geant4course.html">1-Day
+     Geant4 course</a> at the
+     <a href="http://www.nss-mic.org/2003">2003 IEEE NSS/MIC/RTSD Conference</a>
+     in Portland, Oregon, 19-25 October, 2003.</li>
+<li> <a href="docs/DESY2003/desy03.html">Geant4 tutorial at DESY</a>,
+     Hamburg (Germany), 30 September - 2 October, 2003.</li>
+<li> <a href="http://hikwww2.fzk.de/hik/orga/ges/Schule.html">GridKa Computing School</a>,
+     Karlsruhe (Germany), 29 September - 1 October, 2003.
+     <ul>
+     <li>Lectures:
+         <a href="docs/GridKa2003/gridka.ppt">Lecture 1</a>(PPT),
+         <a href="docs/GridKa2003/GridKa.ps">Lecture 2</a>(PS).
+     </li>
+     </ul>
+</li>
+<li> <a href="http://www.triumf.ca/geant4-03/agenda.html">
+     Geant4 TRIUMF Lunchtime Tutorials</a>, TRIUMF, 2-5 September 2003
+</li>
+<li> <a href="training/users_workshop_2002/">Geant4 Users' Workshop</a>,
+     CERN, 11-15 November 2002 </li>
+<li> <a href="http://www.ge.infn.it/geant4/events/salamanca.html">Geant4 School</a>,
+     Salamanca (Spain), 15-19 July 2002 </li>
+<li> <a href="http://www.ge.infn.it/geant4/events/lngs.html">Geant4 and Anaphe mini-Workshop</a>,
+     Gran Sasso Laboratory (Italy), 2 July 2002 </li>
+<li> <a href="http://geant4.slac.stanford.edu/UsersWorkshop">Geant4 Users' Workshop</a>,
+     SLAC (Stanford, USA), 18-22 February 2002 </li>
+<li> <a href="http://webcast.cern.ch/Projects/WebLectureArchive/atlas/umich/geant4/2001">Introduction
+     to Geant4</a> (A.Dell'Acqua), CERN - Geneva, February 2001 </li>
+<li> <a href="http://erpc1.naruto-u.ac.jp/~geant4/Guitools">Introduction to
+     Geant4 Java GUI Tools: GAG, GGE, GPE</a> (H.Yoshida), KEK Geant4 Workshop, Tokyo, December 2000. </li>
+<li> Geant4 at the <a href="http://csc.web.cern.ch/CSC/2000">CERN School of Computing</a>,
+     Marathon (Greece), September 2000.
+     <ul>
+     <li><a href="docs/CSC2000/CSCOOD/index.htm">Object-Oriented Design &amp; Implementation</a>,
+         (<a href="docs/CSC2000/CSCOOD/CSC_OOD.ps">ps</a>) - M.Asai </li>
+     <li><a href="docs/CSC2000/CSCG4/index.htm">Introduction to Geant4</a>,
+         (<a href="docs/CSC2000/CSCG4/CSCG4.ps">ps</a>) - M.Asai </li>
+     <li><a href="docs/CSC2000/G4Exercises.html">Exercises: Geant4 &amp; JAS</a>
+         - M.Asai, G.Cosmo, T.Johnson, M.Verderi </li>
+     </ul></li>
+<li> Introduction to Geant4:<a href="http://www.ge.infn.it/geant4/talks/Gualino/Gualino1/index.htm">
+     Part 1</a>, <a href="http://www.ge.infn.it/geant4/talks/Gualino/Gualino2/index.htm">
+     Part 2</a>, <a href="http://www.ge.infn.it/geant4/talks/Gualino/Gualino3/index.htm">
+     Part 3</a>, <a href="http://www.ge.infn.it/geant4/talks/Gualino/Gualino4/index.htm">
+     Part 4</a>, <a href="http://www.ge.infn.it/geant4/talks/Gualino/Gualino5/index.htm">
+     Part 5</a>, <a href="http://www.ge.infn.it/geant4/talks/Gualino/Gualino6/index.htm">
+     Part 6</a> (M.G.Pia),<br/>
+     Lectures at the "10th Detectors School", Villa Gualino, Torino, February 2000 </li>
+<li> <a href="http://www.ge.infn.it/geant4/talks/Seminar">Geant4
+     OO Simulation Toolkit</a>
+     and its <a href="http://www.ge.infn.it/geant4/talks/SeminarResults">applications</a>,
+     (M.G.Pia)Introductory Seminar, 1999-2000</li>
+<li> <a href="http://www.ge.infn.it/geant4/support/G4fisica">Lectures
+     on Geant4 physics</a> (M.G.Pia), Lecture notes for a CNTC Course on Geant4, Bologna,
+     December 1999.</li>
+</ul>
+ 
+<h2>More material</h2>
+<ul>
+<li><a href="http://www.ge.infn.it/geant4/training/">INFN Geant4 training web page</a></li>
+</ul>
+ 
+
+    <!--end main page content --></td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   02 Dec 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/userdocuments.shtml
===================================================================
--- trunk/Documentation/geant4/support/userdocuments.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/userdocuments.shtml	(revision 901)
@@ -0,0 +1,317 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Geant4: User Documentation</title>
+<link rel="stylesheet" type="text/css" href="../includes/geantstyle.css" />
+</head>
+
+<body>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<table border="0" cellpadding="4" cellspacing="0" width="100%">
+  <tr>
+    <td id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt; 
+        <a href="index.shtml">User 
+        Support</a> &gt; User Documentation<!-- end bread crumb --></td>
+  </tr>
+  <tr>
+    <td id="main">
+
+
+<!-- ********************************* User Documentation ********************************** -->
+    <h1>User Documentation</h1>
+
+    <h2>Geant4 9.1<br />
+       <small><small>&nbsp;&nbsp;Release 14 December 2007</small></small>
+    </h2>
+
+        <p>Welcome to the Geant4 User&#39;s Documents page. 
+        This page gives you an overview of all available documents which are created 
+        and maintained by the Geant4 international collaboration.</p>
+        <p>GEANT4 is a toolkit for both full and fast Monte Carlo simulation of 
+        detectors in High Energy Physics. It is also designed to take into account 
+        the requirements of space and cosmic ray applications, nuclear, heavy ion 
+        and radiation computations, and medical applications. </p>
+        <p>The following document gives you a more complete introduction to Geant4.
+        </p>
+
+<!-- ***** Introduction to Geant4 ***** -->
+        <ul>
+          <li>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/IntroductionToGeant4/html/index.html">
+          Introduction to Geant4</a>&nbsp;
+          <font size="-1">[
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/IntroductionToGeant4/fo/BookIntroToGeant4.pdf">pdf version</a>
+          ]</font>
+          </li>
+        </ul>
+        <p>For information of changes in User&#39;s Documents since the last release, please 
+        see the following note. </p>
+
+<!-- ***** Change History ***** -->
+        <ul>
+          <li>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html">
+          Changes in User&#39;s Documents since the last release</a>&nbsp;
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html">
+          <img border="0" src="images/update.gif" width="45" height="11" alt="update!" />
+          </a>
+          </li>
+        </ul>
+        <p>You can search for the all Geant4 User&#39;s Documents containing the word you 
+        specified. </p>
+        <ul>
+          <li>Searching: Key in a string in the following 
+          field and hit the return key
+          <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+            <input type="hidden" value="No" name="SubSearch" />
+            <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+            <!-- input name="TemplateFile" type="hidden" value="searchresults.html"
+--><input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+            <!-- "Referer" value, below, must not have a filename.html at the end of
+it... --><input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+            <input type="hidden" value="cern" name="qc" />
+            <input type="hidden" value="cern" name="col" />
+            <input size="14" name="qt1" />
+            <a href="http://wwwsearch.cern.ch:8765/help/">Tips</a>
+          </form>
+          <!-- #SEARCHRESULTS# --></li>
+        </ul>
+                  <p class="returntotop"><a href="#top">-- top --</a></p>
+
+
+<!-- ********************************* User's Guide ********************************** -->
+        <h2>User&#39;s Guides</h2>
+        The following four documents comprise a complete 
+        set of user&#39;s manuals for the Geant4 toolkit. They contain the information 
+        necessary to build a simulation at the novice or advanced level, and to 
+        make improvements in the toolkit itself.
+        <dl>
+
+<!-- ***** Installation Guide ***** -->
+          <dt>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/index.html">Installation Guide: For setting up Geant4 in your computing environment</a>&nbsp;
+          <font size="-1">[
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/fo/BookInstalGuide.pdf">pdf version</a>
+          ]</font>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html">
+          <img border="0" src="images/update.gif" width="45" height="11" alt="update!" />
+          </a>
+          </dt>
+          <dd>We strongly recommend installing the Geant4 toolkit under your computing 
+          environment before starting to read the following user&#39;s guides. You will 
+          gain much more from the user guides if you can check things out with a 
+          working version while you are reading them. This installation guide instructs 
+          you in the setting up of the Geant4 toolkit on your computer. <br />
+          </dd>
+          <dd>
+          [Old Versions]
+          <ul>
+          <li>
+          Version 9.0:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/BackupVersions/V9.0/html/index.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/BackupVersions/V9.0/fo/BookInstalGuide.pdf">pdf</a></li>
+          <li>
+          Version 8.3:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/BackupVersions/V8.3/html/index.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/BackupVersions/V8.3/fo/BookInstalGuide.pdf">pdf</a></li>
+          </ul>
+          </dd>
+
+<!-- ***** ForApplicationDeveloper Guide ***** -->
+          <dt>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/index.html">User&#39;s Guide: For Application Developers</a>&nbsp;
+          <font size="-1">[
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/fo/BookForAppliDev.pdf">pdf version</a>
+          ]</font>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html">
+          <img border="0" src="images/update.gif" width="45" height="11" alt="update!" />
+          </a> 
+          </dt>
+          <dd>If you are new to Geant4, we recommend that you read this document first. 
+          The first part of the document provides a step-by-step tutorial in the 
+          use of Geant4; this is for a novice user. The second part describes the 
+          usage of the toolkit for practical applications, with a lot of example 
+          codes. After reading this part, you will be able to start to write a detector 
+          simulation program for most applications/experiments. The third part is 
+          for those who want to make more advanced use of the toolkit. <br />
+          </dd>
+          <dd>
+          [Old Versions]
+          <ul>
+          <li>
+          Version 9.0:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/BackupVersions/V9.0/html/index.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/BackupVersions/V9.0/fo/BookForAppliDev.pdf">pdf</a></li>
+          <li>
+          Version 8.3:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/BackupVersions/V8.3/html/index.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/BackupVersions/V8.3/fo/BookForAppliDev.pdf">pdf</a></li>
+          </ul>
+          </dd>
+
+<!-- ***** ForToolkitDeveloper Guide ***** -->
+          <dt>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/html/index.html">User&#39;s Guide: For Toolkit Developers </a>&nbsp;
+          <font size="-1">[
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/fo/BookForToolDev.pdf">pdf version</a>
+          ]</font>
+          </dt>
+          <dd>This document is for those who want to contribute to the extension of 
+          the functionality to the Geant4 toolkit - for example, to add a new physics 
+          process, to add a new particle, etc. It starts with the explanation of 
+          the object-oriented analysis and design performed by the original toolkit 
+          developers. Understanding this design is mandatory for a new toolkit developer. 
+          Then guidance on how to extend the functionality of each class category 
+          is given. <br />
+          </dd>
+          <dd>
+          [Old Versions]
+          <ul>
+          <li>
+          Version 9.0:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/BackupVersions/V9.0/html//index.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/BackupVersions/V9.0/fo/BookForToolDev.pdf">pdf</a></li>
+          <li>
+          Version 8.3:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/BackupVersions/V8.3/html//index.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForToolkitDeveloper/BackupVersions/V8.3/fo/BookForToolDev.pdf">pdf</a></li>
+          </ul> 
+          </dd>
+
+<!-- ***** PhysicsReference Manual ***** -->
+          <dt>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/html/index.html">Physics Reference Manual</a>&nbsp;
+          <font size="-1">[
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/fo/PhysicsReferenceManual.pdf">pdf version</a>
+          ]</font>
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ChangesHistory/ChangesHistory.html">
+          <img border="0" src="images/update.gif" width="45" height="11" alt="update!" />
+          </a> 
+          </dt>
+          <dd>This is a detailed description of the physics interactions provided in 
+          the Geant4 toolkit. The theory, model or parameterization of each interaction 
+          is discussed.<br />
+          </dd>
+          <dd>The Physics Reference Manual contains gaps in documentation which correspond 
+          to un-implemented interactions. There are also a few sections in which 
+          documentation is slight. Improvements in these sections are expected by 
+          the next release. 
+          </dd>
+          <dd>
+          [Old Versions]
+          <ul>
+          <li>
+          Version 9.0:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/BackupVersions/V9.0/html/PhysicsReferenceManual.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/BackupVersions/V9.0/fo/PhysicsReferenceManual.pdf">pdf</a></li>
+          <li>
+          Version 8.3:
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/BackupVersions/V8.3/html/PhysicsReferenceManual.html">html</a>,
+          <a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/BackupVersions/V8.3/fo/PhysicsReferenceManual.pdf">pdf</a></li>
+          </ul>
+          </dd>
+
+<!-- ***** SoftwareReference Manual ***** -->
+
+          <dt><a href="http://geant4.cern.ch/bin/SRM/G4GenDoc.csh?flag=1">Software Reference Manual</a>&nbsp;
+          <img border="0" src="images/update.gif" width="45" height="11" alt="update!" />
+          </dt>
+          <dd>This is a detailed description of the definitions of classes and their 
+          public methods in the toolkit. Sometimes it will take a time to get the 
+          view. Please be patient. <br />(Printed Version: Not available)
+          </dd>
+
+    </dl>
+ <p class="returntotop"><a href="#top">-- top --</a></p>
+
+
+<!-- ******************************* Contribution from Users  **************************** -->
+        <h2>Contributions from Users</h2>
+        <p>To make Geant4 a more powerful and reliable 
+        detector simulation toolkit, all levels of contributions from you are essential.
+        </p>
+<dl>
+
+<!-- ***** BugReport and Fixes ***** -->
+  <dt><a href="http://cern.ch/geant4/problemreport">Bug Reports and Fixes</a>
+  </dt>
+  <dd>Bugs reported and problem tracking system.
+          </dd>
+
+<!-- ***** FAQ ***** -->
+  <dt><a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/FAQ/html/index.html">
+       Frequently Asked  Questions</a> (FAQ)
+  </dt>
+  <dd>Frequently asked questions from users and answers to them.
+
+          </dd>
+</dl>
+    </td>
+  </tr>
+</table>
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   12/17/2007
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</body>
+
+</html>
Index: trunk/Documentation/geant4/support/windows_note.shtml
===================================================================
--- trunk/Documentation/geant4/support/windows_note.shtml	(revision 901)
+++ trunk/Documentation/geant4/support/windows_note.shtml	(revision 901)
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
+<TITLE>Geant4: Windows Installation Notes</TITLE>
+<LINK REL="shortcut icon" HREF="../images/g4.gif">
+<LINK REL="stylesheet" TYPE="text/css" HREF="../includes/geantstyle.css" />
+</HEAD>
+
+<BODY>
+
+<!-- stop index -->
+<table id="top" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td><a href="index.shtml">
+    <img alt="Geant4 Home" src="http://cern.ch/geant4/images/geanttiny.gif" width="164" height="40" /></a></td>
+    <td align="right" class="doNotPrint">
+    <a href="http://cern.ch/geant4/support/download.shtml">Download</a> 
+    | <a href="http://hypernews.slac.stanford.edu/HyperNews/geant4/cindex">User 
+    Forum</a> | <a href="http://cern.ch/geant4/gallery/index.html">
+    Gallery</a><br />
+    <a href="http://cern.ch/geant4/collaboration/contacts.shtml">
+    Contact Us</a><br />
+      <form method="get" action="http://www.cern.ch/cgi-bin/directory-search.pl">
+      <input type="hidden" value="No" name="SubSearch" />
+      <input type="hidden" value="url:wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/
+url:geant4.web.cern.ch/geant4/G4UsersDocuments/" name="AdditionalQuery" />
+      <input type="hidden" value="searchbrowse.html" name="TemplateFile" />
+      <input type="hidden" value="http://wwwinfo.cern.ch/asd/" name="Referer" />
+      <input type="hidden" value="cern" name="qc" />
+      <input type="hidden" value="cern" name="col" />
+      <input size="35" name="qt" />
+      <input type="submit" value="Search Geant4" />
+    </form>
+    </td>
+  </tr>
+</table>
+
+<!-- start index -->
+
+<TABLE border="0" cellpadding="4" cellspacing="0">
+  <TR>
+    <TD id="breadcrumb">
+    <!-- start bread crumb --><a href="../index.shtml">Home</a> &gt;
+                <A href="index.shtml">User Support</a> &gt;
+                Windows Installation Notes<!-- end bread crumb --></TD>
+  </TR>
+  <TR>
+    <TD id="main">
+    <!--start main page content -->
+    <H1>Windows CygWin installation notes</H1>
+<P>
+Some packages which come with recent installations of CygWin are, unfortunately,
+affected with bugs and do not allow for a proper development environment. We
+list in this page all known problems in the recent installations of CygWin we
+could identify, and suggested workarounds.<BR>
+We try to keep this page up to date as new problems are found.
+
+<UL>
+<LI>The version of <B><TT>make</TT></B> ("<TT>make --version</TT>" gives 3.81) in the
+    latest versions of CygWin does not handle the definition of file paths
+    properly and produces errors like the following:
+    <PRE>
+       -----------
+       common.gmk:36: *** target pattern contains no `%'.  Stop.
+
+       Starting build...
+
+       GNUmakefile:55: *** target pattern contains no `%'.  Stop.
+       -----------
+    </PRE>
+
+    Until a better solution is found or a new patched version of
+    <B><TT>make</TT></B> is provided in CygWin, please replace
+    <TT>make.exe</TT> with the old version of <B><TT>make</TT></B> (3.80)
+    that you can either download from
+    <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2">paracoda</a>
+    or download directly from the Geant4 web site by following the instructions
+    given here.
+    <BR>
+    Open a CygWin shell and give the following commands (NOTE: you need to have
+    <TT>wget</TT> installed in your CygWin installation!):
+    <PRE>
+       cd /usr/bin
+       mv make.exe make_381.exe
+       wget http://geant4.cern.ch/support/extras/cygwin/make.exe
+       chmod +x make.exe
+    </PRE>
+    </LI>
+<LI>The version of <B><TT>bash</TT></B> ("<TT>bash --version</TT>"
+    gives 3.2.25-16) which comes with the latest versions of CygWin is broken
+    and does not allow for proper sourcing of shell scripts (including also
+    the <TT>Configure</TT> script to be used for the Geant4 installation).
+    Therefore, if you adopt the <TT>bash</TT> shell (the default in CygWin)
+    in your CygWin session, you will most likely be exposed to errors.<BR>
+    Until a better solution is found or a new patched version of
+    <B><TT>bash</TT></B> is provided in CygWin, please replace
+    <TT>bash.exe</TT> with the old version of <B><TT>bash</TT></B> (3.1-6)
+    that you can either install from CygWin, by selecting the alternative
+    version provided instead of the default, either download it from
+    <a href="http://mirrors.xmission.com/cygwin/release/bash/bash-3.1-6.tar.bz2">xmission</a>,
+    or download directly from the Geant4 web site by following the instructions
+    given here.
+    <BR>
+    Open a CygWin shell and give the following commands (NOTE: you need to have
+    <TT>wget</TT> and <TT>tcsh</TT> installed in your CygWin installation!):
+    <PRE>
+       cd /usr/bin
+       tcsh
+       mv bash.exe bash_322516.exe
+       wget http://geant4.cern.ch/support/extras/cygwin/bash.exe
+       chmod +x bash.exe
+    </PRE>
+    <u>Restart from scratch your CygWin session</u>.<BR>
+    <PRE></PRE></LI>
+<LI>If you wish to build DLL libraries of Geant4, in order to have
+    <TT>make</TT> selecting the right instance of the command <TT>link.exe</TT>,
+    do the following from your CygWin prompt:
+    <PRE>
+       cd /usr/bin
+       mv link.exe cyglink.exe
+    </PRE></LI>
+</UL>
+Then, follow the usual installation instructions as reported in the
+installation manual.
+</P>
+
+<!--end main page content --></td>
+</tr>
+</table>
+
+<!-- start footer -->
+<div id="bottom">
+  <br/><br/>
+<a href="http://cern.ch/geant4/applications/index.shtml">Applications</a> | 
+<a href="http://cern.ch/geant4/support/index.shtml">User Support</a> |
+<a href="http://cern.ch/geant4/results/index.shtml">Results &amp; Publications</a> |
+<a href="http://cern.ch/geant4/collaboration/index.shtml">Collaboration</a> | 
+<a href="http://cern.ch/geant4/sitemap.shtml">Site Map</a><br />
+<p></p>
+<script type="text/javascript">
+<!--//
+var zap_domain = "cern.ch"
+var zap_user = "Gunter.Folger"
+var zap_recipient = zap_user + "@" + zap_domain
+var zap_url = "mailto:" + zap_recipient +"?subject=Feedback&body=My feedback concerns the page at: " + " " + escape(top.parent.location.href)
+document.write('<a href="' + zap_url + '" target=>Contact Webmaster</a>')
+//-->
+</script>
+
+
+  <div id="update">
+  <p>Last updated:
+  
+   04 Mar 2008
+  </p>
+  </div>
+</div>
+<!-- End footer -->
+
+</BODY>
+</HTML>
